使用 Cubic 部署自己的定制 Ubuntu

当我们想对 Linux 发行版进行一些定制,例如修改logo、安装软件、添加开机自启的脚本配置软件时,需要一个工具来帮助我们完成这些工作。Cubic 就是这样一个工具,它可以帮助我们定制 Ubuntu 镜像。

定制镜像的工具有 preseed、kickstart、cubic、ansible 等,本文介绍其中的 cubic 工具。

cubic 是一系列 python 脚本组成的镜像定制工具,经过测试,可以在 Ubuntu 20.04+,AMD64 架构和 ARM64 架构的系统上正常工作(可以用 ARM64 系统定制 ARM64镜像)。

它的工作流程是解包 ISO,chroot 完成自定义配置,再重新打包镜像。

一些具体的操作步骤如下:

安装

1
2
3
4
sudo apt-add-repository universe
sudo apt-add-repository ppa:cubic-wizard/release
sudo apt update
sudo apt install --no-install-recommends cubic

添加启动项

1
2
3
4
5
6
7
8
9
10
11
12
13
# 启动项文件:
# cat config.desktop
[Desktop Entry]
Type=Application
Exec=bash /opt/config.sh
Hidden=false
NoDisplay=false
X-GNOME-Autostart-enabled=true
Name=config
Comment=config

mkdir -p /etc/skel/.config/autostart
mv ~/config.desktop /etc/skel/.config/autostart

修改开机时显示的 LOGO

1
2
mv logo.png /usr/share/plymouth/ubuntu-logo.png
mv watermark.png /usr/share/plymouth/themes/spinner/watermark.png

Be sure to execute update-initramfs -u after changing your Plymouth theme.

需要注意的是,对于使用了新的 Subiquity 安装器的镜像(Ubuntu 22.10+),在部署镜像时,不可使用 Live CD 测试镜像,且需要在 Subiquity 中选择最小安装选项,cubic 配置才可以生效。

参考:

https://github.com/PJ-Singh-001/Cubic/wiki

https://github.com/PJ-Singh-001/Cubic/issues/295#issuecomment-1984795814