使用Archiso构建高度定制化的PE启动盘
Xilong Yang

一直想要一个自己的PE启动盘,以便使用一个小小的U盘将自己的开发环境带到任何地方。折腾了两天,终于制作了一个粗糙的镜像。在此作一个记录。

镜像地址:https://github.com/VincentJan/VrchPE

开始之前的一些废话

很久之前其实尝试过将系统装在移动硬盘上,做成一个移动系统。但是由于当时相关知识约等于0,竟然把引导分区装在了另一个硬盘上。这次最早的尝试毫无疑问地失败了。

后来在学习了一些相关知识后又进行了一次尝试,发现在别的电脑上无法启动图形界面。本来只是简单的显卡驱动问题,一开始的失败经历让我直接放弃。当然最主要的原因还是觉得移动系统没什么用处。

直到前两天实验课上需要在linux上装一些古董软件,直接触发了我的系统洁癖。当时想着有没有什么办法能让系统在干完一些脏活后恢复成原来的样子。于是就有了这次折腾经历。

准备工作

需要一台能联网的Arch Linux电脑和一个用作启动盘的U盘。现在的U盘应该很少16G以下的了,不用考虑容量问题。但最好是USB3.0协议的,操作的时候能快一些。

安装archiso软件包:pacman -S archiso

创建一个目录用来构建镜像:mkdir Vrch并把/usr/share/archiso/configs/baseline中的文件复制到目录中。

也可以使用/usr/share/archiso/configs/releng中的文件,差别在于baseline提供了一个最小可启动镜像配置,而releng提供最近的安装镜像配置

具体说明:Archiso#prepare_custom_profile-ArchWiki

配置镜像文件

选择软件包

编辑Vrch/packages.x86_64,把想要安装的包名加进去就可以了。

如果想要使用无线网卡等设备,添加linux-firmware包。

如果需要图形界面,除了xorg以外,还要注意显卡驱动以及xorg-xinit

显卡驱动参考:Xorg#input_devices-ArchWiki

向镜像添加文件

将Vrch/airootfs看做系统根目录,其中的一切文件都会被复制到镜像系统的相应位置。

我们可以在这里添加各种配置文件,以及systemd服务自启动所需的软连接。

需要注意,文件权限是不会被原样复制的。若需更改某文件的权限,可以编辑Vrch/prefiledef.sh中相关位置。

生成镜像文件

在Vrch目录中运行:mkarchiso -v .,漫长的等待后,会出现一个work目录与一个out目录。其中work目录是构建进程中产生的工作目录,out目录中存放最终产生的iso文件。

work与out目录的位置可以通过命令参数选择。

制作启动盘

这部分平平无奇,插入U盘,在Vrch目录下运行:dd if=out/isoname.iso of=/dev/sdx bs=4M

isoname为生成的镜像名称,sdx为U盘的名称。

参考

Archiso_ArchWiki