Go to file
Jim Paris 06169b9894 Generate a user to use both on the LiveCD and installed system
It takes some finagling to get this to work everywhere, but this seems
to do the trick.  Note that this means we need to set
UBIQUITY_AUTOMATIC=1, which has some other side effects, but nothing
too bad (mostly related to not being able to go backwards in the
ubiquity installer).
2016-07-03 00:19:40 -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 Default to 16.04 config if none specified 2016-06-27 16:52:26 -04:00
config-16.04 Start reworking things for systemd-based 16.04 2016-06-25 16:39:02 -04:00
customize-inner.sh Generate a user to use both on the LiveCD and installed system 2016-07-03 00:19:40 -04:00
customize.sh Add stuff to /etc/hosts after install or LiveCD boot 2016-07-01 17:28:07 -04:00
enter.sh Fill in a dummy /etc/hosts in enter.sh 2016-07-02 15:02:39 -04:00
extractiso.sh Start reworking things for systemd-based 16.04 2016-06-25 16:39:02 -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 Generate a user to use both on the LiveCD and installed system 2016-07-03 00:19:40 -04:00
README Update documentation 2016-06-27 17:01:49 -04:00
restore.sh Add scripts to backup/restore FS directory 2016-07-01 16:17:29 -04:00
run.sh Fix qemu options so a full install really works 2016-06-28 16:14:01 -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-get 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