From 1635d4c1276ff29a32b8954b5901554911933afc Mon Sep 17 00:00:00 2001 From: ulinja <56582668+ulinja@users.noreply.github.com> Date: Wed, 20 Apr 2022 22:42:43 +0200 Subject: [PATCH] add README --- README.org | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 README.org diff --git a/README.org b/README.org new file mode 100644 index 0000000..6251fe3 --- /dev/null +++ b/README.org @@ -0,0 +1,50 @@ +* 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. +