This repo provides a scaffolding for performing a fully automated network install of Ubuntu 22.04.
IF YOU RUN THE AUTOINSTALL OPTION, IT WILL OVERWRITE ANY DATA ON THE TARGET DISK WITH NO FURTHER PROMPT
- Download an Ubuntu 22.04 Server Live-CD ISO and place it in
srv/images/ubuntu-22.04.2-live-server-amd64.iso
- Download a copy of grubnetx64.efi and place it in
srv/boot/grubx64.efi
- Edit line 13 of
tftp.plist
to be the full directory path to the srv directory - Edit
srv/grub/grub.cfg
and replace all references toyour-host-or-ip
with the host or IP that will be running the server (your current ip usually) - If you wish to do an interactive install instead of an automated one, skip to step 8
- Copy
srv/autoinstall/user-data-template
tosrv/autoinstall/user-data
- Update srv/autoinstall/user-data to include your desired details. Pay particular attention to lines:
- 27-31 for your user details and hostname
- Generating a crypted password is surprisingly irritating to do on macos. The easiest way to get one is probably to run:
docker run -it quay.io/coreos/mkpasswd -m sha512crypt -s
- Generating a crypted password is surprisingly irritating to do on macos. The easiest way to get one is probably to run:
- 43, if you require a different locale than en_US
- 40, 53 should contain your ssh public key (yes, twice, once on each line)
- 59: The desired unlock passphrase for full-disk encryption, in plaintext
- 43: Add any additional desired packages here
- 27-31 for your user details and hostname
- Be sure you're ready for your target machine to be completely wiped
- Set your DHCP server supply PXE boot settings:
- Option 66 / Server IP: point at the current machine (the one with the repo)
- Option 67:
boot/bootx64.efi
- Start the server:
sudo ./run.sh
- On the target machine, invoke network boot (On an Intel NUC, F12 during POST)
- Select automatic or manual install, as desired
- When finished, press enter in the shell where you ran run.sh to shut down the image server