EASYARM-IMX283 编译uboot和uImage
本文是按照IMX283配套光盘的流程重新编译uboot和uImage将光盘中的gcc-4.4.4-glibc-2.11.1-multilib-1.0_EasyARM-iMX283.tar.bz2 解压缩到系统某个文件夹下(我解压缩到/home/host/soft下)
然后~/.bashrc添加一行:
export PATH=$PATH:/home/host/soft/gcc-4.4.-glibc-2.11.-multilib-1.0/arm-fsl-linux-gnueabi/bin/
然后重新打开bash,执行下面的命令:
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./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_multilib --with-sysroot=/work/arm_fsl_gcc_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_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_09.06.2010)
如果提示错误,那么说明路径配置有误,需要重新将其配置好。
解压bootloader.tar.bz2,生成两个文件夹:
mx-bootlets-src-10.12. u-boot-2009.08
uboot需要分别编译这两个文件夹,最后才能生成需要的uboot。
进入 U-Boot-2009.08目录,进行清理、配置和编译:
$ 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-
将uboot拷贝到mx-bootlets-src-10.12.01下,
$ cp u-boot ../imx-bootlets-src-10.12./
$ cd ../imx-bootlets-src-10.12.01/
$ ./build
生成的imx28_ivt_uboot.sb即为所需要的uboot文件。
下面编译linux内核。
解压linux-2.6.35.3.tar.bz2:
tar xf linux-2.6.35.3.tar.bz2
然后进行配置和编译:
$ make ARCH=arm EasyARM-iMX283_defconfig
$ make uImage
生成的uImage即为需要的内核文件。
然后可以用新编译出的内核重新引导系统,系统运行一切正常,与原版内核的输出信息完全一致。
另外也可以用make zImage生成zImage,然后再用imx-bootlets-src-10.12.01下的build工具来生成imx28_ivt_linux.sb。
这样生成的内核文件可以不需要uboot支持即可重新启动。
这样就完成了对uboot和linux内核的编译,有兴趣的可以添加其他功能,相信会更有趣。
EASYARM-IMX283 编译uboot和uImage的更多相关文章
- 编译Uboot——错误记录
		我使用的是ZLG的EasyARM i.MX280A的开发板.官方提供的编译器时arm-fsl-linux-gnueabihf(gcc 4.4.4).自己尝试使用arm-linaro-linux-gnu ... 
- debian下为stm32f429i-discovery编译uboot
		交叉编译器:arm-uclinuxeabi-2010q1 交叉编译器下载下来后解压,然后将其中bin文件夹路径加入到PATH变量中. 先下载uboot和linux源码: git clone https ... 
- debian下使用ft232为stm32f429i-discovery烧写uboot和uImage
		操作系统:debian 软件: openocd minicom 硬件: MiniUSB线.stm32f429i-discovery, WaveShare FT232串口模块(可以在淘宝上买到) 关 ... 
- Easy-ARM IMX283 移植RTL8192CU驱动
		测试平台 宿主机平台:Ubuntu 12.04.4 LTS 目标机:Easy-ARM IMX283 目标机内核:Linux 2.6.35.3 无线网卡驱动下载地址:http://www.comfast ... 
- hi3531 SDK 编译 uboot, 改动PHY地址, 改动 uboot 參数 .
		一,编译uboot SDK文档写得比較清楚了,写一下须要注意的地方吧. 1. 之前用SDK里和别人给的已经编译好的uboot,使用fastboot工具都刷不到板子上.最后自己用SDK里uboot源代码 ... 
- 编译u-boot命令和u-boot常用命令
		一.编译u-boot命令 1.配置开发板 #make TQ2440_config 2.编译 #make all 3.交叉编译器是crosstools_3.4.5_softfloat” 使用4.3.3版 ... 
- 编译uboot提示libasm-offsets.c10 error bad value (armv5)解决方法
		编译uboot-2016.09提示如下错误: lib/asm-offsets.c:1:0: error: bad value (armv5) for -march= switch 解决方法: 1.在命 ... 
- 编译Uboot时提示error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
		在Ubuntu14.04 64位系统中已经安装了libc6:i386的库,编译Uboot时提示error while loading shared libraries: libz.so.1: cann ... 
- hi3531 SDK 编译 uboot, 修改PHY地址, 修改 uboot 参数 .
		一,编译uboot SDK文档写得比较清楚了,写一下需要注意的地方吧. 1. 之前用SDK里和别人给的已经编译好的uboot,使用fastboot工具都刷不到板子上.最后自己用SDK里uboot源码编 ... 
随机推荐
- 基于maven+dubbo+spring+zookeeper的简单项目搭建
			maven下搭建dubbo小demo,供初学者学习,有不正确地方还请见谅. 先推荐一篇创建maven项目的文章,个人认为比较完整详细清楚: http://www.cnblogs.com/leiOOle ... 
- [Django]中建立数据库视图
			Django中建立数据库视图 Django中没有建立视图的接口.假设要建立一个视图须要一些手动的改变. 这里使用的Django 版本号>1.5, 使用的数据库为mysql 第一步 建立视图,比如 ... 
- "贪心法"
			有没有想过 “==” 和“= =” 的区别 , 万一编译器曲解了你的意思,那不是爽歪歪! C语言编译器会把前面的符号当做一个整体,后面的不再. 当我们遇到指针相除时: y=x/*p 编译器会怎样? 和 ... 
- 【SharePoint】SharePoint 2013 使用PreSaveAction自定义客户端验证
			使用PreSaveAction函数实现客户端自定义验证. 例:[项目编号]为空时,必须填写[责任者]项.(其中[项目编号]为单行文本框,[责任者]为用户/组选择框.) function PreSave ... 
- excel导出   jxl.jar包
			导入jxl.jar包, 代码如下: package com.gree; import java.io.IOException; import java.io.OutputStream; import ... 
- Activity 事件以及如何得到新打开Activity关闭后返回的数据
			1: package com.example.activity_basic; 2: 3: import android.os.Bundle; 4: import android.app.Activ ... 
- 设计模式之Protocol实现代理模式
			使用场合 使用步骤 不使用protocol实现代理 使用protocol实现代理 一.使用场合 A想让B帮忙,就让B代理 A想通知B发生了一些事情,或者传一些数据给B 观察者模式 二.使用步骤 定义一 ... 
- Time倒计时
			commitTimeDate = new Date("2016/11/9 10:02:40").getTime() + 24*60*60*1000;//截止时间 myDate = ... 
- C#命名空间大全详细教程
			www.51rgb.com System 命名空间包含了定义数据类型.事件和事件处理程序等基本类: System.Data 命名空间包含了提供数据访问功能的命名空间和类: System.IO 命名空间 ... 
- 单点登录系统cas资料汇总
			http://jasig.github.io/cas/4.0.x/index.html 主页 https://jasigcas.herokuapp.com ... 
