Android 4.0 Source Code To Be Released When Galaxy Nexus Ships

Google never opened Android 3.0 (Honeycomb) source code. It was probably because this OS was only meant to be used with tablets and they feared people would try to use it on smartphone. The good news is that Android 4.0 (ICS) source code will be made available once the Galaxy Nexus ships. Although I’m not sure what license will be used with Android 4.0, that follows exactly the GPL license requirements since you don’t need to release the source code if you don’t provide the binaries. See Jean-Baptiste Queru (Android Open Source Project ) announcement at https://plus.google.com/112218872649456413744/posts/HB5qQHeNKBQ. In the meantime, the GPL source files that match the Android 4.0 / r14 SDK have been made available: Kernel: https://dl.google.com/dl/android/gpl/android-gpl-kernel-sdk-4.0.1_r1.tgz Platform: https://dl.google.com/dl/android/gpl/android-gpl-platform-sdk-arm-4.0.1_r1.tgz Dev Tools: https://dl.google.com/dl/android/gpl/android-gpl-tools_r14.tgz Extra: https://dl.google.com/dl/android/gpl/android-extra-4.0.1-r14.tgz Like the Android did for all Honeycomb release, this is NOT the full source tree for Android 4.0 (ICS), these are only the GPL parts […]

Leveraging Android’s Linux Heritage at Android Open 2011

The first Android Open Conference took place about 10 days ago. Karim Yaghmour of OperSys published the presentation slides he used during his Android presentations. See Leveraging Android’s Linux Heritage presentation slides below which explain how to use existing Linux application in Android. Those 15 slides cover the following: Goal Rationale Stack Comparison Roadblocks Where do I start? Coexistence Approaches Unresolved / Uncharted Demo You can also check out the Embedded Android Workshop presentation. Jean-Luc Aufranc (CNXSoft)Jean-Luc started CNX Software in 2010 as a part-time endeavor, before quitting his job as a software engineering manager, and starting to write daily news, and reviews full time later in 2011. www.cnx-software.com

Embedded Android Workshop at Android Open 2011

The first Android Open Conference took place about 10 days ago. Karim Yaghmour of OperSys published the presentation slides he used during his Android presentations. See Embedded Android Workshop presentation slides below. Those 159 slides cover the following: Android Basics Android History Android Ecosystem Legal Framework for Android Platform and Hardware requirements Development Tools Concepts and Internals: Android Concepts Framework Intro Native Development Overall Architecture System startup Linux Kernel Hardware Support Native User-Space Dalvik JNI System Server Calling on Services Activity Manager Binder Stock AOSP Apps Android Open Source Projects Tools and location Content Building Build system Adding new applications Images Using adb System Server Services run by System Server Observing the System Server Calling on system services Inside a few system services Creating your own system service Hardware Abstraction Layer Android Framework Location and components Android Customization Custom Toolchains and Dev Kits Rationale SDK generation NDK generation Creating a […]

Raspberry Pi Emulator in Ubuntu with Qemu

The Raspberry Pi board is a low cost board based on Broadcom BCM2835 media processor SoC with an ARM1176JZF-S core clocked at 700MHz. This board is currently under development and should be ready by end of November, beginning of December and will be sold for 25 USD (128MB RAM – no Ethernet) and 35 USD (256MB RAM – Ethernet). While we are waiting for the board, we can still test software using qemu to emulate a board based on an ARM1176 core with 128MB or 256 MB memory. I’ve tried to create a rootfs based on Ubuntu with rootstock but this only support processors with ARM cortex A8 and greater, so it would not work with ARM11. I’ll be using Debian Squeeze instead. Prerequisites My host computer is running Ubuntu 10.04.3 LTS, but any recent Ubuntu or Debian installation should work with these instructions. [Update: You won’t be able to […]

Archos G9 GPL Source Code

Archos has released the GPL source code for the Archos G9 Tablets on their Gitorious account. This is obviously the same source code for Archos 80 G9 and Archos 101 G9. There are two git repositories for the G9: archos-gpl-gen9 – Archos generation 9 GPL release archos-gpl-gen9-kernel – Archos generation 9 GPL linux kernel 2.6 release The GPL “userspace” source code is divided into 4 directories: buildroot – Buildroot to generate a cross-compilation toolchain, a root filesystem, a kernel image and a bootloader image. hardware – Direcotory containing hardware related source: WL1283 “Wlan” Driver (WiLink 7.0 single-chip WLAN, GPS, Bluetooth and FM solution) packages: libf2m – Library to convert flash videos (FLV) to AVI, MOV or MP4 libmms – Library for streaming video/audio with mmst / mmsh protocols external- Utilities and libraries (Bold indicates external sw not released/used with Archos G8 Source Code) alsa-lib – Audio library alsa-utils – Audio […]

How to Write and Submit a Linux Kernel Patch

Greg Kroah-Hartman has a very good tutorial about writing and submitting a patch to the Linux kernel. The video is over 1 year old but this is still relevant. The materials for this tutorial are available via git: git clone git://github.com/gregkh/kernel-tutorial.git Alternatively, you can also download a copy of the presentation slides. The actual presentation is divided into 6 parts: git basics (git branch, git clone…) Kernel coding style (Details can be found in Documentation/CodingStyle) Fixing a file (with scripts/checkpatch.pl scripts) Generating a patch (with git -diff) Email the patch (with scripts/get_maintainer.pl and git send-email) Q&A If you want to skip the git basics and kernel coding style parts (although I don’t recommend it), fast forward to 13:33. All patches by in the linux kernel are checked by at least 2 persons. Before submitting a patch, you’ll have to make sure of the following (Checklist): Kernel builds with patch applied […]

Yocto Project: Build Your Own Custom Embedded Kernel Image

The Yocto Project is an open source collaboration project that provides templates, tools and methods to help you create custom Linux-based systems for embedded products regardless of the hardware architecture. The first official release (Yocto Project 1.0) has been made available on the 6th of April 2011. Yocto Project Overview See this short video presentation of the Yocto Project which explains its goals. It’s a complete embedded Linux development environment with tools, metadata, and documentation – everything you need such as emulation environments, debuggers, an Application Toolkit Generator, etc… It is not a new build system however such as buildroot, instead it relies on the Poky build tools that provide an open source development environment targeting the ARM, MIPS, PowerPC and x86 architectures. Here’s what the Yocto Project provides: A recent Linux kernel along with a set of system commands and libraries suitable for the embedded environment. System components such […]

Embedded Linux Quick Start / Tutorial Videos

Free Electrons recorded some videos from the Embedded Linux Conference Europe, in Cambrigde, United Kingdom on October 2010 by Chris Simmonds, the founder of 2net Limited, a UK company providing training, consultancy and custom software for Linux and other embedded platforms. The videos can either be downloaded in webm HD format at http://free-electrons.com/blog/elce-2010-tutorial-videos/ or you can watch them in HD format below. The PDF slides for the three parts and the lab notes are available at http://elinux.org/images/c/cc/Linux-quick-start.tar.gz The first video (53 minutes) deals with the following key points: Genesis of a Linux project The four elements: Tool chain; boot loader; kernel; user space Element 1: Tool chain Element 2: Boot loader The second video (1h19m) focuses on: Third element: Kernel Fourth element: User space The last video (1h07m) is more practical as it shows how to use embedded Linux on an NXP LPC3250 Stick (ARM9): Description of the hardware Installing […]

EmbeddedTS embedded systems design