Demo based on Android-2.3.7_r1 |
SAM9M10 MCU | SAM9G45 MCU | SAM9X5 MCU |
---|---|---|---|
Nand Boot | 9M10/Nand![]() ![]() |
9G45/Nand![]() ![]() |
9X5/Nand![]() ![]() |
SD Boot | 9M10/SD![]() ![]() |
9G45/SD![]() ![]() |
9X5/SD![]() ![]() |
SAM9M10 MCU | SAM9G45 MCU | SAM9X5 MCU | |
---|---|---|---|
Nandflash Booting | bootstrap-3.4-sam9m10-nandboot.bin![]() |
bootstrap-3.4-sam9g45-nandboot.bin![]() |
bootstrap-3.4-sam9x5-nandboot.bin![]() |
SD Card Booting | bootstrap-3.4-sam9m10-sdcardboot.bin![]() |
bootstrap-3.4-sam9g45-sdcardboot.bin![]() |
bootstrap-3.4-sam9x5-sdcardboot.bin![]() |
$ wget ftp://ftp.linux4sam.org/pub/Android4SAM/v2.1/patches/at91bootstrap-3.4.tar.gz
$ tar zxvf at91bootstrap-3.4.tar.gz && cd at91bootstrap-3.4
$ make mrproper && make at91sam9m10g45eksd_android_defconfig
make menuconfig
$ make CROSS_COMPILE=(path_to_cross-compiler/cross-compiler-prefix-)
$ make mrproper && make at91sam9x5edsd_android_defconfig .configStep 6 will be,
$ wget ftp://ftp.linux4sam.org/pub/Android4SAM/v2.1/patches/at91bootstrap-3.4.tar.gz
$ tar zxvf at91bootstrap-3.4.tar.gz && cd at91bootstrap-3.4
$ make mrproper && make at91sam9m10g45eknf_android_defconfig
$ make CROSS_COMPILE=(path_to_cross-compiler/cross-compiler-prefix-)
$ make mrproper && make at91sam9x5eknf_android_defconfigStep 5 will be,
GetAndroid |
BuildAndroid |
GenerateAndroidImage |
SAM9M10 MCU | SAM9G45 MCU | SAM9X5 MCU | |
---|---|---|---|
Nandflash Booting | linux-2.6.39-sam9m10-nf-uImage![]() |
linux-2.6.39-sam9g45-nf-uImage![]() |
linux-2.6.39-sam9x5-nf-uImage![]() |
SD Card Booting | linux-2.6.39-sam9m10-sd-uImage![]() |
linux-2.6.39-sam9g45-sd-uImage![]() |
linux-2.6.39-sam9x5-sd-uImage![]() |
Linux Kernel revision | Vanilla Linux Kernel | Atmel patch | Android kernel patch | Android4SAM patch |
---|---|---|---|---|
Linux 2.6.39 | linux-2.6.39.tar.bz2![]() |
2.6.39-at91-exp.tar.gz![]() |
linux-2.6.39.diff![]() |
linux-2.6.39_Android-2.3.7_r1.diff![]() |
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.39.tar.bz2 $ tar xvjf linux-2.6.39.tar.bz22. Download the ATMEL's patch and apply it
$ wget ftp://ftp.linux4sam.org/pub/Android4SAM/v2.1/patches/2.6.39-at91-exp.tar.gz $ tar zxvf 2.6.39-at91-exp.tar.gz $ cd linux-2.6.39 $ for i in ../2.6.39-at91-exp/*; do patch -p1 < $i; done $ cd ..3. Download the Android kernel patch and apply it
$ wget ftp://ftp.linux4sam.org/pub/Android4SAM/v2.1/patches/linux-2.6.39.diff $ cd linux-2.6.39 $ patch -p1 < ../linux-2.6.39.diff $ cd ..4. Download Android4SAM patch and apply it
$ wget ftp://ftp.linux4sam.org/pub/Android4SAM/v2.1/patches/linux-2.6.39_Android-2.3.7_r1.diff $ cd linux-2.6.39 $ patch -p1 < ../linux-2.6.39_Android-2.3.7_r1.diff $ cd ..You now have an Android4SAM Linux kernel.
$ cd linux-2.6.39 $ make mrproper1. For NAND Flash boot
mydroid/out/target/product/sam9m10/root (sam9m10 as an example)
directory to linux-2.6.39 directory or use prebuilt extract it directly sam9m10-root.tar.gz$ make ARCH=arm at91sam9g45_android_ubifs_defconfig
$ make ARCH=arm at91sam9m10_android_ubifs_defconfig
$ make ARCH=arm at91sam9x5_android_ubifs_defconfig
$ make ARCH=arm at91sam9g45_android_sdcard_defconfig
$ make ARCH=arm at91sam9m10_android_sdcard_defconfig
$ make ARCH=arm at91sam9x5_android_sdcard_defconfig
$ make ARCH=arm menuconfig4. And build the Linux kernel image
$ make uImage ARCH=arm CROSS_COMPILE=<path_to_cross-compiler/cross-compiler-prefix->After finish successfully, you can find kernel image in: arch/arm/boot/uImage
Copyright by the contributing authors. All material on the platform is the property of the contributing authors.
Android is a trademark of Google Inc. Use of this trademark is subject to Google Permissions
Atmel and others, are registered trademarks or trademarks of Atmel or its subsidiaries.
ARM and others are registered trademarks or trademarks or ARM Ltd. Other terms and product names may be trademarks of others.
Under the terms of the Creative Commons Attribution License