uImage的制作过程详解
创始人
2024-03-17 21:20:09
0

1、uImage镜像介绍

参考博客:《vmlinuz/vmlinux、Image、zImage与uImage的区别》;

2、uImage镜像的制作

2.1、mkimage工具介绍

参考博客:《uImage的制作工具mkimage详解(源码编译、使用方法、添加的头解析、uImage的制作)》;

2.2、内核源码中编译uImage

//下面是摘抄的内核编译uImage的打印
······
/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-mkimage -A arm -O linux -T kernel -C none -a 0x30008000 -e 0x30008000 -n Linux-2.6.35.7 -d arch/arm/boot/zImage arch/arm/boot/uImage
Image Name:   Linux-2.6.35.7
Created:      Sun Dec  4 20:31:24 2022
Image Type:   ARM Linux Kernel Image (uncompressed)
Data Size:    3722092 Bytes = 3634.86 kB = 3.55 MB
Load Address: 30008000
Entry Point:  30008000Image arch/arm/boot/uImage is ready

(1)mkimage可以使用uboot下的工具,有的编译链有自带了mkimage工具,两者都是可以的;
(2)内核源码中能够编译uImage,执行编译指令:make uImage;
(3)编译uImage的脚步是kernel/scripts/mkuboot.sh,会被主Makefile调用;

3、uImage和zImage的比较

在这里插入图片描述

(1)uImage比zImage多64字节的头,这是mkimage工具添加上去的,上面的64字节的头信息需要结合image_header_t结构体和生成uImage时调用mkimage的参数进行解读(调用mkimage的参数请看2.2节中摘抄的打印);
(2)1-4字节:0x27051956是mkimage添加64字节头的魔数,是固定不变的;
(3)17-20字节:0x30008000是内核镜像的内存加载地址;
(4)21-24字节:0x30008000是内核镜像的入口地址;
(5)33-64字节:是镜像的名字,在上面的内核镜像是"Linux-2.6.35.7",表示内核的版本;

推荐

给大家推荐一个学校嵌入式知识的网站,博主在大学时候学习嵌入式知识、找工作的时候都在用这个网站,网站里有C语言、Linux等等的笔试题、面试常问问题等等知识,无论是学习基础知识、面试刷题、交流工作经验都是不错的选择。大家一起进步,欢迎留言交流。
链接:学习神器跳转
在这里插入图片描述
在这里插入图片描述

相关内容

热门资讯

成都一酒店股东因经济纠纷割断天... 封面新闻记者 叶海燕 12月25日,成都一酒店员工田先生向封面新闻反映,因酒店股东间存在经济纠纷,外...
科技部:开展创新积分制政策实施... 据科技部官网12月26日消息,科技部办公厅发布关于开展创新积分制“揭榜挂帅”的通知,借鉴科技计划“揭...
日照中院通报2025年度道交纠... 齐鲁晚报·齐鲁壹点 徐艳 12月25日,日照中院召开全市法院2025年度道交纠纷多元化解工作情况通报...
国家卫健委:“十四五”以来全国... 12月26日,国家卫生健康委召开新闻发布会,介绍2025年全系统为民服务八件实事有关情况。国家卫生健...
“一杯青茶Talk Show”... 近日,团濉溪县委在濉溪古城石板街“街西青年”举办“一杯青茶Talk Show”活动,聚焦婚姻家庭等日...
成都调整烟花爆竹燃放管理政策 据新华社消息,12月26日,成都8县市陆续发布烟花爆竹安全管理《通告》,对本区域的烟花爆竹燃放管理进...
韩国前总统尹锡悦被追加起诉 新华社首尔12月26日电(记者张粲 孙一然)负责调查韩国前第一夫人金建希案件的特检组26日以涉嫌违反...
北京年末放松楼市限购政策,五环... 界面新闻记者 | 李香才 12月24日,北京市住房和城乡建设委员会、北京市发展和改革委员会、中国人...
韩“金建希特检组”以违反《公职... 当地时间12月26日,韩国金建希特检组以违反《公职选举法》为由对前总统尹锡悦提出起诉。 (来源:央视...