Debootstrap

Aus DebianforumWiki
Wechseln zu: Navigation, Suche
WikiInstallation von Debian ‹ Debootstrap


Getestet.png Getestet: Dieser Hinweis soll dir dabei helfen, zu entscheiden, ob dieser Artikel auf deinem System funktionieren wird oder nicht. Solltest du feststellen, dass dieser Artikel bei einer ungetestet Version funktioniert, kannst du das gerne hier korrigieren oder im Forum anmerken.



Warnung.png Warnung: Da bei dieser Installationsvariante alle elementaren Einstellungen per Hand vorgenommen werden müssen, ist sie auf keinen Fall für Einsteiger geeignet!


Debianpackage.png Debootstrap ermöglicht die Installation eines Debian Betriebssystems aus einem laufendem System heraus. Insbesondere kann dabei das Installationsziel eine physikalische Partitionen oder aber eine chroot-Umgebung sein.

Debootstrap selber installiert nur ein minimales Grundsystem, das noch einiger Anpassungen bedarf. Ist dies geschafft, kann man sehr leicht mittels apt ein vollwertiges System erstellen. Dieser Artikel will dabei die prinzipielle Vorgehensweise aufzeigen.

Vorbereitungen

Als Voraussetzungen ist es zunächst einmal nötig, das Paket "debootstrap" installiert zu haben. Soweit zu nötigen Paketen. Als nächstes muss das Ziel vorbereitet werden. Dazu wird das Wurzelverzeichnis erstellt. Ist das Ziel eine chroot-Umgebung, ist dies schnell mit dem Erstellen des Verzeichnisses getan.

Für eine herkömmliche Installation hingegen, muss zunächst partitioniert werden, die Partitionen müssen mit dem gewünschten Dateisystem formatiert und die Dateisysteme entsprechend in einem Verzeichnis gemountet werden. In diesem Beispiel ist dieses Verzeichnis /target.

Ist diese Arbeit getan, kann mit dem eigentlichen Debootstrappen begonnen werden.

Der Debootstrap-Vorgang

Das Programm debootstrap erwartet drei Argumente. Das ist erstens der (Code)name der zu installierenden Debianversion also z.B. lenny, squeeze oder unstable. Zweitens wird der Pfad zum Wurzelverzeichnis benötigt. Und drittens die Adresse eines Debianspiegels, z.B. http://ftp.de.debian.org/debian/. Hier kann man auch einen lokalen apt-cacher-ng verwenden. Desweiteren ist die Option --arch für die Zielarchitektur zuständig, wird dieser Parameter nicht angegeben, wird automatisch die Architektur des aktuellen Systems benutzt. Für weitere Optionen siehe Manpage von debootstrap.

Ein 32-Bit System installiert man also mit:

root@debian:~# debootstrap --arch=i386 stretch /target http://ftp.de.debian.org/debian/

Ein 64 Bit System dagegen mit:

root@debian:~# debootstrap --arch=amd64 stretch /target http://ftp.de.debian.org/debian/

Nun ist es Zeit für die obligatorische Tasse Kaffee. Ist das Debootstrappen abgeschlossen, kann es mit den grundlegenden Einstellungen weitergehen.

Das neue System einrichten

Damit im eben installierten Basissystem, in dem noch jede Menge fehlt, mittels chroot gearbeitet werden kann, müssen nun eine ganze Reihe von Pseudo-Dateisysteme gemountet werden:

root@debian:~# mount -o bind /proc /target/proc
root@debian:~# mount -o bind /dev /target/dev
root@debian:~# mount -o bind /dev/pts /target/dev/pts
root@debian:~# mount -o bind /sys /target/sys

Dann wechselt man per

root@debian:~# chroot /target

in die neue Installation.

Hinweis.png Hinweis: Im folgenden sind vor allem die zu erledigenden Schritte bei einer herkömmliche Installationen erklärt. Wird statt dessen ein Chroot erstellt, so muss im einzelnen geprüft werden, welche Schritte tatsächlich notwendig sind oder auch fehlen.


Zunächst überprüfen wir den Inhalt der /etc/apt/sources.list und korrigieren, soweit nötig. Anschließend wird ein

root@debian:~# apt-get update

ausgeführt.

Nun installieren wir folgende Pakete via apt:

root@debian:~# apt-get install console-data console-common tzdata locales keyboard-configuration

Zusätzlich benötigen wir einen Kernel. Dazu wird entsprechend der Prozessorarchitektur das Paket Debianpackage.png linux-image-686 bzw. Debianpackage.png linux-image-amd64 installiert.

Abschliesend wird mit

root@debian:~# dpkg-reconfigure tzdata console-data console-common keyboard-configuration

die Locale und das Charset eingestellt.

Jetzt kommt ein gern vergessener Schritt!

Das root-Passwort setzen:

root@debian:~# passwd

Es ist auch möglich, gleich mit adduser weitere Benutzer zu erstellen.

Weitere Schritte, die im Rahmen dieses Artikels nicht im Detail besprochen werden:

  • In /etc/fstab die benötigten mounts eintragen
  • In /etc/network/interfaces die Netzwerkkarten einrichten, insbesondere das Loopback-Interface
  • In /etc/hostname den Hostnamen festlegen
  • In /etc/hosts Alias festlegen
  • In /etc/resolv.conf den Nameserver eintragen, falls kein DHCP benutzt wird

Falls der apt-cacher-ng oder ein ähnlicher Proxy verwendet wurde:

  • In /etc/apt/sources.list den apt-cacher-ng durch ftp.de.debian.org oder einen anderen offiziellen Mirror ersetzen
  • In /etc/apt/apt.conf den lokalen Cacher eintragen

Damit ist die Konfiguration abgeschlossen und es kann der erste Systemstart folgen. Dazu wird zunächst noch ein Bootloader benötigt.

Grub installieren

Als Bootloader wird man abhängig davon ob der Computer im UEFI-Modus gebootet werden soll oder im Legacy/CSM-Modus (oder noch über gar kein UEFI verfügt) das Paket Debianpackage.png grub-efi-amd64 oder Debianpackage.png grub-pc installieren wollen und richtet den Bootloader entsprechend ein. Im Falle von grub-pc ist bei grub-install ist besonders auf das passende Device zu achten und bei grub-efi muss die EFI System Partition unter /boot/efi (im neu installierten System, auf dem Wirtssystem also /target/boot/efi) gemountet werden. Dabei ist gegebenenfalls darauf zu achten, dass die Installation des Bootloaders die Booteinträge im nvram nicht unerwünscht überschreibt. (Für das Anlegen der Booteinträge muss das Wirtssystem bereits im UEFI-Modus gebootet sein, andernfalls empfiehlt sich für grub das Erzwingen der Installation in den "EFI removable media path", der beim Konfigurieren des Pakets angeboten wird.)

Für ältere Systeme ohne amd64-Erweiterung und einige wenige amd64-Systeme, die über ein 32bittiges (U)EFI verfügen, muss statt Debianpackage.png grub-efi-ia32 installiert werden.

Mehr Informationen zum Booten im UEFI-Modus finden sich in diesem Artikel.

Der erste Systemstart

Mit exit wird die chroot-Umgebung verlassen, anschließend erfolgt der Reboot.

Ist alles korrekt eingerichtet, müsste uns nach einer Weile der Login-Prompt unseres neuen Debian begrüßen.

Wir haben jetzt ein vollwertiges Debian, das nach Lust und Laune mit Programmen bestückt werden kann.