如何成功构建 Archiso 映像? (“airootfs 不是挂载点”)

如何成功构建 Archiso 映像? (“airootfs 不是挂载点”)

下列的https://wiki.archlinux.org/index.php/Archiso,我尝试直接从 prestine 模板构建:

sudo cp -r /usr/share/archiso/configs/releng archlive
cd archlive
sudo ./build.sh -v -N foo

结果是:

[mkarchiso] INFO: Configuration settings
[mkarchiso] INFO:                   Command:   init
[mkarchiso] INFO:              Architecture:   x86_64
[mkarchiso] INFO:         Working directory:   work/x86_64
[mkarchiso] INFO:    Installation directory:   arch
[mkarchiso] INFO:        Pacman config file:   work/pacman.conf

[mkarchiso] INFO: Installing packages to 'work/x86_64/airootfs/'...
==> ERROR: work/x86_64/airootfs is not a mountpoint!

错误:work/x86_64/airootfs 不是挂载点!

我在脚本中找到了这一点63号线:

mkarchiso ${verbose} -w "${work_dir}/x86_64" -C "${work_dir}/pacman.conf" -D "${install_dir}" init

...并手动执行相应的命令:

sudo mkarchiso -v -w "work/x86_64" -C "work/pacman.conf" -D arch init

这导致了同样的错误。

知道是什么原因造成的吗?这种情况已经持续了几个月(例如,阿奇索包裹)。

答案1

archiso项目利用了项目pacstrap中的arch-install-scripts信息,而项目最终是消息的来源。

发生这种情况是因为最近版本的 archiso,自从提交以来https://git.archlinux.org/archiso.git/commit/?id=5f57352398e9ec7ab7bbe14fe24619987235060f,不再执行pacstrap -d。然而,自从提交以来,这个已经被放弃了pacstrap很长时间https://git.archlinux.org/arch-install-scripts.git/commit/?id=0af6884aca68dcb7eed0b85fbc2960903df3d968(于 2018 年 1 月 27 日作为 v18 发布)。

因此,您使用的是最新版本的mkarchiso,但使用的是旧版本的pacstrap,即使mkarchiso假设您使用的是最新版本的pacstrap

解决方案是进行完整的系统更新。或者,检查您的旧版本是否pacstrap覆盖了期望看到的$PATH版本。mkarchiso

相关内容