Wieder mal VMware

Aus NOBAQ
Version vom 2. Mai 2009, 22:15 Uhr von Niki (Diskussion | Beiträge)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Zur Navigation springenZur Suche springen
Vmware-logo.png

Wieder einmal hatte ich Lust, einfach andere Systeme auszuprobieren und so habe ich mir wieder eine Evaluationskopie von VMware besorgt. FreeBSD läuft wunderbar, incl. X & Co. Bei der Installation gab es absolut kein Problem. Von Solaris finde ich leider die erste CD nicht mehr an. Und zum Schluss habe ich noch Debian installiert (bzw bin immer noch dabei). Das mache ich komplett ohne Installationsmedium völlig automatisch per Netboot.


Warum?

Ich habe auf meinem Notebook gerade VMware installiert und nachdem ich bereits FreeBSD installiert habe, wollte ich auch noch Debian installieren. Aber komplett vom Web. Da ich keine CD brennen wollte und auch kein Floppy hatte, beschloss ich, das ganze per Netzwerk zu machen. Irgendwie faszinierend: Installation eines Systems, komplett ohne Bootmedium.

Szenario

Ich beschreibe hier den Verlauf für: Vorhandener Debian woody Server mit IP Adresse 192.168.200.121, WindowsXP Notebook 192.168.200.131 und VMware mit Ethernetbridging.

Ablauf

  • Installation der benötigten Dienste am Server (192.168.200.121)
  • Konfigurieren dieser Dienste
  • Erstellen einer VMware Sitzung
  • Booten & Installieren

= Installation der benötigten Dienste am Server

Es sollte nun durch apt alles basis-konfiguriert werden.

Da ich xinetd verwende, habe ich noch folgendes zur /etc/xinetd.conf hinzugefügt:

service tftp
{
	socket_type  = dgram
	protocol  = udp
	wait   = yes
	user   = root
	server   = /usr/sbin/in.tftpd
	server_args  = -v -s /home/system/tftpd
	bind   = 192.168.200.121
	disable   = no
}

Ich binde Das Service zusätzlich noch an das lokale Interface, damit TFTP nur im lokalen Netz erreichbar ist.

Konfigurieren der Dienste

Konfigurieren des TFTP Servers

Ich verwende als TFTP-Exportverzeichnis /home/system/tftpd. Entsprechend ist der Pfad in /etc/inetd.conf bzw /etc/xinetd.conf (wie oben beschrieben) zu ändern. Ich empfehle ausserdem, in.ftpd das “-v”-Flag hinzuzufügen, um mehr Logmeldungen zu erhalten. Das “-s” Flag macht ein chroot ins Datenverzeichnis und sorgt so für mehr Sicherheit bzw. kürzere Dateinamen. Leider ist es nicht möglich, den Server als unpriveligierten Benutzer per inetd zu starten (Fehler: “Could not find group for user nobody” oder so ähnlich) Ich beschreibe hier die Installation per PXE, d.h. es wird ein Bootloader geladen anstatt eines Images (erst danach das Kernelimage). Dazu in den root des TFTP Servers wechseln (z.B. /home/system/tfpd) und die benötigte Datei herunterladen:

wget url

Wobei url z.B. durch http://ftp.debian.org/debian/dists/sarge/main/ installer-i386/current//images/netboot/netboot.tar.gz bzw. einen lokalen Mirror zu ersetzen ist.

Danach einfach entpacken:

tar xvzf netboot.tar.gz

Fertig! Der TFTP Server ist fertig konfiguriert und alle benötigten Dateien können verwendet werden.

Konfigurieren des DHCP Servers

Die Konfigurationsdatei befindet sich in bei debian in /etc/dhcp3/dhcp3.conf

Meine Datei sieht so aus (dient nicht nur für die Installation per Netzwerk ;-):

option netbios-node-type 8; option netbios-name-servers 192.168.200.121;

ddns-update-style interim;

authoritative;
default-lease-time 60000;
max-lease-time 72000;
allow bootp;

subnet 192.168.200.0 netmask 255.255.255.0 {
	range 192.168.200.200 192.168.200.254;
	option domain-name "nobaq.lan";
	option domain-name-servers 192.168.200.121;
	option routers 192.168.200.121;
	option subnet-mask 255.255.255.0;
	option broadcast-address 192.168.0.255;
	filename "/pxelinux.0";
	server-name "nobaq";
	next-server 192.168.200.121;
}

Wichtig sind hier die folgendes Sachen:

allow bootp;
Damit wird bootp überhaupt erst möglich filename gibt den Pfad zur pxe-Datei an.
server-name
erklärt sich von selbst und
next-server
gibt den TFTP Server an, also die IP Adresse des Servers.

Das wars jetzt auch schon für den DHCP Server!

Installation

Ich empfehle, parallel die Meldungen per syslog mitzuvervolgen, um ggf. Fehler leicht zu finden:

tail -f /var/log/syslog | colorize

Das Erstellen einer VMware Session sollte kein Problem sein. Danach einfach einschalten. Das VMware BIOS durchsucht dann automatisch alle Medium nach einem Bootsektor und zum Schluss wird versucht, per Netzwerk zu booten. Das BIOS holt sich per DHCP eine Adresse vom DHCP Server und die benötigten Dateien vom TFTP Server. Schon bald sollte das Debianlogo und die Nachricht “Press F1 for help or ENTER to boot” sichtbar sein. Einmal ENTER drücken und warten! ACHTUNG: Bei mir hat sich für ca 5 Minuten nichts getan! Erst danach wurde der eigentliche Kernel und das initrd erfolgreich nachgeladen (linux und initrd.gz). Danach startet aber das normale Debiansetup und es kann normal über einen Debianmirror weiterinstalliert werden.

Kommentare

<comments />Diskussion:Wieder mal VMware