Files
custom-debian-iso/README.org
2022-04-20 22:42:43 +02:00

51 lines
2.5 KiB
Org Mode

* UDIB
=UDIB= is the /unattended debian installation (image) builder/.
As the name would suggest, it is a tool which builds a debian installation image which, if used to boot from, installs the *latest stable release* of Debian Linux to the machine without any user interaction required whatsoever.
Configuration of the installed system takes place while building the image using =UDIB=.
** Prerequisites
*** Target machine
Any target machine on which you wish to install Debian using images built using =UDIB= must fulfil the following requirements:
- *Architecture:* An x64-amd CPU
- *Network access:* an ethernet connection with internet access (/wifi does not work/)
*** Build machine
=UDIB= has the following dependencies, installed on and in the ~$PATH~ of the machine on which you build your image:
- =python3= /(3.10.4 known to work)/
- =xorriso= /(1.5.4 known to work)/
- part of [[https://packages.debian.org/bullseye/xorriso][xorriso]] on Debian bullseye
- part of [[https://www.archlinux.org/packages/extra/x86_64/libisoburn/][extra/libisoburn]] on Arch Linux
- =gpg= /(2.2.32 known to work)/
Internet access is required so that =UDIB= can download the Debian installation image.
** How it works
=UDIB= does the following:
1. download the latest debian stable installation ISO
2. verify integrity and authenticity of the obtained ISO
3. extract the ISO
4. interactively build a preseed configuration for the debian installer
5. inject the preseed configuration into the ISO's initrd
6. repack the modified ISO
*** Preseeding
The Debian project provides a well-written and detailed [[https://www.debian.org/releases/stable/amd64/apb.en.html][official guide]] on how preseeding works, and how to implement it. The Debian wiki offers a [[https://wiki.debian.org/DebianInstaller/Preseed][quick overview]] of preseeding as well.
Example preseeding configurations are provided as well. The [[https://www.debian.org/releases/stable/example-preseed.txt][basic example]] is what =UDIB= is based on, but much more detailed preseeding is also possible, as seen in the [[https://preseed.debian.net/debian-preseed/bullseye/amd64-main-full.txt][full example]].
*** ISO repacking
The Debian wiki provides both a [[https://wiki.debian.org/DebianInstaller/Preseed/EditIso#Adding_a_Preseed_File_to_the_Initrd][basic guide]] and a [[https://wiki.debian.org/RepackBootableISO][detailed guide]] on repacking debian installation images with the preseed file (and other files) contained within.