mkimage

[Linux外设驱动详解]U-Boot mkimage 工具分析 U-Boot mkimage工具分析摘要 mkimage是U-Boot提供的镜像打包工具,主要作用是为裸机二进制文件添加标准化的头部信息。该工具支持Legacy和FIT两种格式,其中Legacy格式采用64字节固定头部结构,包含镜像魔数、CRC校验、加载地址、入口点等关键信息。在RK3588平台上,mkimage还实现了Rockchip V2格式的特殊启动头,适配芯片特定的启动流程。通过添加这些头部信息,mkimage确保了镜像能被Boot ROM正确识别和加载,同时提供完整性校验和多镜像支持能力。 阅读详情

 ext2.gz 必須再包裝成 U-Boot 的格式,才能透過 U-Boot 載入到 RAM,以成為 kernel 的 initial ramdisk(initrd):

# mkimage -A arm -O linux -T ramdisk -C none -a 0x30800000 -e 0x30800000 -n ramdisk -d ext2fs.gz urootfs.img

mkimage的參數使用說明可以由mkimage (不接任何參數)得到

# mkimage
-A ==> set architecture to 'arch'
-O ==> set operating system to 'os'
-T ==> set image type to 'type'
-C ==> set compression type 'comp'
-a ==> set load address to 'addr' (hex)
-e ==> set entry point to 'ep' (hex)
-n ==> set image name to 'name'
-d ==> use image data from 'datafile'
-x ==> set XIP (execute in place)

其中特別要注意的是當製作kernel映像檔時,使用-T kernel -a 0x30008000 -e 0x30008000;製作rootfs映像檔時,使用-T ramdisk -a 0x30800000 -e 0x30800000。

執行mkimage後可得到 urootfs.img 檔案,在測試階段為了方便起見,我們可以直接將 urootfs.img 載到 RAM 做測試;U- Boot 指令如下:

jollen.org # tftpboot 32000000 urootfs.img; tftpboot 30F00000 uimage.img; bootm 30F00000  32000000 

urootfs.img 是我們製作的 root filesystem,uimage-*.img 則是給 Jollen-Kit! 使用的 Linux kernel(pre-built)。

lammps建模(电解液)opls-aa力场的基本流程 阅读详情

相关推荐

Dify插件实战:实时渲染AI生成的HTML/SVG/Canvas代码

在现代Web开发与AI应用集成中,前端渲染技术是实现动态内容展示的核心。其原理在于浏览器引擎解析HTML、CSS、JavaScript等代码,并将其转换为可视化的用户界面。这项技术的价值在于极大提升了开发效率与用户体验,允许开发者快速构建和迭代交互式应用。在AI应用开发领域,尤其是大语言模型(LLM)集成场景,如何将模型生成的**结构化代码**(如描述UI的HTML或数据图表的SVG)实时转化为可视化组件,成为一个关键需求。这直接关系到**Dify**等低代码AI平台能否提供流畅的、所见即所得的交互体验。本

weixin_42545664的博客 498

zynq rootfs制作ramdisk及启动失败问题

1.使用rootfs压缩包制作ramdisk (1) 建立空文件 dd if=/dev/zero of=./ramdisk.Image bs=10M count=10 (2) 将普通文件与设备节点绑定 losetup /dev/loop0 ./ramdisk.image (3) 格式化/dev/loop0 mkfs.extt2 /dev/loop0 (4) 挂在/dev/loop0设...

flyzhao的专栏 4322

2024年上半年网络工程师下午真题及答案解析

位于MPLS域边缘、连接其他网络的LSR称为( 3 ),区域内部的LSR称为核心LSR(CoreLSR)IP报文进入MPLS网络时,MPLS入口设备分析IP报文的内容并为其添加合适的标签,所有MPLS网络中的LSR根据标签转发数据,当该IP报文离开MPLS网络时,标签由出口LER弹出。LSP的出口LER称为( 6 )。某高校网络拓扑如下图所示,两校区核心(CORE-1、CORE-2),出口防火墙(NGFW-1、NGFW-2)通过校区间光缆互联,配置OSPF实现全校路由收敛,两校区相距40km。

bsefef的博客 2471

mkimage 使用

mkimage 使用和使用示例

yytyu2017的博客 873

Cursor聊天记录迁移工具:实现跨设备AI对话同步与备份

