Archisoextra / aur 是自动化制作最新版 archlinux 镜像的工具集,可用于制作定制化的 archlinux 镜像。
1. 准备工作
- 首先安装 Archiso 相关包:
sudo pacman -S archiso
-
复制
releng
配置方案到合适位置:sudo cp -r /usr/share/archiso/configs/releng /path/of/some_folder/archlinux_live cd /path/of/some_folder/archlinux_live # 进入目录
⚠️ 注意
务必使用 root 权限操作(使用
sudo
提权),否则可能造成问题。ℹ️ 提示
Archiso 提供了两种配置方案:
baseline
—— 只包含基本系统(只包括从介质启动实时环境所需的最低限度的软件包)releng
—— 可以制作定制镜像(用于创建正式的每月安装镜像,可以作为创建自定义镜像的起点)
显然,这里我们使用
releng
配置方案。
2. 进行定制
首先了解下各个文件的用途:
packages.x86_64
—— 一份要安装在 Live 系统镜像的软件包列表,一行一个pacman.conf
—— Pacman 的配置文件airootfs
—— Live 系统的 rootfs(根文件系统,遵循 rootfs 的目录规则)。除了安装的包之外,其它的定制(包括启动执行脚本等)都在这里efiboot
/syslinux
—— 用于设置 BIOS / EFI 启动的配置
-
编辑
pacman.conf
配置文件:sudo vim /path/of/some_folder/archlinux_live/pacman.conf
在文档结尾处加入下面的文字,来添加
archlinuxcn
源。推荐的镜像源(选一个即可)也一并列出:[archlinuxcn]Server = https://mirrors.ustc.edu.cn/archlinuxcn/$arch # 中国科学技术大学开源镜像站 Server = https://mirrors.tuna.tsinghua.edu.cn/archlinuxcn/$arch # 清华大学开源软件镜像站 Server = https://mirrors.hit.edu.cn/archlinuxcn/$arch # 哈尔滨工业大学开源镜像站 Server = https://repo.huaweicloud.com/archlinuxcn/$arch # 华为开源镜像站
去掉
[multilib]
一节中两行的注释,来开启 32 位库支持: -
然后修改
packages.x86_64
:sudo vim packages.x86_64
在文档结尾处加入
archlinuxcn-keyring
和其它需要预安装的包(根据喜好自定义):# custom archlinuxcn-keyring htop # 系统监控与进程管理软件(top 的升级版) bashtop # 系统监控与进程管理软件(top 的豪华升级版) iftop # 流量监控工具 iotop # 磁盘 I/O 监控工具 ipmitool # 用于管理和配置,支持智能平台管理接口(IPMI)1.5 版和 2.0 版规范的设备的实用程序(给运维用的) fastfetch # 打印系统信息 plasma-meta konsole dolphin ntfs-3g partitionmanager # KDE 分区管理器 adobe-source-han-serif-cn-fonts wqy-zenhei noto-fonts noto-fonts-cjk noto-fonts-emoji noto-fonts-extra firefox ark gwenview yay timeshift mesa lib32-mesa vulkan-intel lib32-vulkan-intel cowsay
说明:
1.可以给如上包配置中加入自己的使用软件工具,比如net-tools等;
2.上面的包尽量拿掉所有的注释,在运行3.2中的mkarchiso命令时,如果报错说某些包找不到,那就从上面文件中拿掉即可
-
可选向镜像里添加文件:
airootfs
—— 看作是 Live 系统上的 '/' 根目录,在此中存放文件将覆盖或复制到对应的位置airootfs/etc/skel
—— 在 root 用户主目录里放置文件的方法有些许不同。不要把它们放在airootfs/home
,而是放置在此处
以
/root/.zshrc
为例:sudo mkdir /path/of/some_folder/archlinux_live/airootfs/etc/skel sudo vim /path/of/some_folder/archlinux_live/airootfs/etc/skel/.zshrc
添加以下内容:
echo 'archlinux 简明指南' | cowsay
🔗 相关链接
如有需要可参阅 ArchWiki 相关内容。
-
配置登录管理器:
-
启用登录管理器的 systemd 服务来做到在引导时启动 X:
sudo ln -s /usr/lib/systemd/system/sddm.service /path/of/some_folder/archlinux_live/airootfs/etc/systemd/system/display-manager.service
-
为了让图形环境在启动过程中自动启动,创建并编辑
airootfs/root/customize_airootfs.sh
:sudo vim /path/of/some_folder/archlinux_live/airootfs/root/customize_airootfs.sh
添加以下内容:
systemctl set-default graphical.target
-
3. 开始制作
-
创建工作目录和输出目录:
sudo mkdir -p /path/work /path/out
-
开始制作镜像文件:
sudo mkarchiso -v -w /path/work -o /path/out
/path/of/some_folder/archlinux_live
说明:
这里的路径/path/of/some_folder/archlinux_live 其实是指代profiledef.sh的路径
[mkarchiso] INFO: Preparing kernel and initramfs for the FAT file system...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Done! systemd-boot set up for IA32 UEFI booting successfully.
[mkarchiso] INFO: Setting up systemd-boot for x64 UEFI booting...
[mkarchiso] INFO: Done! systemd-boot set up for x64 UEFI booting successfully.
[mkarchiso] INFO: Preparing an /EFI directory for the ISO 9660 file system...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Preparing an /EFI directory for the ISO 9660 file system...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Cleaning up in pacstrap location...
[mkarchiso] INFO: Done!
[mkarchiso] INFO: Creating SquashFS image, this may take some time...
refs:
https://arch.icekylin.online/guide/advanced/make-install-disk
https://wiki.archlinuxcn.org/wiki/Archiso