我有一台 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。