在软件开发中,数据持久化与迁移是常见需求,尤其当工具依赖本地存储时。SQLite作为轻量级关系型数据库,因其嵌入式、零配置特性,常被用于存储应用状态与用户数据。其WAL(预写式日志)模式提升了并发性能,但也增加了数据操作复杂性。通过命令行工具与JSON序列化技术,可以实现结构化数据的提取、转换与安全迁移,这对于保障开发资产的连续性与可移植性具有重要价值。例如,在AI辅助编程场景下,开发者与AI的对话记录包含关键的问题分析、解决方案与决策逻辑,是重要的上下文资产。cursor-chat-transfer工具正

weixin_42551967的博客 533

【keras】走近VGG16卷积神经网络

        VGG16是一个16层的卷积神经网络模型,输入数据的维度为224*224*3,即长宽均为224像素的RGB彩色图片,VGG16模型的权重由ImageNet训练而来。由于其具有简单实用的优点,因此,在图像分类和目标检测任务中得到了较为广泛的应用。 1.卷积神经网络的基本概念 1.1卷积         简单的将其理解为一种数学运算,具体的计算过程如下图所示:       ...

XYZ 1万+

mkimage使用与解包

在最初学习阶段,我们经常使用mkimage来制作uImage和ramdisk,实质是在被处理的文件前面加上64字节的头部。在到后来,我们可以将多个内核+多个设备树文件+ramdisk打包成一个 linux.itb 文件,用于一个镜像文件支持多平台启动,同样是使用 mkimage 工具来制作,不难猜测,它也是将这多个文件按照一定的方式进行组合,然后再在文件的开头加上64字节的头部。 有时候难免悲剧发生,发现自己ramdisk.img的源码找不到了,又懒重新制作,但是又需要对镜像进行修改,无奈之下我们需要解包

boyemachao的专栏 1525

代码的自由之旅:用AI写出无版权烦恼的Verilog

他们还基于这个数据集,训练了一个名叫“FreeV”的AI模型,不仅能写出好用的Verilog代码,还把版权侵权的风险降到了仅3%。为了让AI安全地写Verilog,研究团队提出了三个“法宝”:一个检测AI是否会生成侵权代码的测试方法、一个干净的Verilog数据集FreeSet,还有一个基于FreeSet训练的AI模型FreeV。AI的记忆力超强,能记住训练时见过的代码。测试发现,一些用Verilog数据训练过的AI,比如VeriGen,生成侵权代码的概率从9%涨到了15%,说明它们可能学了不该学的代码。

步子哥的博客 1809

U-boot mkimage指定Linux内核地址时的两种方式

uImage的制作是使用的u-boot工具mkimage,build完u-boot后也会将mkimage build出來到/tools目录下,可以直接拿來用,它的作用就是在zImage的前面加上64个字节的头,让u-boot能够识别要加载内核的类型、加载地址等。 基本格式:mk

EmbededSwordman的专栏 3425

基于STM32L4XX、HAL库的AD7124模数转换器ADC驱动程序设计

/ 检查ID是否正确 (AD7124-4/AD7124-8有不同的ID)// 转换为电压值 (假设使用内部2.5V基准)// 构造读命令: 1(R/W) + 1(0) + 6(寄存器地址)// 构造写命令: 0(R/W) + 1(0) + 6(寄存器地址).config = 0, // 使用配置0。内置可编程增益放大器(PGA):1-128倍。// 读取ADC数据。// 读取当前ADC控制寄存器。// 检查数据是否就绪。// 写回ADC控制寄存器。// 初始化AD7124。

zhusl6688的博客 519

2026.4.15:超详细自动安装Ubuntu-Server的保姆级教程

这篇教程详细介绍了如何创建无人值守的Ubuntu Server 26.04自动安装镜像。主要内容包括:从安装镜像中提取autoinstall-user-data文件并修改为user-data配置文件;使用mkpasswd生成加密密码;通过软碟通工具修改ISO镜像,添加自动安装所需的user-data和meta-data文件;编辑grub.cfg引导文件以启用自动安装模式。教程提供了完整的yaml配置示例,包含网络、存储、用户等设置,并演示了最终制作完成的自动安装镜像效果。

拥抱具身智能,昇腾Ascend C 739

Xilinx FPGA 嵌入式系统程序引导和启动的流程分析设计

Xilinx FPGA 嵌入式系统程序引导和启动的流程 北京华环电子        任晓亮                             2016年1月15日 参考材料:http://www.360doc.com/content/13/1113/20/8744436_328989607.shtml http://www.wiki.xilinx.com/Build+Device+T

ren1335654481的博客 5570

4、接收天线:接收电压、功率和传输系数

本文详细探讨了接收天线的性能参数,包括接收电压、功率和传输系数,通过建立等效电路模型分析接收偶极子的电流和开路电压,并定义电压和功率传输函数。研究揭示了天线长度、工作频率及极化失配对传输性能的影响,并提出了优化接收天线性能的策略,为天线系统的设计与优化提供了理论支持。

