Scripts used to build the official images on http://labs.online.net/
Build a tarball of ubuntu-trusty
cd images/ubuntu-trusty
./build tarball
Build a disk image of debian-wheezy
- Be sure to have a /dev/nbd1 device attached (WARNING, everything will be deleted)
- Run:
cd images/debian-wheezy; ./build image /dev/nbd1
- If everything is OK, run
sync; halt
- Powerof your server from the console
- Create a snapshot of /dev/nbd1
- Try to boot from your snapshot or create a new image from your snapshot
- Copy the closest existing image
- Adapt things you are sure
- Run a first
DEBUG=1 ./build image
- If you have errors, you need to investigate and fix your script
- If you just want to give a try or do some checks before, the working directory is mounted in
rootfs-target
, you can inspect, chroot, etc
List of features, scripts and modifications to check for proper labs.online.net image creation.
- Add sysctl entry
vm.min_free_kbytes=65536
- Configure NTP to use internal server.
- Configure SSH to only accept login through public keys and deny environment customization to avoid errors due to users locale.
- Configure default locale to
en_US.UTF-8
. - Configure network scripts to use DHCP and enable them. Although not, strictly speaking, needed since kernel already has IP address and gateway this allows DHCP hooks to be called for setting hostname, etc.
- Install custom DHCP hook for hostname to set entry in
/etc/hosts
for software usinggetent_r
to get hostname. - Install scripts to fetch SSH keys
- Install scripts to fetch kernel modules.
- Install scripts to connect and/or mount NBD volumes.
- Install scripts to manage NBD root volume.
- Disable all physical TTY initialization.
- Enable STTY @ 9600 bps.
Before making the image public, do not forget to check it boots, stops and restarts from the OS without any error (most notably kernel) since a failure could lead to deadlocked instances.