uImage生成过程
来源:互联网 发布:外婆的澎湖湾 知乎 编辑:程序博客网 时间:2024/05/24 23:16
转自:http://blog.csdn.net/voice_shen/article/details/6559752
当编译linux的时候,运行make uImage,如果一切正常,最后会生成uImage。
如下具体讲解uImage生成过程:
1. 生成uImag的工具mkimage由arch/arm/boot/Makefile中的MKIMAGE定义.
Linux commit: e33936451 已经将此代码移到:<scripts/Makefile.lib>.
mkuboot.sh的作用是去找到是否存在"mkimage",此工具是用来生成最后的uImage。
mkuboot.sh 首先检查toolchain是否拥有mkimage (使用-z来判空),如果没有,再检查系统中是否拥有mkimage;如果没有则报错。
注:其中使用type命令来查找。
type: Display information about command type (type [-afptP] name [name ...])
==> # type mkimage
==> mkimage is /usr/bin/mkimage
然后调用:mkimage $@
2. 从makefile.boot中传入生成uImage的相关参数(e.g: arm/arm/mach-at91/Makefile.boot)
3. 通过mkimage来生成uImage,其过程是加上0x40 bytes 的kernel头 on zImage.
Linux commit: e33936451 已经进行如下实现:
老版本如下:mkimage的参数如下:
Load address 由下面代码获得
start address 由下面代码获得
由zImage 生成uImage:
注:zImage的生成过程:http://blog.csdn.net/voice_shen/article/details/17713441
也可以自行用mkimage来生成uImage,
mkimage -A arm -O linux -T kernel -C none -a <load_addr> -e <entry_addr> -n <name> -d zImage uImage
e.g : mkimage -A arm -O linux -T kernel -C none -a 0x70008000 -e 0x70008000 -n linux-2.6.30 -d zImage uImage
其中:0x8000这32K 空间是:Note that the kernel uses 16K of RAM below the image to store page tables. The recommended placement is 32KiB into RAM. (来自Documentation/arm/booting文件)
- make uImage(uImage生成过程)
- make uImage-uImage生成过程
- uImage生成过程
- uImage生成过程
- uImage生成过程
- uImage生成过程
- uImage生成过程
- linux uImage/zImage生成过程
- 生成uImage
- 生成uImage
- zimage 生成uimage
- zImage生成uImage
- 由zImage生成uImage
- 如何生成uimage
- 内核编译直接生成uImage----make uImage
- make uImage不能生成uImage解决方法
- uImage
- uImage
- Linux_04 权限管理
- Androidpn里的Xmpp的理解
- 记录百度地图接入的方法
- PI表中新增字段
- Hadoop实践(二)---集群和开发环境搭建(Intellij IDEA & Maven 开发Hadoop)
- uImage生成过程
- 洛谷P1003 铺地毯(简单模拟)
- String类学习笔记(1)
- [NOI2014]魔法森林 二分答案
- 自动生成mybatis的XML文件
- react native点击事件传递参数
- Android线程—ThreadLocal
- ztree的初级使用
- 【Java实战】源码解析Java SPI(Service Provider Interface )机制原理