解包uboot格式ramdisk-uboot.img

首先看一下u-boot下创建ramdisk-uboot.img的过程:

mkbootfs out/target/product/tf4/root | out/host/linux-x86/bin/minigzip > out/target/product/m9/ramdisk.img
mkimage -A arm -O linux -T ramdisk -C none -a 0x20800000 -n "ramdisk" -d out/target/product/tf4/ramdisk.img out/target/product/tf4/ramdisk-uboot.img

可以看出,使用u-boot下的mkimage创建ramdisk-uboot.img,会在原本的ramdisk image前加64 bytes的文件信息,

那么只要使用dd命令跳过这64字节的信息即可得到ramdisk.img.gz

dd if=ramdisk-uboot.img of=ramdisk.img.gz bs=1 skip=64 

接下来解压,挂载ramdisk.img即可获取其中文件。


bootloader.img是一个映像文件,用于引导启动系统。通过查看bootloader.img的二进制内容,可以发现一些信息。根据引用中提到的方法,可以提取官方镜像中的前3841个块,并将其与编译输出的bootloader.img文件连接起来。然后,可以使用刷写脚本代码将新生成的uboot2016.bin文件写入设备中。具体的命令为:sudo dd if=bootloader.img of=uboot2016.bin bs=512 seek=3841和sudo dd if=uboot2016.bin of=/dev/sdx(其中sdx是设备的名称)。 编译过程中,会生成u-boot.bin和bootloader.img两个文件。其中,bootloader.img是一个被签名的uboot映像文件,用于写入Nish参数。这个文件才是最终可以直接用来烧录的uboot。编译过程中,会有一个提示,指明了bootloader的生成与tools/nexell/nish/nanopi2.txt文件有关。nanopi2.txt文件配置了一些启动代码和参数,包括uboot的加载地址、加载大小和启动地址等。 总结起来,bootloader.img是一个用于引导启动系统的映像文件。它可以通过提取官方镜像中的一部分内容并与编译输出的bootloader.img文件连接起来生成新的uboot2016.bin文件,然后通过特定的命令将其写入设备中。另外,编译过程中会生成u-boot.bin和bootloader.img两个文件,其中bootloader.img是一个被签名的uboot映像文件,用于写入Nish参数。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【NanoPi T2】 2.uboot 离线烧录(S5P4418)](https://blog.csdn.net/qq_16054639/article/details/105829051)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值