|
EASYARM-IMX283 编译uboot和uImage |
|
|
EASYARM-IMX283编译uboot和uImage本文是按照IMX283配套光盘的流程重新编译uboot和uImage将光盘中的gc c-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2解压缩到系统某个 文件夹下(我解压缩到/home/host/soft下)然后~/.bashrc添加一行:exportPATH=$PATH:/hom e/host/soft/gcc-4.4.4-glibc-2.11.1-multilib-1.0/arm-fsl-linux-gnu eabi/bin/然后重新打开bash,执行下面的命令:host@debian:~/nfs/imx283$arm-fsl-lin ux-gnueabi-gcc-vUsingbuilt-inspecs.Target:arm-fsl-linux-gnuea biConfiguredwith:/work/arm-toolchains/tmp/src/gcc-4.4.4/configu re--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-pkgversi on=4.4.4_09.06.2010--enable-__cxa_atexit--disable-libmudflap-- with-host-libstdcxx=''-static-libgcc-Wl,-Bstatic,-lstdc++,-Bdynam ic-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--enabl e-target-optspace--with-local-prefix=/work/arm_fsl_gcc_4.4.4_mul tilib/arm-fsl-linux-gnueabi/multi-libs--disable-nls--enable-sym vers=gnu--enable-c99--enable-long-long--enable-multilib--with -system-zlib--enable-ltoThreadmodel:posixgccversion4.4.4(4. 4.4_09.06.2010)如果提示错误,那么说明路径配置有误,需要重新将其配置好。?解压bootloader.tar.bz2 ,生成两个文件夹:mx-bootlets-src-10.12.01u-boot-2009.08uboot需要分别编译这两个文件夹 ,最后才能生成需要的uboot。?进入?U-Boot-2009.08目录,进行清理、配置和编译:$cdBootLoader/ U-Boot-2009.08$makeARCH=armCROSS_COMPILE=arm-fsl-linux-gnueab i-distclean$makeARCH=armCROSS_COMPILE=arm-fsl-linux-gnueabi- mx28_evk_config$makeARCH=armCROSS_COMPILE=arm-fsl-linux-gnueab i-将uboot拷贝到mx-bootlets-src-10.12.01下,$cpu-boot../imx-bootlets- src-10.12.01/$cd../imx-bootlets-src-10.12.01/$./build生成的imx28_ ivt_uboot.sb即为所需要的uboot文件。?下面编译linux内核。解压linux-2.6.35.3.tar.bz2:t arxflinux-2.6.35.3.tar.bz2然后进行配置和编译:$makeARCH=armEasyARM-iMX 283_defconfig$makeuImage生成的uImage即为需要的内核文件。然后可以用新编译出的内核重新引导系统,系 统运行一切正常,与原版内核的输出信息完全一致。?另外也可以用makezImage生成zImage,然后再用imx-bootlet s-src-10.12.01下的build工具来生成imx28_ivt_linux.sb。这样生成的内核文件可以不需要uboot支持即可重新启动。?这样就完成了对uboot和linux内核的编译,有兴趣的可以添加其他功能,相信会更有趣。 |
|
|
|
|
|
|
|
|
|
|