beagleboard-xm 移植android2.3

来源:互联网 发布:二小姐脸型数据 南风 编辑:程序博客网 时间:2024/05/22 03:13

1.For Ubuntu on 32-bit machines

  $ sudo add-apt-repository "deb http://archive.canonical.com/ lucid partner"  $ sudo add-apt-repository "deb-src http://archive.canonical.com/ubuntu lucid partner"  $ sudo apt-get update  $ sudo apt-get install git-core gnupg sun-java6-jdk flex bison gperf libsdl-dev libesd0-dev libwxgtk2.6-dev build-essential zip curl libncurses5-dev zlib1g-dev minicom tftpd uboot-mkimage expect  $ sudo update-java-alternatives -s java-6-sun
NOTE: Android Gingerbread (2.3) needs Java 6 on ubuntu, whereas the previous version FroYo (2.2) was using Java 5. 

$sudo update-alternatives --config java(查看并更换java版本信息)

2.下载android源码包

  $ mkdir rowboat-android  $ cd rowboat-android  $ Download the pre-packaged repo from http://software-dl.ti.com/dsps/dsps_public_sw/sdo_tii/TI_Android_DevKit/TI_Android_GingerBread_2_3_DevKit_1_0/index_FDS.html  $ tar -xvzf TI_Android_GingerBread_2_3_Sources.tar.gz  $ cd TI_Android_GingerBread_2_3_Sources  $ ./.repo/repo/repo sync --local-only

3.建交叉编译环境

TI_Android_GingerBread_2_3_Sources/$ export PATH=~/rowboat-android/prebuilt/linux-x86/toolchain/arm-eabi-4.3.1/bin:$PATH

4.To build x-loader

$ cd x-load-omap3

  $ make CROSS_COMPILE=arm-eabi- distclean  $ make CROSS_COMPILE=arm-eabi- omap3beagle_config  $ make CROSS_COMPILE=arm-eabi-


To create the MLO file used for booting from a MMC/SD card, sign the x-loader image using the signGP tool found in the Tools/signGP directory of the Devkit.

  $ ./signGP ./x-load.bin$ mv x-load.bin.ift MLO

5.To build boot loader (u-boot)

$ cd u-boot-omap3
  $ make CROSS_COMPILE=arm-eabi- distclean  $ make CROSS_COMPILE=arm-eabi- omap3_beagle_config  $ make CROSS_COMPILE=arm-eabi- 
NOTE: Copy the "mkimage" from "Tools" folder to ~/usr/bin folder on your host machine, this is needed for kernel uImage generation$  sudo cp mc/Tools/mk-bootscr/mkimage /usr/bin

6.To build kernel

$ cd kernel
  $ make ARCH=arm CROSS_COMPILE=arm-eabi- distclean  $ make ARCH=arm CROSS_COMPILE=arm-eabi- omap3_beagle_android_defconfig  $ make ARCH=arm CROSS_COMPILE=arm-eabi- uImage 

This will generate uImage (kernel image) in kernel/arch/arm/boot folder

7.To build Android filesystem

$ make TARGET_PRODUCT=beagle OMAPES=5.x -j4
$ cd out/target/product/omap3evm
$ mkdir android_rootfs
$ cp -r root/* android_rootfs 
$ cp -r system android_rootfs$ sudo ../../../../build/tools/mktarball.sh ../../../host/linux-x86/bin/fs_get_stats android_rootfs . rootfs rootfs.tar.bz2

8.To generate SD/MMC card to boot Android

$ ./mkbootscr
  $ mkdir image_folder  $ cp kernel/arch/arm/boot/uImage image_folder  $ cp u-boot-omap3/u-boot.bin image_folder  $ cp x-loader-omap3/MLO image_folder  $ cp Tools/mk-bootscr/boot.scr image_folder  $ cp out/target/product/omap3beagle/rootfs.tar.bz2 image_folder  $ cp media_clips image_folder
  $ cp Tools/mk-mmc/mkmmc-android.sh image_folder  $ ./mkmmc-android.sh /dev/sdb MLO u-boot.bin uImage boot.scr rootfs.tar.bz2 Media_Clips