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
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
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)
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
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
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
Der TFTP Server wir mit den initd Diensten gestartet. D.h. mit dem Kommando
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:
Ins Verzeichnis /srv/tftpboot/ wechseln und einen neunen Ordner pxeliunx.cfg erstellen:
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.
Jetzt werden die zum Booten benötigten Dateien (linux, initrd, message) noch ins tftpboot Verzeichnis kopiert.
Danach nach /srv/tftpboot/pxelinux.cfg wechseln, und die Datei default wie folgt editieren.
Bsp: vi /srv/tftpboot/pxelinux.cfg/default
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.
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;
}
? 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
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
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)
? 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
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
}
/etc/initd/xinitd restart
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/
cd /srv/tftpboot/
mkdir pxelinux.cfg
cp /media/dvdrecorder/boot/loader/pxelinux.cfg /srv/tftpboot/pxelinux.cfg/default
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
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
? 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.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 14198
Url: https://administrator.de/contentid/14198
Ausgedruckt am: 21.11.2024 um 22:11 Uhr
26 Kommentare
Neuester Kommentar
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
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
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
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
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?
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?
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
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
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
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
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
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
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
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
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...
Seltsam ist nur, dass es bei manchen zu klappen scheint, und bei anderen nicht...
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
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
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.
Jetzt gilt es herauszufinden, wie man ein gültiges default Label hinbekommt.
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.
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.
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
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
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
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
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
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
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.
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.
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
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
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
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