uefi boot elilo holt keine 01-mac-adresse config
uefi boot elilo holt keine 01-mac-adresse config
Wir haben folgende Konfiguration:
DNS/DHCP Server dnsmasq:
pxe-prompt="Taste F8 zeigt Auswahl", 6
pxe-service=x86PC, "Lokale Festplatte", 0
pxe-service=x86PC, "Windows Installation", "linux/pxelinux", IP-ServerOPSI
pxe-service=BC_EFI, "Lokale Festplatte UEFI", 0
pxe-service=BC_EFI, "Windows Installation UEFI", "linux/pxelinux.cfg/elilo.efi", IP-ServerOPSI
(sonst kein einstellungen zu pxe)
OPSI-Server Standard, mit uefi modul aktiviert.
Ohne Uefi:
- Client anlegen, (im /tftpboot/linux/pxelinux.cfg/ wird 01-mac-adresse pipe angelegt)
- Client legacy booten,
- tcpdump: client holt sich linux/pxelinux.0 und dann linux/pxelinux.cfg/01-mac-adresse wo seine config liegt
- installation läuft durch.
Mit Uefi:
- Client anlegen mit Uefi, (im /tftpboot/linux/pxelinux.cfg/ wird 01-mac-adresse pipe angelegt)
- Client in uefi booten (im tftpboot/pxelinux.cfg/ habe ich ein softlink angelegt efifo.efi.0 auf efifo.efi)
- tcpdump: client holt sich linux/pxelinux.cfg/elilo.efi.0 und dann sucht nach keine pipe sondern nur nach elilo.conf und elilo-x86_64.conf
- damit haengt der client in elilo boot:.....
macht man folgendes:
cat /tftpboot/linux/pxelinux.cfg/01-mac-adresse > /tftpboot/elilo.conf
dann funktioniert das booten mit uefi und der Client wird richtig installiert.
Wie sagt man dem elilo.efi das er pipe nehmen soll und nicht elilo.conf?
DNS/DHCP Server dnsmasq:
pxe-prompt="Taste F8 zeigt Auswahl", 6
pxe-service=x86PC, "Lokale Festplatte", 0
pxe-service=x86PC, "Windows Installation", "linux/pxelinux", IP-ServerOPSI
pxe-service=BC_EFI, "Lokale Festplatte UEFI", 0
pxe-service=BC_EFI, "Windows Installation UEFI", "linux/pxelinux.cfg/elilo.efi", IP-ServerOPSI
(sonst kein einstellungen zu pxe)
OPSI-Server Standard, mit uefi modul aktiviert.
Ohne Uefi:
- Client anlegen, (im /tftpboot/linux/pxelinux.cfg/ wird 01-mac-adresse pipe angelegt)
- Client legacy booten,
- tcpdump: client holt sich linux/pxelinux.0 und dann linux/pxelinux.cfg/01-mac-adresse wo seine config liegt
- installation läuft durch.
Mit Uefi:
- Client anlegen mit Uefi, (im /tftpboot/linux/pxelinux.cfg/ wird 01-mac-adresse pipe angelegt)
- Client in uefi booten (im tftpboot/pxelinux.cfg/ habe ich ein softlink angelegt efifo.efi.0 auf efifo.efi)
- tcpdump: client holt sich linux/pxelinux.cfg/elilo.efi.0 und dann sucht nach keine pipe sondern nur nach elilo.conf und elilo-x86_64.conf
- damit haengt der client in elilo boot:.....
macht man folgendes:
cat /tftpboot/linux/pxelinux.cfg/01-mac-adresse > /tftpboot/elilo.conf
dann funktioniert das booten mit uefi und der Client wird richtig installiert.
Wie sagt man dem elilo.efi das er pipe nehmen soll und nicht elilo.conf?
Re: uefi boot elilo holt keine 01-mac-adresse config
Hi
normalerweise sollte die elilo.efi auf diverse Muster verweisen, darunter auch 01-MAC
Als Fallback gibt es dann die elilo.efi
Schau doch mal in die syslog rein. Da steht drin was der TFTP an Anfragen bekommt bzw. was versucht wird auszuliefern.
Gruß
Mathias
normalerweise sollte die elilo.efi auf diverse Muster verweisen, darunter auch 01-MAC
Als Fallback gibt es dann die elilo.efi
Schau doch mal in die syslog rein. Da steht drin was der TFTP an Anfragen bekommt bzw. was versucht wird auszuliefern.
Gruß
Mathias
Kein Support per DM!
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
Re: uefi boot elilo holt keine 01-mac-adresse config
Hallo,
bei anlegen von client mit uefi:
opsipxeconfd.log:
[5] [Jan 18 12:07:23] Pipe u'/tftpboot/linux/pxelinux.cfg/01-mac-adresse' opened, piping pxe boot configuration (opsipxeconfd|685)
[5] [Jan 18 12:08:55] Got connection from client (opsipxeconfd|167)
[5] [Jan 18 12:08:55] elilo configuration detected (opsipxeconfd|648)
[5] [Jan 18 12:08:55] PXE boot configuration for host client.domain.de is now set at u'/tftpboot/linux/pxelinux.cfg/01-mac-adresse' (opsipxeconfd|368)
legacy boot, secure boot off (funktioniert)
syslog:
Jan 18 12:10:31 srv424 atftpd[8372]: Serving linux/pxelinux.0 to client-IP:2070
Jan 18 12:10:31 srv424 atftpd[8372]: Serving linux/pxelinux.0 to client-IP:2071
Jan 18 12:10:31 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/4455-client-Nummer-abcd-abcd to client-IP:57089
Jan 18 12:10:31 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/01-mac-adresse to client-IP:57090
opsipxeconfd.log:
[5] [Jan 18 12:10:31] Pipe u'/tftpboot/linux/pxelinux.cfg/01-mac-adresse' opened, piping pxe boot configuration (opsipxeconfd|685)
uefi boot mit pxelinux.0 (haengt)
Jan 18 12:17:40 srv424 atftpd[8372]: Serving linux/pxelinux.0 to client-IP:1328
Jan 18 12:17:40 srv424 atftpd[8372]: Serving linux/pxelinux.0 to client-IP:1329
(uefi boot mit pxelinux soll ja auch nicht funktionieren)
uefi boot mit elilo.efi.0 (kommt zu elilo boot:.......)
Jan 18 12:18:59 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/elilo.efi.0 to client-IP:1823
Jan 18 12:18:59 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/elilo.efi.0 to client-IP:1824
Jan 18 12:19:19 srv424 atftpd[8372]: Serving elilo.conf to client-IP:1825
Jan 18 12:19:19 srv424 atftpd[8372]: Serving elilo-x86_64.conf to client-IP:1826
Jan 18 12:19:19 srv424 atftpd[8372]: Serving elilo.conf to client-IP:1827
Jan 18 12:21:38 srv424 atftpd[8372]: Serving vmlinux to client-IP:1828 << nachdem man any key drueckt
opsipxeconfd.log kommt nicht.
wie man sieht, kommt keine anfrage mit 01-mac-adresse von pipe wie mit normalen pxelinux.0 boot.
ich denke man muss irgendwie parameter setzen bei dnsmasq, dami elilo.efi es ausruft.
oder bei elilo.efi selbst mit parameter starten.
mfg knarfa
bei anlegen von client mit uefi:
opsipxeconfd.log:
[5] [Jan 18 12:07:23] Pipe u'/tftpboot/linux/pxelinux.cfg/01-mac-adresse' opened, piping pxe boot configuration (opsipxeconfd|685)
[5] [Jan 18 12:08:55] Got connection from client (opsipxeconfd|167)
[5] [Jan 18 12:08:55] elilo configuration detected (opsipxeconfd|648)
[5] [Jan 18 12:08:55] PXE boot configuration for host client.domain.de is now set at u'/tftpboot/linux/pxelinux.cfg/01-mac-adresse' (opsipxeconfd|368)
legacy boot, secure boot off (funktioniert)
syslog:
Jan 18 12:10:31 srv424 atftpd[8372]: Serving linux/pxelinux.0 to client-IP:2070
Jan 18 12:10:31 srv424 atftpd[8372]: Serving linux/pxelinux.0 to client-IP:2071
Jan 18 12:10:31 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/4455-client-Nummer-abcd-abcd to client-IP:57089
Jan 18 12:10:31 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/01-mac-adresse to client-IP:57090
opsipxeconfd.log:
[5] [Jan 18 12:10:31] Pipe u'/tftpboot/linux/pxelinux.cfg/01-mac-adresse' opened, piping pxe boot configuration (opsipxeconfd|685)
uefi boot mit pxelinux.0 (haengt)
Jan 18 12:17:40 srv424 atftpd[8372]: Serving linux/pxelinux.0 to client-IP:1328
Jan 18 12:17:40 srv424 atftpd[8372]: Serving linux/pxelinux.0 to client-IP:1329
(uefi boot mit pxelinux soll ja auch nicht funktionieren)
uefi boot mit elilo.efi.0 (kommt zu elilo boot:.......)
Jan 18 12:18:59 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/elilo.efi.0 to client-IP:1823
Jan 18 12:18:59 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/elilo.efi.0 to client-IP:1824
Jan 18 12:19:19 srv424 atftpd[8372]: Serving elilo.conf to client-IP:1825
Jan 18 12:19:19 srv424 atftpd[8372]: Serving elilo-x86_64.conf to client-IP:1826
Jan 18 12:19:19 srv424 atftpd[8372]: Serving elilo.conf to client-IP:1827
Jan 18 12:21:38 srv424 atftpd[8372]: Serving vmlinux to client-IP:1828 << nachdem man any key drueckt
opsipxeconfd.log kommt nicht.
wie man sieht, kommt keine anfrage mit 01-mac-adresse von pipe wie mit normalen pxelinux.0 boot.
ich denke man muss irgendwie parameter setzen bei dnsmasq, dami elilo.efi es ausruft.
oder bei elilo.efi selbst mit parameter starten.
mfg knarfa
Re: uefi boot elilo holt keine 01-mac-adresse config
Hi
elilo muss mit keinem weiteren Parameter aufgerufen werden, zumindest nicht mit dem isc-dhcp-server.
Was der DNSMasq anders macht, kann ich dir nicht sagen, dafür kenne ich ihn zu wenig.
Du kannst ja versuchen den atftpd gesprächiger zu machen. Je nach Konfigutation (Inetd oder nicht) in verschiedenen Dateien
elilo muss mit keinem weiteren Parameter aufgerufen werden, zumindest nicht mit dem isc-dhcp-server.
Was der DNSMasq anders macht, kann ich dir nicht sagen, dafür kenne ich ihn zu wenig.
wir liefern keine vmlinux Dateu aus, keine Ahnung wo die her kommt.uefi boot mit elilo.efi.0 (kommt zu elilo boot:.......)
Jan 18 12:18:59 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/elilo.efi.0 to client-IP:1823
Jan 18 12:18:59 srv424 atftpd[8372]: Serving linux/pxelinux.cfg/elilo.efi.0 to client-IP:1824
Jan 18 12:19:19 srv424 atftpd[8372]: Serving elilo.conf to client-IP:1825
Jan 18 12:19:19 srv424 atftpd[8372]: Serving elilo-x86_64.conf to client-IP:1826
Jan 18 12:19:19 srv424 atftpd[8372]: Serving elilo.conf to client-IP:1827
Jan 18 12:21:38 srv424 atftpd[8372]: Serving vmlinux to client-IP:1828 << nachdem man any key drueckt
Du kannst ja versuchen den atftpd gesprächiger zu machen. Je nach Konfigutation (Inetd oder nicht) in verschiedenen Dateien
Code: Alles auswählen
/etc/inetd
/etc/default/atftpd
Kein Support per DM!
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
Re: uefi boot elilo holt keine 01-mac-adresse config
Hallo Matthias,
habe den /et/inet.d angepasst auf verbose 7
Soweit ich verstehe, liegt das Problem nicht bei Opsi server sondern,
bei Dnsmasq-server. da muss ich mal nachgoogeln, was da zu machen ist.
Werde mich melden, wenn ich eine Lösung finde.
mfg knarfa
habe den /et/inet.d angepasst auf verbose 7
- tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd --tftpd-timeout 300 --retry-timeout 5 --mcast-port 1758 --mcast-addr 239.239.239.0-255 --mcast-ttl 1 --maxthread 100 --verbose=7 /tftpboot
Code: Alles auswählen
Jan 18 14:02:56 srvOPSI in.tftpd[2859]: connect from IP-Client (IP-Client)
Jan 18 14:02:56 srvOPSI atftpd[2859]: Advanced Trivial FTP server started (0.7)
Jan 18 14:02:56 srvOPSI atftpd[2859]: started by inetd
Jan 18 14:02:56 srvOPSI atftpd[2859]: logging level: 7
Jan 18 14:02:56 srvOPSI atftpd[2859]: directory: /tftpboot/
Jan 18 14:02:56 srvOPSI atftpd[2859]: user: nobody.nogroup
Jan 18 14:02:56 srvOPSI atftpd[2859]: log file: syslog
Jan 18 14:02:56 srvOPSI atftpd[2859]: server timeout: 300
Jan 18 14:02:56 srvOPSI atftpd[2859]: tftp retry timeout: 5
Jan 18 14:02:56 srvOPSI atftpd[2859]: maximum number of thread: 100
Jan 18 14:02:56 srvOPSI atftpd[2859]: option timeout: enabled
Jan 18 14:02:56 srvOPSI atftpd[2859]: option tzise: enabled
Jan 18 14:02:56 srvOPSI atftpd[2859]: option blksize: enabled
Jan 18 14:02:56 srvOPSI atftpd[2859]: maximum blocksize: 0
Jan 18 14:02:56 srvOPSI atftpd[2859]: option multicast: enabled
Jan 18 14:02:56 srvOPSI atftpd[2859]: address range: 239.239.239.0-255
Jan 18 14:02:56 srvOPSI atftpd[2859]: port range: 1758
Jan 18 14:02:56 srvOPSI atftpd[2859]: Creating new socket: IP-OPSI:37129
Jan 18 14:02:56 srvOPSI atftpd[2859]: Serving linux/pxelinux.cfg/elilo.efi.0 to IP-Client:1814
Jan 18 14:02:56 srvOPSI atftpd[2859]: tsize option -> 236130
Jan 18 14:02:56 srvOPSI atftpd[2859]: blksize option -> 1468
Jan 18 14:02:56 srvOPSI atftpd[2859]: Aborting transfer
Jan 18 14:02:56 srvOPSI atftpd[2859]: Server thread exiting
Jan 18 14:02:56 srvOPSI atftpd[2859]: Creating new socket: IP-OPSI:52323
Jan 18 14:02:56 srvOPSI atftpd[2859]: Serving linux/pxelinux.cfg/elilo.efi.0 to IP-Client:1815
Jan 18 14:02:56 srvOPSI atftpd[2859]: blksize option -> 1468
Jan 18 14:02:56 srvOPSI atftpd[2859]: End of transfer
Jan 18 14:02:56 srvOPSI atftpd[2859]: Server thread exiting
Jan 18 14:03:16 srvOPSI atftpd[2859]: Creating new socket: IP-OPSI:34950
Jan 18 14:03:16 srvOPSI atftpd[2859]: Serving elilo.conf to IP-Client:1816
Jan 18 14:03:16 srvOPSI atftpd[2859]: File /tftpboot/elilo.conf not found
Jan 18 14:03:16 srvOPSI atftpd[2859]: Server thread exiting
Jan 18 14:03:16 srvOPSI atftpd[2859]: Creating new socket: IP-OPSI:38488
Jan 18 14:03:16 srvOPSI atftpd[2859]: Serving elilo-x86_64.conf to IP-Client:1817
Jan 18 14:03:16 srvOPSI atftpd[2859]: File /tftpboot/elilo-x86_64.conf not found
Jan 18 14:03:16 srvOPSI atftpd[2859]: Server thread exiting
Jan 18 14:03:16 srvOPSI atftpd[2859]: Creating new socket: IP-OPSI:44917
Jan 18 14:03:16 srvOPSI atftpd[2859]: Serving elilo.conf to IP-Client:1818
Jan 18 14:03:16 srvOPSI atftpd[2859]: File /tftpboot/elilo.conf not found
Jan 18 14:03:16 srvOPSI atftpd[2859]: Server thread exiting
Jan 18 14:03:29 srvOPSI atftpd[2859]: Creating new socket: IP-OPSI:37647
Jan 18 14:03:29 srvOPSI atftpd[2859]: Serving vmlinux to IP-Client:1819
Jan 18 14:03:29 srvOPSI atftpd[2859]: File /tftpboot/vmlinux not found
Jan 18 14:03:29 srvOPSI atftpd[2859]: Server thread exiting
bei Dnsmasq-server. da muss ich mal nachgoogeln, was da zu machen ist.
Werde mich melden, wenn ich eine Lösung finde.
mfg knarfa
Re: uefi boot elilo holt keine 01-mac-adresse config
Prolem ist:
unser dnsmasq startet die elilo.efi in pxe mode (PXE PxeDiscoverValid: Yes (PXE-aware))
da ruft der elilo.efi die configs anders aus als in DHCP-Mode.
In DHCP-Mode ruft er mit IP, Mac adressen Config aus.
In PXE-Mode tut er das nicht (nur elilo.conf, elilo-x86_64.conf).
Lösungen:
1) dnsmasq so setzen das er in DHCP-Mode ausruft
2) elilo.efi Source so anpassen, das er auch in PXE-Mode mac-adressen config ausruft
werde mal die Lösung 2 ausprobieren, da Lösung 1 irgendwie nicht klappt, da wir pxe boot menu brauchen.
mfg knarfa
unser dnsmasq startet die elilo.efi in pxe mode (PXE PxeDiscoverValid: Yes (PXE-aware))
da ruft der elilo.efi die configs anders aus als in DHCP-Mode.
In DHCP-Mode ruft er mit IP, Mac adressen Config aus.
In PXE-Mode tut er das nicht (nur elilo.conf, elilo-x86_64.conf).
Lösungen:
1) dnsmasq so setzen das er in DHCP-Mode ausruft
2) elilo.efi Source so anpassen, das er auch in PXE-Mode mac-adressen config ausruft
werde mal die Lösung 2 ausprobieren, da Lösung 1 irgendwie nicht klappt, da wir pxe boot menu brauchen.
mfg knarfa
Re: uefi boot elilo holt keine 01-mac-adresse config
ok, die schlechteste Lösung:
/usr/bin/opsiconfd anpassen
da die elilo anzupassen schwerer ist als gedacht, habe ich den opsipxeconfd so angepasst, das er eine /tftpboot/elilo.conf anlegt.
de Lösung ist schlecht, da Rückmeldung über gebrauchte Pipe nicht gibt und wenn jetzt ein andere Client bootet, bekommt er die falsche Config.
werde also noch nachsehen, was mit elilo zu machen ist.
/usr/bin/opsiconfd anpassen
Code: Alles auswählen
--- /root/opsipxeconfd 2018-01-19 12:14:39.334357414 +0100
+++ opsipxeconfd 2018-01-19 12:56:34.230013808 +0100
@@ -666,7 +666,10 @@ class PXEConfigWriter(threading.Thread):
content = '%s append %s\n' % (content, ' '.join(appendLineProperties))
else:
content = "%s%s\n" % (content, line)
-
+ elilof=open("/tftpboot/elilo.conf","w")
+ elilof.write(content)
+ elilof.close()
+ os.chmod("/tftpboot/elilo.conf", 0o644)
return content
def run(self):
de Lösung ist schlecht, da Rückmeldung über gebrauchte Pipe nicht gibt und wenn jetzt ein andere Client bootet, bekommt er die falsche Config.
werde also noch nachsehen, was mit elilo zu machen ist.
Re: uefi boot elilo holt keine 01-mac-adresse config
Man muss weder den opsiconfd noch elilo.efi anfassen damit das geht.
elilo.efi sollte sich die Pipes aus dem Verzeichnis holen, aus dem es aufgerufen wird, ohne irgendwelche sonderlocken.
Ich kann jetzt nicht sagen was an deinem setup noch anders ist Aussee der dnsmasq, aber die EFI Erweiterung braucht keine solchen Anpassungen, wie du sie hier machst.
Gruß
Mathias
elilo.efi sollte sich die Pipes aus dem Verzeichnis holen, aus dem es aufgerufen wird, ohne irgendwelche sonderlocken.
Ich kann jetzt nicht sagen was an deinem setup noch anders ist Aussee der dnsmasq, aber die EFI Erweiterung braucht keine solchen Anpassungen, wie du sie hier machst.
Gruß
Mathias
Kein Support per DM!
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
Re: uefi boot elilo holt keine 01-mac-adresse config
Hi Matthias,
ja, das ist richtig. Problem ist das der dnsmasq in PXE-Mode läuft und da lädt der elilo.efi kein 01-mac conf runter.
da aber wir den dnsmasq server nicht in dhcp-mode betreiben können, muessen wir anders machen.
aber die Lösung von oben funktioniert, fuer jetzt.
werde später aber nachdenken, wie wir es mit dhcp boot besser machen können.
mfg knarfa
ja, das ist richtig. Problem ist das der dnsmasq in PXE-Mode läuft und da lädt der elilo.efi kein 01-mac conf runter.
da aber wir den dnsmasq server nicht in dhcp-mode betreiben können, muessen wir anders machen.
aber die Lösung von oben funktioniert, fuer jetzt.
werde später aber nachdenken, wie wir es mit dhcp boot besser machen können.
mfg knarfa
Re: uefi boot elilo holt keine 01-mac-adresse config
Hi
ja temporären funktioniert die Lösung. Bis zum nächsten opsiconfd Update.
Gibt es einen besonderen Grund für dnsmasq?
Gruß
Mathias
ja temporären funktioniert die Lösung. Bis zum nächsten opsiconfd Update.
Gibt es einen besonderen Grund für dnsmasq?
Gruß
Mathias
Kein Support per DM!
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.