Go to file
2016-07-26 18:10:35 -04:00
.gitignore Fix qemu options so a full install really works 2016-06-28 16:14:01 -04:00
backup.sh Add scripts to backup/restore FS directory 2016-07-01 16:17:29 -04:00
buildiso.sh Documentation 2016-06-27 16:55:40 -04:00
cleanup.sh Fix some deficiencies in enter.sh 2016-06-25 18:46:02 -04:00
config Switch to 16.04.1 2016-07-26 18:10:35 -04:00
config-16.04.1 Switch to 16.04.1 2016-07-26 18:10:35 -04:00
customize-inner.sh Ensure that we have a current kernel package installed 2016-07-26 18:09:28 -04:00
customize.sh Add stuff to /etc/hosts after install or LiveCD boot 2016-07-01 17:28:07 -04:00
enter.sh Small bugfixes and tweaks 2016-07-03 00:20:52 -04:00
extractiso.sh Grab ISO from parent directory if it's there 2016-07-03 00:23:49 -04:00
full-rebuild.sh Fix full-rebuild.sh 2016-06-27 16:52:34 -04:00
nilmbuntu.png Start reworking things for systemd-based 16.04 2016-06-25 16:39:02 -04:00
preseed.cfg Add nasty Ubiquity hacks to force username, set password 2016-07-03 02:09:18 -04:00
README Update README 2016-07-26 18:10:07 -04:00
restore.sh Add scripts to backup/restore FS directory 2016-07-01 16:17:29 -04:00
run.sh Small bugfixes and tweaks 2016-07-03 00:20:52 -04:00
splash.png Start reworking things for systemd-based 16.04 2016-06-25 16:39:02 -04:00

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)