21x9.org | System Administration | Home Automation | Smart Home
07.02.2013

Debian Remote Installer

Es kann immer mal passieren, dass man ein System mit einer bestimmten Vorkonfiguration verwalten muss. Bei Manitu kann man z.B. zwischen verschiedenen Paritionierungssettings wählen, bevor man den Server bestellt. Aber wenn mein keins der vorgeschlagenen Settings gefällt ist noch nicht alles verloren.

Debian kann auch auf entfernten Geräten neu installiert werden, z.B. für ein Setup mit verschlüsselten Laufwerken und/oder LVM, abweichender RAID-Konfiguration, etc.Zunächst ist die sources.list anzupassen:

# /etc/apt/sources.list

deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.debian.org/debian/ squeeze main contrib non-free

deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free

Anschließend werden die benötigten Pakete installiert:

apt-get install dpkg-dev gnupg
apt-get source debian-installer
apt-get build-dep debian-installer

Nun ist die build-config anzupassen:

#  debian-installer-20110106+squeeze4/build/pkg-lists/netboot/amd64.cfg

#include "network-console"

Die neue Zeile wird an den Anfang der Datei gestellt. Das ``# ist zwingend notwendig.

Anschließend wird eine preseed-config erstellt:

# /tmp/preseed.cfg

d-i debian-installer/locale            string en_US
d-i debconf/priority                   select critical
d-i auto-install/enabled               boolean true
d-i netcfg/choose_interface            select eth0
d-i netcfg/disable_dhcp                boolean true
d-i netcfg/get_nameservers             string 192.168.2.3
d-i netcfg/get_ipaddress               string 192.168.2.25
d-i netcfg/get_netmask                 string 255.255.255.0
d-i netcfg/get_gateway                 string 192.168.2.1
d-i netcfg/confirm_static              boolean true
d-i netcfg/get_hostname                string myserver
d-i netcfg/get_domain                  string myhome.none
d-i network-console/password           password foobar
d-i network-console/password-again     password foobar

Es folgt eine weitere build-config:

# debian-installer-20110106+squeeze4/build/config/local

PRESEED=/tmp/preseed.cfg
USE_UDEBS_FROM=squeeze

Nach einem Wechsel in das build-Verzeichnis wird das netboot-Image erzeugt:

cd debian-installer-20110106+squeeze4/build/
fakeroot make rebuild_netboot

Die so erzeugten Images werden nun in das /boot-Verzeichnis kopiert:

cp dest/netboot/debian-installer/amd64/linux /boot/debian-installer
cp dest/netboot/debian-installer/amd64/initrd.gz /boot/debian-installer-rd.gz

Abschließend wird die grub-Config angepasst:

# /boot/grub/menu.lst

title debian installer
root (hd0,1)/
kernel /debian-installer rw ramdisk_size=24000 root=/dev/rd/0
initrd /debian-installer-rd.gz

Der Eintrag muss vor allen weiteren Boot-Konfigurationen eingefügt werden (direkt unter End Default Options).

Anschließend kann das System neu gestartet werden. Der Login muss dann mit dem Benutzer installer und dem in der preseed.cfg gewählten Kennwort erfolgen. Die Installation ist ab diesem Moment identisch mit einer Debian-Installation von einer netboot-CD.

Tags: imported

Tags

imported

Feeds

Atom 1.0 RSS JSON
  • Datenschutz
  • Impressum
  • Archiv