这里说明如何从本项目文件构建得到 arCNiso 的镜像文件。
环境要求
法一:在 Arch Linux 系统中构建
- 一个可联网的、AMD64 架构的 Arch Linux 系统。
- 以普通用户身份登录,且具有 sudo 权限。
法二:在 Docker 容器中构建
参见构建说明(Docker 版)。
分步说明
安装依赖(约 1 分钟,依赖网速)
获取本项目(约 1 分钟,依赖网速)
克隆本仓库,为此在 bash 或 zsh 中运行:
其中 --filter=blob:none
是为了仅下载所需的对象,而忽略多余的 blob,以便加快速度。
如果注重稳定性,建议切换到最新的 tag:
准备 .emacs.d(可选;约 5 分钟,依赖网速)
运行
接下来按指示操作即可。
准备 anotherpac(约 5 分钟,依赖网速和 CPU 速度)
运行
接下来按指示操作即可。
准备 AUR 包(约 30 分钟,依赖网速和 CPU 速度)
arCNiso 使用了部分来自 AUR 的包(见 packages.x86_64
的开头部分),
因此需要提前构建它们。
可以利用
自动构建这些包。
但请注意,此脚本可能仍存在一些问题,可能无法一次直接地完成所有工作,或者无法合理避免重复工作,还可能会出现构建时缺依赖报错的问题,对此只要据报错信息手动解决即可(大概需要你会一点 Bash)。
或者,清理一下 ./aur/cache
目录,或者其下造成问题的子目录。
安全启动支持(可选,耗时未知)
为了支持安全启动,需要对 mkarchiso 进行修改。
而 mkarchiso 脚本来自 Arch Linux 官方,可能不断更新,从而导致旧的补丁(指 mkarchiso.patch
)无效,加上其他的情况变动,均可能需要手动调整修改脚本、排查并解决问题。因此,若需要安全启动支持,则视顺利程度,耗时下限低于 5 分钟,上限则无穷大。
步骤:
- 需要确保
packages.x86_64
含有的包名:mokutil
shim-signed
(来自 AUR)
- 如果你不需要安全启动,可以选择把这些包名从中移除。
- 安装依赖:
正式构建(约 5 分钟,依赖网速和 CPU 速度)
运行(若 OUT
目录存在,则会被删除):
输出的镜像文件位于 ./OUT
下(为了方便使用虚拟机进行测试,每次输出时会固定更名为 arCNiso.iso
)。
再次构建
如果短时间内多次构建,不必重复进行正式构建之前的准备工作,可以直接运行 ./makeiso
。
但是,比如一个月之后再次构建呢?
此时对整个项目再次进行准备工作就比较有必要了——不过,当然不是完全从零开始。
以下进行分步说明,但并不是所有步骤都必要,请根据实际情况适当安排。
以下默认工作目录为 arCNiso
的项目文件夹。
更新系统
以 paru 为例:
注意,部分软件包在更新之后可能需要重启系统才能正常工作。
更新 arCNiso 项目仓库
更新 .emacs.d
接下来按指示操作即可。
更新 anotherpac
更新 AUR 包
更新 mkarchiso
正式构建