从ext4,dtb和uboot.bin创建img

时间:2018-06-09 11:00:29

标签: yocto u-boot

我最近使用yocto编译自定义操作系统,它导致了ext4文件结构的组成部分,硬件dtb和uboot映像。

我试图更换固件的设备是基于Android的,并且有自己的基于Windows的应用程序来替换固件。该软件需要一个单一的img文件。

是否可以从上面列出的3个文件中编译一个?

我一直在看mkimage,但没有快乐。我可能不知道如何使用-d脚本。 Yocto生成的文件看起来与-d参数一样,但似乎没有。

我来自OpenWRT,它生成了一个单独的bin图像,可能是mtd&#d; dd(使用mtd的动词)。

思考?

我的构建配置是:

Build Configuration:

BB_VERSION           = "1.37.0"
BUILD_SYS            = "x86_64-linux"
NATIVELSBSTRING      = "universal"
TARGET_SYS           = "aarch64-poky-linux"
MACHINE              = "nexbox-a95x-s905x"
DISTRO               = "poky"
DISTRO_VERSION       = "2.5"
TUNE_FEATURES        = "aarch64"
TARGET_FPU           = ""
meta
meta-poky
meta-yocto-bsp       = "sumo:b369e613a1d3af6439905724031aa2b75423aeee"
meta-meson           = "sumo:9a060d8cb106fd86ed7ac93b66675a639bfc6045"
meta-oe
meta-python
meta-networking      = "master:bb57bac845f3cd1634862fa9868bc8e294ba74a9"
meta-openwrt         = "master:3f94c4f5aa965aa5d65419d6691b40a3870e84a8"

配置文件没有其他更改。

结果文件是:

aml_autoscript
amlogic-image-headless-sd-nexbox-a95x-s905x-20180608105022.testdata.json
amlogic-image-headless-sd-nexbox-a95x-s905x-20180609220030.rootfs.ext4
amlogic-image-headless-sd-nexbox-a95x-s905x-20180609220030.rootfs.manifest
amlogic-image-headless-sd-nexbox-a95x-s905x-20180609220030.rootfs.tar.bz2
amlogic-image-headless-sd-nexbox-a95x-s905x-20180609220030.testdata.json
amlogic-image-headless-sd-nexbox-a95x-s905x.ext4
amlogic-image-headless-sd-nexbox-a95x-s905x.manifest
amlogic-image-headless-sd-nexbox-a95x-s905x.tar.bz2
amlogic-image-headless-sd-nexbox-a95x-s905x.testdata.json
Image--4.16.5+git0+e5ce9f6879-r0-meson-gxl-s905x-nexbox-a95x-20180608105022.dtb
Image-meson-gxl-s905x-nexbox-a95x.dtb
meson-gxl-s905x-nexbox-a95x.dtb
modules--4.16.5+git0+e5ce9f6879-r0-nexbox-a95x-s905x-20180608105022.tgz
modules-nexbox-a95x-s905x.tgz
uImage
uImage--4.16.5+git0+e5ce9f6879-r0-nexbox-a95x-s905x-20180608105022.bin
uImage-nexbox-a95x-s905x.bin

2 个答案:

答案 0 :(得分:0)

尝试使用skales-tools

  1. dtbTool -o dt.img arch / arm / dts /
  2. mkbootimg --kernel = uboot.bin --dt = dt.img --cmdline =“” - pagesize 2048 --base --output = u-boot.img --ramdisk =

答案 1 :(得分:0)

您确定要生成的img正在使用mkimage工具吗? mkimage用于制作u-boot映像。您正在寻找的可能是genimage工具,可以将所有生成的输出合并到一个图像中。