生成自定义 archLinux 镜像

生成自定义 archLinux 镜像

我有一台 UEFI 计算机,我需要将 2 个 bin 文件和一个文件夹添加到 iso live install 映像;这将为我提供启动时的 wifi 支持。

我从顶部遵循了这个指南:重新制作安装 ISO

问题是我无法理解如何执行指南的最后部分,其中解释了如何使其可从 USB 记忆棒进行 UEFI 启动。按照解释的方式进行更改后,我通过 wiki 上列出的命令生成了新的 iso 映像:

genisoimage -l -r -J -V "ARCH_201209" -b isolinux/isolinux.bin -no-emul-boot -boot-load-size 4 -boot-info-table -c isolinux/boot.cat -o ~/arch-custom.iso ~/customiso

我所做的最后一步是这样的:

isohybrid output.iso

之后我使用 dd 将 iso 拉到 USB 棒上,但自定义的 archLinux 无法启动。

我不明白的部分是:

genisoimage 加 ishybrid 的替代方案可以源自 mkarchiso 的 xorriso 运行。

$ iso_label="ARCH_201209"
$ xorriso -as mkisofs \
       -iso-level 3 \  
       -full-iso9660-filenames \
       -volid "${iso_label}" \
       -eltorito-boot isolinux/isolinux.bin \
       -eltorito-catalog isolinux/boot.cat \
       -no-emul-boot -boot-load-size 4 -boot-info-table \
       -isohybrid-mbr ~/customiso/isolinux/isohdpfx.bin \
       -output arch-custom.iso \ 
       ~/customiso

选项 -isohybrid-mbr 需要 MBR 模板文件。很可能原始 ISO 中已经存在这样一个文件 /isolinux/isohdpfx.bin,它与 ISO 中使用的 SYSLinux 版本相匹配。仅当复制的 ISO 内容中缺少此文件时,才必须在执行上述 xorriso 运行之前将其从原始 ISO 映像文件中删除:

$ dd if=/path/to/archISO bs=512 count=1 of=~/customiso/isolinux/isohdpfx.bin

如果原始 ISO 支持通过 EFI 启动,则可以通过在“-isohybrid-mbr ...”和“-output ...”行之间插入以下选项来在新 ISO 中激活此功能:

   -eltorito-alt-boot \
   -e EFI/archiso/efiboot.img \
   -no-emul-boot -isohybrid-gpt-basdat \

文件 /EFI/archiso/efiboot.img 是 FAT 文件系统映像文件。如果原始 ISO 中缺少该文件,则该 ISO 中不支持 EFI。

新创建的 ISO 映像 arch-custom.iso 可在主目录中找到。您可以将 ISO 映像写入 USB 记忆棒,如 USB 安装介质中所述。或者,您可以使用您喜欢的软件将 ISO 映像刻录到 CD、DVD 或 BD 上。在 Arch 上,有关刻录 ISO 映像的文章对此进行了介绍。

答案1

archiso是官方的 iso-maker 包ArchLinux。您可以在第 0 天构建 Archlinux 的原始映像,或者从头开始(几乎)构建完全定制的 iso 并添加软件包、内核模块、构建指令、文件夹、用户等...

它可以帮助您获得一个开箱即用的 archlinux 工作映像,以及可根据您的需求进行定制的优势。给定的映像均支持 MBR 和 UEFI。

相关内容