tuxler
Goto Top

Linux PXE ? basierte Netzwerkinstallation

Automatische Installation von Suse Linux 9.3 über LAN , mithilfe von PXE

1. Grundlage / Innovation

Es soll ein Server für eine automatische netzwerkbasierte Installation von Linux auf den neu gebauten Servern eingerichtet werden. Zweck dieser Maßnahme ist es, eine Zeitersparnis bei der Vor - Installation der Server zu erreichen.

2. Hardware

Voraussetzung hierfür sind clientseitig PXE - bootfähige Netzwerkkarten und eine Verbindung zum Installationsserver über LAN.
Beim Server ist nat. die Ausfallsicherheit zu gewährleisten. (Raid, Redundanz, ?.).
Ansonsten gibt es keine hardwareseitigen Voraussetzungen.

3. Server Installation

a. Installation Suse Linux 9.3

Zu Beginn ist ein einfaches Suse Linux System zu installieren. Es gibt hierbei noch keine Besonderheiten, die zu beachten sind. Es sollte wenn möglich ein graphisches System installiert werden, da später YAST2 benötigt wird. Die benötigten Server (DHCP, TFTP, NFS) sind bei der Installation schon mit dabei (falls nicht, bitte betreffende Pakte nachinstallieren)

b. Einrichten DHCP Server

Zuerst wird die Netzwerkkarte des Servers eingerichtet, und eine feste IP vergeben. In diesem Fall 10.10.10.5. Falls der Server über 2 Netzwerkkarten verfügt, am besten 1 deaktivieren, falls diese nicht gebraucht wird. Dies verhindert eventuelle Störungen der IP Adressverteilung.
Als nächstes ist der DHCP Server für die automatische IP Adressverteilung einzurichten.
Editieren der Datei /etc/dhcpd.conf wie folgt:

Bsp: vi /etc/dhcpd.conf
# Standardeinstellungen
option broadcast-address 10.255.255.255;
option subnet-mask 255.0.0.0;
option domain-name "PXEServer";  
option domain-name-servers 10.10.10.5;
option routers 10.10.10.5;
allow bootp;
allow booting;
allow unknown-clients;
ddns-update-style none;
default-lease-time 14400;
#Gruppe der PXE Clients
subnet 10.0.0.0 netmask 255.0.0.0 {
  range dynamic-bootp 10.10.10.50 10.10.10.100;
  next-server 10.10.10.5; #PXEServer
  server-name "10.10.10.5";  
  filename "/pxelinux.0";  
  get-lease-hostnames true;
  use-host-decl-names on;
}
Erläuterungen zur dhcpd.conf ? Datei:
? allow booting ; allow bootp ermöglicht das Booten vom Netz und den Empfang einer IP Adresse
? Standardeinstellungen = globale Einstellungen des Netzwerks
? option domian-name ==> Installationsserver = PXEServer
? ddns-update-style none ==> DHCP arbeitet ohne dynamische Updates
? PXE Gruppe = PXE - Clients
? range dynamic-bootp ==> Adressbereich für Clients
? filename = Lage der Datei pxelinux.0 im Ordner tftpboot, welche von PXE gebraucht wird

Wenn die Einstellungen in der dhcpd.conf passen wird der DHCP Server Dienst mit
rcdhcpd restart
neu gestartet, um die neuen/geänderten Einstellungen zu übernehmen.
Alternativ können die DHCP Servereinstellungen auch mit YAST konfiguriert werden.

Tipp !

Es ist sinnvoll gleich jetzt die Funktionalität des DHCP Servers zu testen. Am besten einen anderen PC mit dem Server über LAN verbinden und schauen, ob der PC eine IP Adresse vom PXE - Server erhält. Am PC muss "IP Adresse automatisch beziehen" an der Netzwerkkarte eingestellt werden.

c. Einrichten NFS Server

