freescale i.mx23平台上移植android2.2(4)

第六章:其他链接
/AndroidPortingOnRealTarget

注,根据网友的实践,发现一些错误,现纠正如下:
    1,第二章:  编译kernel 2:使用android的toolchain进行linux的编译 对于不修改boot_stream的人来说有问题。
        正确步骤应该是
        a) 修改ltib配置成使用android的编译器
            1) ./ltib -m config ,修改Toolchain选项为Custom, 修改Enter the custom toolchain path为(/home/lancer/freescale/android/prebuilt/linux-x86/toolchain/arm- eabi-4.4.0),修改 Enter the toolchain prefix.为(arm-eabi-)。
            2) 去掉uboot支持,android上编译器编不过uboot
            3) 在Package Selection中去掉所有包。注意包括去掉boot_stream,因为android的arm-toolchain不能将它编译通过。
        b) ./ltib开始编译,最后在rootfs/boot下生成bootable_kernel, linux.config, System.map, uImage, vmlinux, zImage,此时内核即生成了,将被boot_stream使用。
        c) 配置boot stream。./ltib -m prep -p boot_stream.spec ,如果有错误是因为rpm/BUILD/下已经存在了imx-bootlets-src-10.05.02,将这个移除。
        d) cd rpm/BUILD; mv imx-bootlets-src-10.05.02 imx-bootlets-src-10.05.02-mx233; cd imx-bootlets-src-10.05.02-mx233; 文件夹改名目的是防止以后不小心被ltib删除。
        e) 编译boot stream。因为android的arm-toolchain不能编译,所以我们使用ltib自带的4.1.2的编译器编译boot- stream。
            1) 设置编译环境
                export PATH=$PATH:/opt/freescale/usr/local/gcc-4.1.2-glibc-2.5-nptl-3/arm-none-linux-gnueabi/bin:/opt/freescale/ltib/usr/bin
                export CROSS_COMPILE=arm-none-linux-gnueabi-
            2) 将zImage从rootfs/boot拷贝到imx-bootlets-src-10.05.02-mx233 下
                cp ../../../rootfs/boot/zImage .
            3) 开始编译
                make
            4) 虽然错误退出,但原因是我们没有编译uboot。仍然可以看到本目录出现imx23_linux.sb。这就是我们所需要的。
        d) 到这一步之后,默认的内核已经生成了。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwxxys.html