镜像检查命令速查
本页命令以只读检查为主,用来确认 .img 是否按预期生成。
查看镜像文件
bash
ls -lh out/release-latest/images/*.img查看某个镜像和附属文件:
bash
ls -lh out/release-latest/images/imx6ull-aes-emmc.img*查看 manifest
bash
sed -n '1,80p' out/release-latest/images/imx6ull-aes-emmc.img.manifest重点看:
text
boot_media=
uboot_mmc_dev=
linux_root_dev=
boot_partition_start_sector=
rootfs_partition_start_sector=
rootfs_partition_size_mib=
image_size_mib=查看分区表
bash
sfdisk -d out/release-latest/images/imx6ull-aes-emmc.img典型输出:
text
label: dos
unit: sectors
...img1 : start=32768, size=131072, type=83, bootable
...img2 : start=163840, size=..., type=83换算:
text
32768 sectors * 512 bytes = 16 MiB
131072 sectors * 512 bytes = 64 MiB验证 sha256
进入 images 目录:
bash
cd out/release-latest/images
sha256sum -c imx6ull-aes-emmc.img.sha256回到项目根目录:
bash
cd -手动计算 sha256
bash
sha256sum out/release-latest/images/imx6ull-aes-emmc.img查看 ext4 超级块
如果你保留了临时目录:
bash
scripts/image_builder/build_imx6ull_image.sh --keep-workdir可以检查中间文件系统:
bash
dumpe2fs -h out/imx6ull-image.XXXXXX/boot.ext4
dumpe2fs -h out/imx6ull-image.XXXXXX/rootfs.ext4只看卷标:
bash
dumpe2fs -h out/imx6ull-image.XXXXXX/boot.ext4 | grep 'Filesystem volume name'
dumpe2fs -h out/imx6ull-image.XXXXXX/rootfs.ext4 | grep 'Filesystem volume name'用 debugfs 查看文件
检查 boot 分区中间镜像:
bash
debugfs -R 'ls -l /' out/imx6ull-image.XXXXXX/boot.ext4
debugfs -R 'ls -l /boot' out/imx6ull-image.XXXXXX/boot.ext4
debugfs -R 'cat /boot.cmd' out/imx6ull-image.XXXXXX/boot.ext4检查 rootfs 中间镜像:
bash
debugfs -R 'ls -l /' out/imx6ull-image.XXXXXX/rootfs.ext4
debugfs -R 'ls -l /bin' out/imx6ull-image.XXXXXX/rootfs.ext4检查 release 输入产物
bash
ls -lh out/release-latest/uboot/u-boot-dtb.imx
ls -lh out/release-latest/linux/arch/arm/boot/zImage
ls -lh out/release-latest/linux/arch/arm/boot/dts/nxp/imx/imx6ull-aes.dtb
ls -ld out/release-latest/rootfs检查 rootfs 大小:
bash
du -sh out/release-latest/rootfs
du -sm out/release-latest/rootfs查找可用 DTB
bash
find out/release-latest/linux/arch/arm/boot/dts -name 'imx6ull*.dtb' | sort只检查脚本语法
bash
bash -n scripts/image_builder/build_imx6ull_image.sh对照启动命令
查看 manifest 里的手动启动命令:
bash
sed -n '/manual_uboot_boot:/,$p' out/release-latest/images/imx6ull-aes-emmc.img.manifest如果是 SD 镜像,应出现:
text
ext4load mmc 0:1
root=/dev/mmcblk0p2如果是 eMMC 镜像,应出现:
text
ext4load mmc 1:1
root=/dev/mmcblk1p2