![如何成功构建 Archiso 映像? (“airootfs 不是挂载点”)](https://linux22.com/image/137981/%E5%A6%82%E4%BD%95%E6%88%90%E5%8A%9F%E6%9E%84%E5%BB%BA%20Archiso%20%E6%98%A0%E5%83%8F%EF%BC%9F%20%EF%BC%88%E2%80%9Cairootfs%20%E4%B8%8D%E6%98%AF%E6%8C%82%E8%BD%BD%E7%82%B9%E2%80%9D%EF%BC%89.png)
下列的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