我正在尝试构建自己的 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映像。但是文件的大小表明整个根文件系统都丢失了。它只是内部的内核和引导程序。 (我检查了)。
答案 0 :(得分:1)
您已经启用了将根文件系统作为内核映像中的initramfs,从而对其进行了压缩。如果您查看bzImage文件(内核映像),则为45 MB,因此绝对是内核+压缩的根文件系统。您的ISO映像为46 MB,因此基本上只是内核映像+引导程序,因此一切都很好。
将其与压缩的rootfs压缩文件(rootfs.tar.gz)的大小进行比较,后者为37 MB。一切都很好。
因此,您的46 MB ISO映像肯定包含根文件系统,该文件系统已作为initramfs压缩在内核映像中。