50 lines
1.2 KiB
Plaintext
50 lines
1.2 KiB
Plaintext
Tools to customize an Ubuntu Live CD. Many parts of this will end up
|
|
being version-specific. The host machine must be running systemd,
|
|
since the image is executed inside a systemd-nspawn container.
|
|
|
|
Set up host machine, which must be running a recent systemd:
|
|
|
|
sudo apt install squashfs-tools xorriso isolinux systemd-container iptables
|
|
sudo systemctl start systemd-networkd
|
|
|
|
Choose a config:
|
|
|
|
export BUILD_CONFIG=16.04
|
|
|
|
Download and extract the original ISO:
|
|
|
|
./extractiso.sh
|
|
|
|
Apply customizations, both to the outer ISO and the inner image.
|
|
This will also run customizer-inner.sh inside a container:
|
|
|
|
./customize.sh
|
|
|
|
(Optional) Run and enter a shell in the container, for manual customization:
|
|
|
|
./enter.sh
|
|
|
|
Build the new ISO:
|
|
|
|
./buildiso.sh
|
|
|
|
Boot the ISO in QEMU with a blank HDD, to test and install:
|
|
|
|
./run.sh -c
|
|
|
|
Boot QEMU with the same HDD image as above, to test an "installed" system:
|
|
|
|
./run.sh -d
|
|
|
|
Remove everything but the ISOs:
|
|
|
|
./cleanup.sh
|
|
|
|
Notes:
|
|
|
|
- A more proper way to build a distro from scratch would be something
|
|
like one of these, except that they're out of date:
|
|
|
|
http://www.mythbuntu.org/development/developer-cheatsheet (2010)
|
|
https://github.com/squibbylinux/squibby-build (2012)
|