Danach muss ein NFS Server installiert werden.
Der NFS Server stellt Verzeichnisse bereit, von denen aus später die Installation durchgeführt wird. Zu diesem Zweck wird ein neuer Ordner erstellt, in den dann alle Suse Linux 9.3 CDs kopiert werden. Der neue Ordner kann in jedem beliebigen Verzeichnis erstellt werden. Zu beachte ist, dass diese Pfadangabe dann auch in allen folgenden Einstellungen übernommen werden muss. (z.B in der Datei default)
mkdir NeuerOrdner
mount /media/dvdrecorder
cp ?av /media/dvdrecorder/* /NeuerOrdner
Die komplette Suse9.3 DVD (oder alle CD´s) (und evtl. benötigte zusätzliche Treiber) wird komplett ins Verzeichnis srv/SuseBoot/ (= NeuerOrdner) kopiert.
Dieses Verzeichnis wird dann als NFS Verzeichnis freigegeben. Dies kann man anhand der Datei /etc/exports erledigen, oder auch wieder alternativ mit YAST das NFS Verzeichnis freigeben.

Bsp: vi /etc/exports
/srv/SuseBoot/		*(rw,no_root_squash,sync)
Erläuterungen zur exports - Datei:
? Freigabe Verzeichnis: /root/SuseBoot/
? Erlaubte Server: * = jeder Server
? rw = Lese - und Schreibrecht für den Ordner
? sync = Synchronisation

Der NFS Server wird mit dem Befehl
	rcnfsserver restart 
neu gestartet, dadurch werden die aktuellen Einstellungen übernommen und der Zugriff über NFS sollte funktionieren.

Tipp !

Am besten hier mit einem anderen Linux Rechner schon die Funktionalität von DHCP - und NFS ? Server testen. Am Linux Rechner ein NFS Client einrichten (YAST2) und probieren , ob das vom Server freigegebene Verzeichnis erreicht werden kann.
Wenn der Rechner hier eine IP Adresse bekommt und auf das NFS Verzeichnis zugreifen kann, kann mit dem nächsten Schritt fortgefahren werden.
mögliche Fehlerquellen:
? Firewall deaktivieren oder Einstellungen anpassen
? Netzwerkkarte ist aktiviert (ifup eth0)
? DHCP Server läuft nicht (dhcpd restart)
? NFS Server läuft nicht (nfsserver restart)
? Einstellungen in /etc/dhcpd.conf überprüfen
? Einstellungen in /etc/exports überprüfen
? Kabel, Switch, Netzwerkkarte
? DHCP Server Einstellungen nochmals überprüfen (dhcpd.conf)

d. Einrichten TFTP Server

Der TFTP Server dient zur Datenübertragung (Kernelbootimages) zwischen Server und
PXE ? Clients.
Es muss auch hier wieder ein Verzeichnis für den TFTP Server angelegt werden und mit "tftpboot" benannt werden. Der Ordner kann auch in einem beliebigen Verzeichnis erstellt werden, vorzugsweise aber unter /srv/tftpboot.
Zum Aktivieren des TFTP Servers die Datei /etc/xinitd.d/tftp ändern:
? disable = yes  disable = no
? server_args : - Schalter ?s = relativer Pfad (tftpboot)
- Pfadangabe zu pxelinux.0

Bsp: vi /etc/xinitd.d/tftp
# default: off
# description: tftp service is provided primarily for booting or when a \
# 	router need an upgrade. Most sites run this only on machines acting as
# 	"boot servers". 
service tftp
{
socket_type     = dgram
protocol        = udp
wait            = yes
user            = root
server          = /usr/sbin/in.tftpd
server_args     =  -s /srv/tftpboot/
disable         = no
}
Der TFTP Server wir mit den initd Diensten gestartet. D.h. mit dem Kommando
/etc/initd/xinitd restart
wird der TFTP Server gestartet.

Tipp !

Auch hier ist es ratsam gleich die TFTP Funktionalität mit einem anderen Rechner zu testen.

e. Syslinux und Bootloader

Danach geht es an die Einstellungen des Bootloaders. Hierzu muss das Paket Syslinux installiert sein. Normal ist Syslinux unter /usr/share/syslinux zu finden.
Falls Syslinux nicht installiert ist, kann man das Paket unter http://syslinux.zytor.com/index.php herunterladen und nachinstallieren.
Danach wird die Datei pxelinux.0 aus dem Syslinux Paket in das tftpboot Verzeichnis kopiert:
cp ?a /usr/share/syslinux/pxelinux.0 /srv/tftpboot/
Ins Verzeichnis /srv/tftpboot/ wechseln und einen neunen Ordner pxeliunx.cfg erstellen:
cd /srv/tftpboot/
mkdir pxelinux.cfg
Danach wird die Datei isolinux.cfg von der ersten Suse CD (Pfad=/boot/loader/isolinux.cfg) in das Verzeichnis /srv/tftpboot/pxeliunx.cfg kopiert und in default umbenannt.
cp /media/dvdrecorder/boot/loader/pxelinux.cfg /srv/tftpboot/pxelinux.cfg/default
Jetzt werden die zum Booten benötigten Dateien (linux, initrd, message) noch ins tftpboot Verzeichnis kopiert.
cp ?a /media/dvdrecorder/boot/loader/linux /srv/tftpboot
cp ?a /media/dvdrecorder/boot/loader/initrd /srv/tftpboot
cp ?a /media/dvdrecorder/boot/loader/message /srv/tftpboot
cp ?a /media/dvdrecorder/boot/loader/memtest /srv/tftpboot
Danach nach /srv/tftpboot/pxelinux.cfg wechseln, und die Datei default wie folgt editieren.

Bsp: vi /srv/tftpboot/pxelinux.cfg/default
label suse_s	# SCSI / SATA 
  kernel linux
  append initrd=initrd ramdisk_size=65536 splash=0 vga=normal textmode=1 insmod=e100 insmod=e1000 insmod=rtl8139 insmod=tulip install=nfs://10.10.10.5/srv/SuseBoot/ autoyast=nfs://10.10.10.5/srv/SuseBoot/autoinst_sata.xml 

label suse_i	# IDE    
  kernel linux
  append initrd=initrd ramdisk_size=65536 splash=0 vga=normal textmode=1 insmod=e100 insmod=e1000 insmod=rtl8139 insmod=tulip install=nfs://10.10.10.5/srv/SuseBoot/ autoyast=nfs://10.10.10.5/srv/SuseBoot/autoinst_ide.xml     
  
implicit 	1 
display		message
prompt		1
timeout	2000
Erläuterung zur default Datei:
? In den append Zeilen können mit insmod=... Treiber eingebunden werden.
? Mit install=nfs? wird das NFS Verzeichnis mit den Linux CD´s angegeben.
? autoyast=nfs?zeigt auf die autoinst.xml, welche die Yast Installationsinfos enthält.

f. YAST Autoinstaller

Nun wird die eigentliche Installations- und Konfigurationsdatei mit der die Grundeinstellungen am System vorgenommen werden mit YaST2 erzeugt.
Nach dem Aufruf von

YaST -> Verschiedenes -> Automatische Installation

können alle Optionen angepasst werden.
Das Ergebnis wird als autoinst.xml im Ordner mit den Linux CDs (/srv/SuseBoot/) gespeichert.
Es können auch mehrere solcher autoinst.xml Dateien erzeugt werden, die sich aber im Namen unterscheiden müssen.
In unserem Fall werden 2 Konfigurationsdateien erzeugt, eine für SATA / SCSI und eine für IDE Systeme.
Die zweite Datei auch im selben Ordner (SuseBoot ? Verzeichnis), aber unter anderem Namen abspeichern. Es ist auch die default Datei dementsprechend anzupassen.

4. Client

Am Client ist die Bootreihenfolge so einzurichten, dass als erster Bootdevice die PXE Netzwerkkarten eingestellt sind. Ansonsten sind keine weiteren Einstellungen vorzunehmen.
Nach dem PXE Start kommt man ins Auswahlmenü für die verschiedenen Suse Versionen.
(IDE bzw. SATA/SCSI Systeme). Nach der Auswahl beginnt die automatische Installation, es sind später nur noch 2 mal die Einstellungen zu bestätigen.

5. Bootvorgang

Der Client erhält über DHCP eine IP Adresse und über TFTP wird pxelinux.0 aus tftpboot geladen. Wenn alles funktioniert, sollte die angepasste message aus tftpboot erscheinen.
Entsprechend der Boot ? Message wird dann das zu installierende System ausgewählt.
Danach folgt die Systeminitialisierung unter Linux und nach erfolgreichem Ablauf kommt man ins YaST Menü. Hier kann man das System noch indivuduell einrichten, oder aber auch die automatische Installation wählen, welche ein Minimalsystem Linux installiert.
Der Installationsvorgang läuft bis auf 2 Bestätigungen automatisch bis zur ersten Anmeldung durch.

6. Abschluss

Nun kann auf alle Server über LAN und PXE Boot Linux automatisch installiert werden.

Die Installation sollte unbeaufsichtigt ca. 10-12 Minuten dauern.

Viel Spass damit !!!!


P.S.: Für weitere Fragen oder Probleme stehe ich gern zur Verfügung.

Content-ID: 14198

Url: https://administrator.de/tutorial/linux-pxe-basierte-netzwerkinstallation-14198.html

Ausgedruckt am: 22.12.2024 um 18:12 Uhr

tuxler
tuxler 23.09.2005 um 19:40:42 Uhr
Goto Top
Hallo Leute,

da noch kein Feedback, oder Bewertungen auf das Tutorial gekommen sind, wollt ich mal fragen, ob die Anleitung hilfreich war, oder ob man gar nichts damit anfangen kann (was ich nicht hoffe)?

Danke
17843
17843 25.09.2005 um 14:14:19 Uhr
Goto Top
Hallo Tuxler,

ich habe dein tutorial ausprobiert und bin leider grandios gescheitert ;)

der bootvorgang wird immer mit folgender fehlermeldung beendet:

vfs cannot open root device "<null>" or unknown block (104,2)
please append a correct "root=" boot option
kernel panic not syncing: vfs: unnable to mount root fs on unknown block (104,2)

hast du eine idee zu der fehlermeldung. google hat nichts verwertbares gebracht.

wenn ich mit einer bootcd starte, funktioniert es tadellos.

grüsse
patrik
tuxler
tuxler 26.09.2005 um 23:04:44 Uhr
Goto Top
Hallo,

das höt man nat. nicht gern. ;-(
Ich glaub, dass es an deinem NFS Server scheitert.
Hast du den NFS Server eingerichtet und die entsprechende Verzeichnisse freigegeben?
Funktioniert der Zugriff auf das freigegebene NFS Verzeichnis?
Hast du den DHCP und NFS Test gemacht?

Wie weit kommst du in der Anleitung, bei welchem Schritt kommt der Fehler?
17843
17843 29.09.2005 um 17:49:15 Uhr
Goto Top
Hallo,

mit dem nfs-server gibt es bei mir probleme, daher habe ich ftp gewählt, was auch funktioniert. wenn ich von cd starte und als bootoption das autoyast und install verzeichnis angebe (identisch mit default.cfg), funktioniert es bestens.

grüsse
gege
gege 01.10.2005 um 16:53:54 Uhr
Goto Top
Hallo,

ich hab das Problme, das kein PXE Menü angezeigt wird sonder sofort das Menü aus message.

Gruß

gege
tuxler
tuxler 03.10.2005 um 14:55:45 Uhr
Goto Top
Hallo,

was genau meinst du mit PXE Menü?
Nachdem dein Rechner vom DHCP eine IP erhält, wird per tftp die default Datei geladen und dann erscheint deine message. Das is schon richtig so. Da kannst du dann dein zu installierendes System aussuchen und die Installation starten.
globe4ever
globe4ever 25.10.2005 um 09:21:56 Uhr
Goto Top
Gute Hilfe. Danke
EISERT
EISERT 23.11.2005 um 14:53:51 Uhr
Goto Top
hallo,

ich habe das problem das der client eine ip-adresse bekommt dann aber tftp mein file not found.. firewall ist aus, nfs- dhcp-server laufen, meine ordner nennt sich /share/tftpboot/ und steht in der /etc/exports mit /share/ drin also alle unter ordner werden mit freigegen..
wenn ich das richtig gesehen haben erwartet er die pxelinux.cfg/default
aber soweit kommt er nicht... muss ich die noch irgendwo mit angegen?
tuxler
tuxler 23.11.2005 um 17:22:02 Uhr
Goto Top
Hallo,

hast du die dhcp.conf wie folgt abgeändert?
Bsp: vi /etc/dhcpd.conf

  1. Standardeinstellungen
option broadcast-address 10.255.255.255;
option subnet-mask 255.0.0.0;
option domain-name "PXEServer";
option domain-name-servers 10.10.10.5;
option routers 10.10.10.5;
allow bootp;
allow booting;
allow unknown-clients;
ddns-update-style none;
default-lease-time 14400;
#Gruppe der PXE Clients
subnet 10.0.0.0 netmask 255.0.0.0 {
range dynamic-bootp 10.10.10.50 10.10.10.100;
next-server 10.10.10.5; #PXEServer
server-name "10.10.10.5";
filename "/pxelinux.0";
get-lease-hostnames true;
use-host-decl-names on;
}

Es wir die Datei pxelinux.0 gesucht.Die lädt dann die pxelinux.cfg/default.
EISERT
EISERT 24.11.2005 um 08:17:08 Uhr
Goto Top
Hallo,

es lag an der Zeile filename "/pxelinux.0"; ich wollte besonders schlau sein und den ganzen pfad angeben (/share/tftpboot/) jetzt kommt
trying to load:pxelinux.cfg/C0A828DA und dann zählt bis
..
trying to load:pxelinux.cfg/C
trying to load:pxelinux.cfg/default und erscheint wieder
could not find kernel image:linux

weiso sucht der jetzt ein imge?sollte jetzt nicht die "default" geladen werden?

danke
tuxler
tuxler 25.11.2005 um 20:11:24 Uhr
Goto Top
Hallo,

die default Datei wird nur "gelesen", und die darin enthaltenen Befehle ausgeführt.

Als erstes wird, wie unten zu erkennen, kernel linux geladen.

vi /srv/tftpboot/pxelinux.cfg/default

label suse_s # SCSI / SATA
kernel linux
append initrd=initrd ramdisk_size=65536 splash=0 vga=normal textmode=1 insmod=e100 insmod=e1000 insmod=rtl8139 insmod=tulip install=nfs:10.10.10.5/srv/SuseBoot/ autoyast=nfs:10.10.10.5/srv/SuseBoot/autoinst_sata.xml

label suse_i # IDE
kernel linux
append initrd=initrd ramdisk_size=65536 splash=0 vga=normal textmode=1 insmod=e100 insmod=e1000 insmod=rtl8139 insmod=tulip install=nfs:10.10.10.5/srv/SuseBoot/ autoyast=nfs:10.10.10.5/srv/SuseBoot/autoinst_ide.xml

implicit 1
display message
prompt 1
timeout 2000

Hast du alle Dateien in den reichtigen Ordner kopiert, so wie unten?

cp ?a /media/dvdrecorder/boot/loader/linux /srv/tftpboot
cp ?a /media/dvdrecorder/boot/loader/initrd /srv/tftpboot
cp ?a /media/dvdrecorder/boot/loader/message /srv/tftpboot
cp ?a /media/dvdrecorder/boot/loader/memtest /srv/tftpboot

Dann müsste das Linux Image auch geladen werden.

Ich hoffe das hilft dir weiter.
EISERT
EISERT 29.11.2005 um 09:29:19 Uhr
Goto Top
Hm also die default habe ich natürlich angepasst
kernel linux
append initrd=initrd ramdisk_size=65536 splash=0 vga=normal
textmode=1 insmod=e100(wo zu ist das? das "Netzwerkkartenmodul"???) insmod=e1000 insmod=rtl8139 (das sieht nach der Netzwerkkarte aus oder nicht???muss ich doch auf meine smc1255FTX ändern oder?)insmod=tulip

install=nfs:10.10.10.5/srv/SuseBoot/
naja und hier die Pfad angabe habe ich auf meinen server und ordner geändert
autoyast=nfs:
10.10.10.5/srv/SuseBoot/autoinst_sata.xml
es wird immer noch versucht die default zuladen... muss ich den /srv/tftpboot ordner nochmal extra freigeben??? so langsam bin ich am verzweifeln face-wink
tuxler
tuxler 29.11.2005 um 10:43:45 Uhr
Goto Top
Hm also die default habe ich natürlich
angepasst
kernel linux
append initrd=initrd ramdisk_size=65536
splash=0 vga=normal
textmode=1 insmod=e100(wo zu ist das? das
"Netzwerkkartenmodul"???)
insmod=e1000 insmod=rtl8139 (das sieht nach
der Netzwerkkarte aus oder nicht???muss ich
doch auf meine smc1255FTX ändern
oder?)insmod=tulip

<b> Mit insmod werden die Netzwerkkarten Treiber eingebunden, das hast du recht. Falls du ein anderes Modell als Intel (e100, e1000) oder Realteak verwendets, musst die passenden Netzwerkkartentreiber verwenden.
Ich hab alle Ordner, auf die ich mit PXE zugreife mit "chmod 777" komplett freigegeben.

install=nfs:10.10.10.5/srv/SuseBoot/
naja und hier die Pfad angabe habe ich auf
meinen server und ordner geändert
autoyast=nfs:
10.10.10.5/srv/SuseBoot/autoinst_sata.xml

es wird immer noch versucht die default
zuladen... muss ich den /srv/tftpboot ordner
nochmal extra freigeben??? so langsam bin ich
am verzweifeln face-wink
EISERT
EISERT 30.11.2005 um 10:14:46 Uhr
Goto Top
ich raff es einfach nicht... jetzt bin ich die Protokolle (Tftp-Server) nochmal durch gegangen und habe folgendes gefunden:

Nov 30 09:27:36 lxrxe xinetd[11545]: Reading included configuration file: /etc/xinetd.d/tftp [file=/etc/xinetd.d/tftp] [line=17]
Nov 30 09:27:36 lxrxe xinetd[11545]: Reading included configuration file: /etc/xinetd.d/tftpold [file=/etc/xinetd.d/tftpold] [line=10]
Nov 30 09:27:36 lxrxe xinetd[11545]: missing service keyword [file=/etc/xinetd.d/tftpold] [line=15]
Nov 30 09:27:36 lxrxe xinetd[11545]: missing } in last service entry [file=/etc/xinetd.d/tftpold] [line=17]
Nov 30 08:28:16 lxrxe in.tftpd[11627]: tftp: client does not accept options
das sieht doch so aus als ob er versucht eine verbindung aufzubauen und dann nur nicht darf...
dadrauf hin habe ich mir die tftpold angeschaut(wieso nimmt er eigentlich die und nicht die ich gemacht habe?)
die besagte Datei tftpold

1 # default: off
2 # description: tftp service is provided primarily for booting or when a \
3 # router need an upgrade. Most sites run this only on machines acting as
4 # "boot servers".
5 service tftp
6 {
7 socket_type = dgram
8 protocol = udp
9 wait = yes
10 user = root
11 server = /usr/sbin/in.tftpd
12 server_args = -s /srv/tftpboot
13 disable = no
14 }
15 INTFTPD_PATH="/srv/tftpboot/"
16 INTFTPD_USER="nobody"
17 INTFTPD_OPTS="-u ${INTFTPD_USER} -l -vvvvvv -p -c -s ${INTFTPD_PATH}"


ideen??? danke schon mal
tuxler
tuxler 06.12.2005 um 08:49:19 Uhr
Goto Top
Hallo,

probier mal nur:

  1. default: off
  2. description: tftp service is provided primarily for booting or when a \
  3. router need an upgrade. Most sites run this only on machines acting as
  4. "boot servers".
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /srv/tftpboot/
disable = no
}

Hast du die Pfad und User Angaben selber editiert?
Warum INTFTPD_USER="nobody" ?
tuxler
tuxler 07.12.2005 um 17:12:17 Uhr
Goto Top
Hallo,

ich hab mal bei mir nachgeschaut, aber eine Datei tftpold gibts bei mir nicht.
Im Verzeichniss /etc/xinitd.d/ liegt bei nur die Datei tftp, die wie oben beschrieben editiert wurde.

Evtl. benennst du die Datei einfach mal um in tftp, kann ja nix kaputgehen face-wink
EISERT
EISERT 08.12.2005 um 06:59:12 Uhr
Goto Top
hi,
die tftpold hatte ich auch umbenannt, dann eine neue gemacht und die dann tftp benannt.
Aber wie gesagt im tftp protokoll fehler in tftpold (wie oben beschrieben) nur hatte ich schon die "old" angepasst so das es rein theoretisch auch gehen sollte... aber denkste...

seit Montag führt er aber auch kein protokoll mehr.. das letzte war vom 1.12... dabei hab ich gestern nochmal getestet.. aber das taucht nicht auf im protokoll... ist das vielleicht voll oder so?

alles sehr verwirrent
zagibu
zagibu 01.03.2006 um 13:41:23 Uhr
Goto Top
Ich habe dasselbe Problem, egal ob NFS, HTTP oder FTP. PXE Boot funktioniert (nachdem ich ne Karte gefunden habe, die ANSTÄNDIGE PXE Unterstützung bietet...etwa drei verschiedene Intel Karten wollten nicht), TFTP geht auch (SYSLinux entpackt das kernel image und beginnt Zeug zu initialisieren, bis dann obengenannte VFS Fehlermeldung erscheint). Irgendwie will der Kernel ne root Partition mounten, aber kann das nicht (kein Wunder, ist ja noch nichts partitioniert). Vielleicht könnte man ihm ne Ramdisk zum mounten geben?
Seltsam ist nur, dass es bei manchen zu klappen scheint, und bei anderen nicht...
DukeOfByte
DukeOfByte 04.03.2006 um 21:06:25 Uhr
Goto Top
Hallo wüde mich freuen wenn wir uns mal kurzschliessen könnten schon mal vom (Fedora-Projekt) gehört, versuch auch grad ein "Ultimativen TFTP server" zu entwickeln.

seine Auf gaben sollen sein(zum Anfang):

1. ein Client (kein BS, Keine HDD) soll sich über DHCP anmelden un über TFTP eine Bootimage zugwiesen bekommen (in welcher alles weitere steckt ) sozusagen Terminal-client....

Bei Interesse melde dich per Mail oder Fax. Tschau und Danke DukeOfByte
zagibu
zagibu 11.03.2006 um 16:36:31 Uhr
Goto Top
Ich bin nun ein bisschen weitergekommen mit dem "kernel panic" Problem. Der Fehler tritt auf, weil der kernel nicht weiss, was er als root Partition mounten soll. Und dies geschieht, weil er die append Zeile im bla/pxelinux.cfg/default File gar nicht auswertet und somit auch nicht weiss, dass er das initrd File als Ramdisk verwenden soll. Dabei ist zu beachten, dass er die Zeile nur nicht auswertet, wenn im boot Prompt kein gültiges Label angegeben wird (z.B. Enter drücken bei leerem Bootprompt -> schlecht). Sobald man das richtige Label mitgibt (im Falle des Tutorials z.B. suse_s), funktioniert bei mir alles.
Jetzt gilt es herauszufinden, wie man ein gültiges default Label hinbekommt.
zagibu
zagibu 13.03.2006 um 12:36:04 Uhr
Goto Top
Ok, im Syslinux-Manual ist die Lösung des Problems erklärt. Im oben gezeigten .../pxelinux.cfg/default File fehlt eine Zeile, welche das standardmässig zu bootende Label angibt. Diese Zeile sollte als erste in das File, und so aussehen:

default <Labelname>

Wobei Labelname natürlich durch ein weiter unten definiertes Label ersetzt werden muss.

Fehlt diese Zeile, so versucht PXELINUX einen Kernel namens "linux" zu booten, und zwar ohne Optionen. Da es den Kernel "linux" bei mir gab, wusste er nicht, was er als root mounten soll, weil er ja die initrd=initrd Option nicht verarbeitet hat. Deshalb die VFS kernel panic.
19484
19484 21.03.2006 um 18:19:53 Uhr
Goto Top
Hallo zusammen,

ich hab mir auch eine AutoYaST Bude gebastelt.
Der Client bootet auch einwandfrei über DHCP und liest die Default-Datei aus, dann bleibt er allerdings mit folgendem Bild hängen:

linux....................................................
initrd...

Wenn ich von CD boote und die Installationsquelle und die .xml Datei angebe funktioniert alles perfekt.

Hat einer eine Idee an was das liegen könnt???

Gruß
Andreas
floripoint
floripoint 25.04.2006 um 18:52:41 Uhr
Goto Top
Hallo zusammen,

ich bin gerade dabei einen SuSE 10 Installationsserver zu installieren.
Das Tutorial ist ja gar net schlecht, aber irgendwie kann der Client nicht auf das XML file zugreifen.
Jedesmal nach dem automatischen Starten des Yast kommt der Fehler:

#: src/dialogs/autoinst_dialogs.ycp:22
msgid ""
"<p>\n"
"A profile for this machine could not be found or retrieved.\n"
"Check that you entered the correct location\n"
"on the command line and try again. Because of this error, you\n"
"can only enter a URL to a profile and not to a directory. If you\n"
"are using rules or host name-based control files, restart the\n"
"installation process and make sure the control files are accessible.</p>\n"
msgstr ""

DHCP und TFTP funzen wunderbar face-smile

Das File liegt im gleichen NFS mount wie die CD Images (welches ohne Probleme gemountet werden kann)

Das y2log sagt:
linux(3011)[YCP]autoinstall/io.ycp:155 Mount failed

Hat irgendwer ne Idee? Google bringt leider keine Treffer
zagibu
zagibu 11.05.2006 um 14:39:44 Uhr
Goto Top
Das ist natürlich eine Möglichkeit, allerdings braucht man dazu eben wieder einen weiteren Service (apache). Nicht unbedingt optimal, wenn es sich vermeiden lässt.
Ausserdem funktioniert es bei mir manchmal. Aber meistens nicht. Irgendwie vermute ich, dass die Netzwerkgegebenheiten auch eine Rolle spielen. Könnte es etwas mit Multicasting zu tun haben? Mein Switch leitet Multicasts nämlich nicht weiter, ist mir gesagt worden.
43344
43344 18.05.2007 um 08:00:08 Uhr
Goto Top
Moin,

bräuchte mal eure kompetente Hilfe!

Ich versuche Windows übers Netz zu installieren. Das Image liegt dabei auf einer Suse 10.2 Machine.
Der zukünftige Windows Client bekommt per DHCP eine IP zugewiesen, woraus ich mal schließe, dass die PXE/TFTP Konfiguration grundsätzlich richtig ist ;)
Wenn er allerdings die "default" (liegt bei mir in "/tftpboot/pxelinux.cfg/") sucht, steigt er nach geraumer Suchzeit mit der Meldung: "unable to locate configuration file" aus.

Kann mir da jemand einen Tip geben, woran das liegen könnte ?????


Grüße vom Dorf
43344
43344 18.05.2007 um 08:02:05 Uhr
Goto Top
Moin,

bräuchte mal eure kompetente Hilfe!

Ich versuche Windows übers Netz zu installieren. Das Image liegt dabei auf einer Suse 10.2 Machine.
Der zukünftige Windows Client bekommt per DHCP eine IP zugewiesen, woraus ich mal schließe, dass die PXE/TFTP Konfiguration grundsätzlich richtig ist ;)
Wenn er allerdings die "default" (liegt bei mir in "/tftpboot/pxelinux.cfg/") sucht, steigt er nach geraumer Suchzeit mit der Meldung: "unable to locate configuration file" aus.

Kann mir da jemand einen Tip geben, woran das liegen könnte ?????


Grüße vom Dorf