码迷,mamicode.com
首页 > 其他好文 > 详细

EASYARM-IMX283 编译uboot和uImage

时间:2014-05-26 21:05:45      阅读:957      评论:0      收藏:0      [点我收藏+]

标签:style   c   class   blog   code   java   

本文是按照IMX283配套光盘的流程重新编译uboot和uImage将光盘中的gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2 解压缩到系统某个文件夹下(我解压缩到/home/host/soft下)

然后~/.bashrc添加一行:

bubuko.com,布布扣
export PATH=$PATH:/home/host/soft/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnueabi/bin/
bubuko.com,布布扣

然后重新打开bash,执行下面的命令:

bubuko.com,布布扣
host@debian:~/nfs/imx283$ arm-fsl-linux-gnueabi-gcc -v
Using built-in specs.
Target: arm-fsl-linux-gnueabi
Configured with: /work/arm-toolchains/tmp/src/gcc-4.4.4/configure --build=i686-build_pc-linux-gnu --host=i686-build_pc-linux-gnu --target=arm-fsl-linux-gnueabi --prefix=/work/arm_fsl_gcc_4.4.4_multilib --with-sysroot=/work/arm_fsl_gcc_4.4.4_multilib/arm-fsl-linux-gnueabi/multi-libs --enable-languages=c,c++ --with-pkgversion=4.4.4_09.06.2010 --enable-__cxa_atexit --disable-libmudflap --with-host-libstdcxx=-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm --with-gmp=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-mpfr=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-ppl=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --with-cloog=/work/arm-toolchains/tmp/arm-fsl-linux-gnueabi/build/static --enable-threads=posix --enable-target-optspace --with-local-prefix=/work/arm_fsl_gcc_4.4.4_multilib/arm-fsl-linux-gnueabi/multi-libs --disable-nls --enable-symvers=gnu --enable-c99 --enable-long-long --enable-multilib --with-system-zlib --enable-lto
Thread model: posix
gcc version 4.4.4 (4.4.4_09.06.2010) 
bubuko.com,布布扣

如果提示错误,那么说明路径配置有误,需要重新将其配置好。

 

解压bootloader.tar.bz2,生成两个文件夹:

bubuko.com,布布扣
mx-bootlets-src-10.12.01  u-boot-2009.08
bubuko.com,布布扣

uboot需要分别编译这两个文件夹,最后才能生成需要的uboot。

 

进入 U-Boot-2009.08目录,进行清理、配置和编译:

bubuko.com,布布扣
$ cd Boot Loader/ U-Boot-2009.08
$ make ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- distclean $ make ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi- mx28_evk_config
$ make ARCH=arm CROSS_COMPILE=arm-fsl-linux-gnueabi-
bubuko.com,布布扣

将uboot拷贝到mx-bootlets-src-10.12.01下,

bubuko.com,布布扣
$ cp u-boot ../imx-bootlets-src-10.12.01/
$ cd ../imx-bootlets-src-10.12.01/
$ ./build
bubuko.com,布布扣

生成的imx28_ivt_uboot.sb即为所需要的uboot文件。

 

下面编译linux内核。

解压linux-2.6.35.3.tar.bz2:

bubuko.com,布布扣
tar xf linux-2.6.35.3.tar.bz2
bubuko.com,布布扣

然后进行配置和编译:

bubuko.com,布布扣
$ make ARCH=arm EasyARM-iMX283_defconfig
$ make uImage
bubuko.com,布布扣

生成的uImage即为需要的内核文件。

然后可以用新编译出的内核重新引导系统,系统运行一切正常,与原版内核的输出信息完全一致。

 

另外也可以用make zImage生成zImage,然后再用imx-bootlets-src-10.12.01下的build工具来生成imx28_ivt_linux.sb。

这样生成的内核文件可以不需要uboot支持即可重新启动。

 

这样就完成了对uboot和linux内核的编译,有兴趣的可以添加其他功能,相信会更有趣。

EASYARM-IMX283 编译uboot和uImage,布布扣,bubuko.com

EASYARM-IMX283 编译uboot和uImage

标签:style   c   class   blog   code   java   

原文地址:http://www.cnblogs.com/qiaoqiao2003/p/3745976.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!