ll5678的博客 233

mkimage使用详解

uboot源代码的tools 目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动镜像文件。 mkimage在制作镜像文件的时候,是在原来的可执行镜像文件的前面加上一个0x40字节的头,记录参数所指定的信息,这样uboot才能识别这个镜像文件的CPU体系结构的、操作系统、加载内存的位置, 入口地址等。 使用mkimage命令前,最好将mkimage 命令复制到 /usr/

我的博客 9471

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

mkimage用法

通常,u-boot为kernel提供一些kernel无法知道的信息,比如ramdisk在RAM中的地址。Kernel也必须为U-boot提供必要的信息,如通过mkimage这个工具(在u-boot代码的tools目录中)可以给zImage添加一个header,也就是使得通常编译的内核zImage添加一个数据头,把添加头后的image通常叫uImage,uImage是可以被U-boot直接引导的内核镜像。那么如何使用mkimage工具而产生uImage的呢?下面将具体介绍mkimage工具的使用:1.首先查看

babyfans的专栏 2224

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

如何安装mkimage工具

beyond@ubuntu:~/dev/arch/arm/boot$ sudo apt-cache search mkimage jigit - tools for working with jigdo files uboot-mkimage - generate kernel image for U-Boot beyond@ubuntu:~/dev/arch/arm/boot$ sudo

dadahacker的笔记 8582

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

mkimage详解

mkimage详解

hahaha133456的博客 2606

mkimage 命令找不到

mkimage 工具不是ubuntu自带的, 是u-boot中编译出来的: 如果使用make uImage 则能生成由uboot 引导的内核文件, 需要用到 uboot/tools/mkimage,可以在/etc/bashrc 文件末加入一下语句: export PATH:=$PATH:/usr/src/arm/u-boot-1.1.5/tools 这样就能直接引用mkimage

zzobin的专栏 1万+

mkimage工具安装

转自:http://blog.youkuaiyun.com/dadahacker/article/details/7108068 beyond@ubuntu:~/dev/arch/arm/boot$ sudo apt-cache search mkimage jigit - tools for working with jigdo files uboot-mkimage - generate kerne

mbgalex356的专栏 821

mkimage那些事

在编译linux内核时,往往会涉及到以下3个命令: • make Image • make zImage • make uImage 那么,这3个命令分别是做什么的?所生成的对象又有什么区别呢? Image为普通的内核映像文件,而zImage为压缩过的内核映像文件(其中的z字母就是压缩的意思)。一般情况下,编译出来的Image大约为4M,而zImage不到2M。uImage它是uboot专用的映像...

Huskar_Liu的博客 1374

mkimage工具讲解

mkimage使用详解 uboot源代码的tools/目录下有mkimage工具,这个工具可以用来制作不压缩或者压缩的多种可启动映象文件。 mkimage在制作映象文件的时候,是在原来的可执行映象文件的前面加上一个0x40字节的头,记录参数所指定的信息,这样uboot才能识别这个映象是针对哪个CPU体系结构的,哪个OS的,哪种类型,加载内存中的哪个位置, 入口点在内存的那个位置以及映象名是

win9 2514

u-boot中mkimage工具的具体使用

通常,u-boot为kernel提供一些kernel无法知道的信息,比如ramdisk在RAM中的地址。Kernel也必须为U-boot提供必要的信息,如通过mkimage这个工具(在u-boot代码的tools目录中)可以给zImage添加一个header,也就是使得通常编译的内核zImage添加一个数据头,把添加头后的image通常叫uImage,uImage是可以被U-boot直接引导的内核

李亚锋老师 1万+

mkimage的原理和使用

mkimage是U-Boot提供的核心工具,用于为内核镜像、ramdisk等二进制文件添加64字节头部信息,使U-Boot能识别并正确加载。该头部包含魔数、时间戳、加载地址、入口点等关键信息。使用时需通过编译U-Boot源码获取工具,基本命令包括指定架构、操作系统、镜像类型等参数。常见应用包括制作可引导的uImage内核镜像、uInitrd以及处理设备树文件。现代U-Boot推荐使用更高级的FIT Image格式。注意加载地址需根据具体硬件设置,错误地址会导致启动失败。该工具是嵌入式Linux开发的关键组件

weixin_44932366的博客 1504
上一篇: 製作 Root Filesystem 映像檔(Image File)
下一篇: Build Android SDK
jackie_gnu
博客等级 码龄16年 3粉丝 114原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值