1.安装UBUNTU操作系统
具体如何安装呢?请参考http://www.linuxidc.com/Linux/2010-04/25829.htm
2.安装编译器
如果是Ubuntu Linux (32-bit x86) :
$ 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
如果是Ubuntu Linux (64-bit x86) :
$ sudo apt-get install git-core gnupg flex bison gperf build-essential zip curl sun-java6-jdk
zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev ia32-libs
x11proto-core-dev libx11-dev lib32readline5-dev lib32z-dev
配置JAVA编译环境(方法自己上网查询)
编译器安装可参考下面网页:
http://openlinux.amlogic.com/wiki/index.php/Arm/Android
http://source.android.com/source/download.html
3 编译ROOTFS
$ cd ~/mydroid
$ source build/envsetup.sh
$ lunch
选择12 (c03ref-user)
$ make
4 编译KERNEL
从下面地址下载GNU TOOLCHAIN
http://openlinux.amlogic.com/download/linux/ARM/gnutools/arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-li
nux-gnu.tar.bz2
安装交叉编译器
$ cd /opt
$ sudo tar jxvf arm-2010q1-202-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
配置交叉编译器
$ cd kernel
$ gedit env.sh
修改路径
export CROSS_COMPILE=/opt/arm-2010q1/bin/arm-none-linux-gnueabi-
$ . env.sh
编译uImage
选择板子对应的kernel 配置文件:
$ make help
如原理图为MBX 版本
选择meson_refc03_defconfig
$ make meson_refc03_defconfig
$ make menuconfig
enable General setup->Initial RAM filesystem and RAM disk
set "Initramfs source file" to root dir(../out/target/product/c03ef/root)
$ make uImage
$ cp ./arch/arm/boot/uImage ../out/target/product/c03ref/
编译uImage_recovery
选择recovery 的kernel配置
$ make help
选择meson_refc03_recovery_defconfig
$ make meson_refc03_recovery_defconfig
$ make menuconfig
set General setup->"Initramfs source file" to recovery root dir
(../out/target/product/c03ref/recovery/root)
$ make uImage
$ cp ./arch/arm/boot/uImage ../out/target/product/c03ref/uImage_recovery
5 编译update.zip 升级包文件
$ cd ~/mydroid
$source build/envsetup.sh
$ lunch
选择12 (c03ref-user)
$ make otapackage
6 编译uboot
选择uboot 路径
选择板子对应的uboot 配置
$ make help
如果原理图对应的是MBX 版本,选择:
$make m1_dvbc_config
$make
即可得到编译的uboot 文件(文件夹build 目录下的u-boot-aml-ucl.bin文件)
7 制作烧录SPI 的SPI.BIN 文件。
首先制作uImage_recovery 文件,
为保证SPI.BIN 文件只有2Mbyte ,首先将前面编译rootfs生成的下面文件删除:
out\target\product\m1ref\recovery\root\boot\mali.ko
out\target\product\m1ref\recovery\root\boot\ump.ko
\out\target\product\m1ref\recovery\root\sbin\ busybox
另外,recovery 界面遥控器配置需修改下面文件:
\out\target\product\c03ref\recovery\root\etc\remote.conf
选择recovery 的kernel配置
$ make help
如原理图为MBX 版本
选择meson_refc03_recovery_defconfig
$ make meson_refc03_recovery_defconfig
$ make menuconfig
set General setup->"Initramfs source file" to recovery root dir
(../out/target/product/c03ref/recovery/root)
$ make uImage
$ cp ./arch/arm/boot/uImage ../out/target/product/c03ref/spi_bin/uImage_recovery
将编译生成的uImage_recovery 以及u-boot-aml-ucl.bin文件放到SPI_BIN 文件夹, makespi.sh合成
SPI.BIN 文件。
$makespi.sh u-boot-aml-ucl.bin defaultargs.txt uImage_recovery
即可生成SPI.BIN 文件。
8 烧录SPI 和升级
将SPI.BIN 文件烧录到SPI flash 中,将生成的update.zip文件放到U 盘根目录,插入U 盘,将板子上面
的ADC_KEY 脚拉低,给板子上电即可进入recovery 升级界面。