buildroot: rootfs.iso9660 映像文件中没有 rootfs

buildroot: No rootfs in rootfs.iso9660 image file

我正在尝试构建自己的 USB 可启动 Linux。 据我了解 buildroot 文档,buildroot 应该给我现成的图像。

我的输出文件夹包含以下图像:

    build@build:~/buildroot_usb/output/images$ ls * -lh
    -rw-r--r-- 1 root root  45M Sep 19 18:26 bzImage
    -rw-r--r-- 1 root root 102M Sep 19 18:25 rootfs.cpio
    -rw-r--r-- 1 root root 512M Sep 19 18:25 rootfs.ext2
    lrwxrwxrwx 1 root root   11 Sep 19 18:25 rootfs.ext4 -> rootfs.ext2
    -rw-r--r-- 1 root root  46M Sep 19 18:26 rootfs.iso9660
    -rw-r--r-- 1 root root 111M Sep 19 18:26 rootfs.tar
    -rw-r--r-- 1 root root  37M Sep 19 18:26 rootfs.tar.gz

    syslinux:
    insgesamt 164K
    -rwxr-xr-x 1 root root  36K Sep 19 17:42 isolinux.bin
    -rwxr-xr-x 1 root root  440 Sep 19 17:42 mbr.bin
    -rwxr-xr-x 1 root root 124K Sep 19 17:42 syslinux.efi
    build@build:~/buildroot_usb/output/images$

rootfs.iso9600 映像应该是可引导的 ISO 映像。但是文件的大小显示整个根文件系统都丢失了。它只是内部的内核和引导加载程序。 (我检查过了)。

配置:

您已启用将根文件系统作为内核映像中的 initramfs,因此它会被压缩。如果您查看 bzImage 文件(内核映像),它有 45 MB,所以它肯定是内核 + 压缩的根文件系统。你的 ISO 镜像是 46 MB,所以它基本上只是内核镜像 + 引导加载程序,所以一切都很好。

将其与压缩的 rootfs tarball (rootfs.tar.gz) 的大小进行比较,后者的大小为 37 MB。一切都很相配。

因此,您的 46 MB ISO 映像肯定包含根文件系统,在内核映像中压缩为 initramfs。