如何减小 Arch Linux iso 的大小?

如何减小 Arch Linux iso 的大小?

因此,我正在制作一个自定义的 Arch Linux iso 作为我的发行版的安装程序。我查看了另一个名为 ArchLabs 的 Arch 发行版,它们的安装程序大小为 750 M。我的 ISO 最终生成了超过 1000 M。问题是,我的软件包列表是 ArchLabs 列表的精简版,所以它不应该更小吗?我的 airootfs 也更小,但我似乎无法弄清楚这一点。这是 ArchLabs 仓库的链接这是我的仓库的链接。(我的 ISO 的构建文件位于 installer-iso 下。)

这是我的 ISO 的链接、它的软件包列表、提取的 airootsfs 和提取的 iso。 此处直接链接至 iso 文件。

答案1

安装后,airootfs.sfs squashfs 的大小为 1.4Gb。600Mb 进入 /usr/lib/firmware。这令人印象深刻。

我必须挂载你的 iso 才能提取 airootfs.sfs。我将其挂载在 /mnt/loop 上:

/dev/loop1         1036620   1036620           0 100% /mnt/loop

我转到 /mnt/loop 并运行“du”

ghp-amdphIIX4B:/mnt/loop
# du -s .
784455  .

我从 /mnt/loop 创建了一个 new.iso:

ghp-amdphIIX4B:/mnt/loop
# mkisofs -o /tmp/new.iso  .
...
 99.38% done, estimate finish Sat Dec 12 00:02:59 2020
Total translation table size: 0
Total rockridge attributes bytes: 0
Total directory bytes: 30720
Path table size(bytes): 208
Max brk space used 23000
392431 extents written (766 MB)

# ls -l /tmp/new.iso
-rw-r--r-- 1 root root 803698688 12 dec 00:02 /tmp/new.iso

小了200Mb???

这是因为我没有看到你的 iso 还包含 245Mb EFI 系统:

# fdisk -l  /tmp/arch.iso
Disk /tmp/arch.iso: 1012.32 MiB, 1061498880 bytes, 2073240 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: gpt
Disk identifier: 30323032-3231-4131-B130-303932393038

Device           Start     End Sectors  Size Type
/tmp/arch.iso1      64 1570815 1570752  767M Linux filesystem
/tmp/arch.iso2 1570816 2072575  501760  245M EFI System
/tmp/arch.iso3 2072576 2073175     600  300K Microsoft basic data

我的 EFI 分区启动 Linux 和 Windows,小于 25Mb。使用重新查找,它会启动在相应分区中找到的内核。无需 250Mb

# ls -al /mnt/loop2/arch/boot/x86_64/
total 246092
drwxr-xr-x 2 root root     4096 Dec 11 14:29 .
drwxr-xr-x 3 root root     4096 Dec 11 14:29 ..
-rwxr-xr-x 1 root root 81423440 Dec 11 14:29 initramfs-linux-ae-fallback.img
-rwxr-xr-x 1 root root 81423440 Dec 11 14:29 initramfs-linux-ae-tkg-pds.img
-rwxr-xr-x 1 root root 81423440 Dec 11 14:29 initramfs-linux-ae.img
-rwxr-xr-x 1 root root  7713600 Dec 11 14:29 vmlinuz-linux-ae

相关内容