1. Install the dependencies. On ubuntu you can do that by going to [ubuntu-dependencies](ubuntu-dependencies), executing [build.sh](ubuntu-dependencies/build.sh) and then installing the created `tardis.deb`. For other systems you can view the dependency list in [debian package control file](ubuntu-dependencies/tardisDev/DEBIAN/control).
2. Download the kubuntu version, that is mentioned at the start of [assemble\_image.sh](assemble_image.sh)
3. Create a directory `/workspace`, that is owned by your regular non-root user
4. (OPTIONAL) Set `USE_OFFLINE_REPO` in [assemble\_image.sh](assemble_image.sh) to `1`, to create an offline repo on the stick
5. You call [assemble\_image.sh](assemble_image.sh). This takes some time.
6. The compiled image is at `/workspace/output.img`. It is an MBR/DOS-partitioned image, that can be copied byte-by-byte onto a stick (for example with `sudo dd if=/workspace/output.img of=/dev/sdX bs=4M conv=fsync oflag=direct status=progress` replacing `/dev/sdX`, with your stick's device-file and sudo with the privilege elevation tool of your choice).
# How it works internally
We use the preseed mechanism of debian-installer to start scripts before and after the regular installation and to set the language.
Information about preseeding can be found in the [debian manual](https://www.debian.org/releases/stable/amd64/apb.en.html).
Information about the ubuntu specific options can be found in the [ubuntu wiki](https://wiki.ubuntu.com/UbiquityAutomation).