class: center, middle  ## Debian-Installations-ISOs anpassen ### Hauke Goos-Habermann #### https://goos-habermann.de --- ### Über mich - Entwickler des
Softwareverteilungssystems m23
- Organisator der
Kieler Open Source und Linux Tage
-
Dienstleister zu m23, Linux und Freier Software
- Softwareentwicklung (PHP, BASH, C/C++, JS, Python und was sonst so gebraucht wird...) - Administration - Schulungen - Support - Beratung - quasi **alles**, *was mit Linux zu tun hat* - Wöchentlicher Livestream *"Jean und Hauke Show"* auf https://www.youtube.com/c/LinuxGuides - *"Nicht der Weisheit letzter Schluß"* mit **beruflichen** oder **privaten Projekten** auf
tube.tchncs.de/c/ndwls
und
youtube.com/@nichtderweisheit
- Hat gerade die neue m23-Version 23.1 fertiggestellt :-) Puh ;-) --- ### Neues m23-Installationsmedium  * Basiert auf dem **Debian-12-Netzwerkinstallations-ISO** * Optionen des normalen Installationsablaufes sind mittels **Debian Preseed** (preseed.cfg) festgelegt und werden nicht abgefragt. U.a. * **Statische IP** * **Partitionierungsschema** * **Keine Auswahl** von Desktop oder Paketzusammenstellungen * Installiert **nur** die für m23 **nötigen Pakete** * Distributionslogo-**Grafik** im Installationsprogramm **ausgetauscht** * ISO enthält **nur .deb-Pakete**, die auf der Platte installiert sind * Nach dem 1. Start von HDD/SSD wird ein **Skript** von goos-habermann.de **heruntergeladen**, das die **m23-Pakete installiert** (/etc/rc.local) --- ### Dodger-Tools installieren  Die Dodger-Tools könnt Ihr (als root) mit
installDT.sh
auf **Debian, Ubuntu, Linux Mint, Raspberry Pi OS** (und wahrscheinlich auch anderen Debian-Derivaten) installieren: ```bash cd /tmp wget https://goos-habermann.de/installDT.sh -O installDT.sh bash installDT.sh ``` Je nach Dodger-Tools-Modul, das Ihr nutzen möchtet, müßt Ihr noch weitere Pakete installieren. Zum Installieren aller Pakete, die vor irgendeinem Modul verwendet werden: ```bash apt-get install -y dodger-tools --install-suggests ``` --- ### ISO entpacken * Ggf. Pakete nachinstallieren ```bash apt install libarchive-tools cpio xorriso pigz ``` * Netzwerkinstallations-ISO von https://www.debian.org/download herunterladen * Entpacken mit ```bash dt_deb_ISOextract [Debian...iso] ``` * Danach existieren zusätzliche Dateien und Verzeichnisse * Inhalt der entpackten **Initrds** * *extractedInitrds/install.amd*: **Textmodus** * *extractedInitrds/gtk*: **Grafische Installation** * *extractedInitrds/xen*: Installer für **Xen**? * **Inhalt** des **ISOs** unter *ISOcontents* (nur mit *.deb aus pkglist.txt) * Datei *isohdpfx.bin* mit **MBR-Informationen** für das Booten auf BIOS-Systemen * **Bezeichnung des ISOs** in *isoname.txt* --- ### ISO modifizieren * *initrdPatch/preseed.cfg*: Verhalten des Installationsprogrammes beeinflussen * Beispiel vom **Debian-Projekt**: https://www.debian.org/releases/bookworm/example-preseed.txt *
preseed.cfg
von ***"Debian 12 for m23"*** * *initrdPatch/usr/share/graphics/logo_debian.png*: Distributions**logo** im **Installationsprogramm** (wird die ganze Zeit angezeigt) * *cp2trgt/etc/rc.local*:
rc.local
wird **automatisch beim Booten** von SSD/HDD **gestartet** PS Erstellen der **Liste** von benötigten **Debian-Paketen**, damit die ungenutzen vom **ISO gelöscht** werden können: ```bash dpkg --get-selections | grep -v deinstall$ | tr -d '[:blank:]' \ | sed 's/install$//g' | cut -d':' -f1 > pkglist.txt ``` --- ### ISO bauen ```bash dt_deb_ISObuild [Name des neuen ISOs] [ISO-Bezeichnung] ``` * Erstellt *md5sum.txt* mit den **Prüfsummen** aller Dateien neu * Kopiert alles aus *initrdPatch* in jedes **initrd**-Verzeichnis * Alle ***initrd.gz*** neu packen * Kopiert *cp2trgt*-Verzeichnis in das ISO-Verzeichnis (wird per preseed.cfg 1:1 auf das Zielsystem kopiert) * Schreibt bootfähiges ISO --- class: center, middle ### Informationen zu mir und meinen Dienstleistungen, m23, ... ### https://goos-habermann.de