uefi boot elilo holt keine 01-mac-adresse config

Antworten
knarfa
Beiträge: 6
Registriert: 17 Jan 2018, 18:12

uefi boot elilo holt keine 01-mac-adresse config

Beitrag von knarfa »

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?
Benutzeravatar
m.radtke
uib-Team
Beiträge: 1528
Registriert: 10 Jun 2015, 12:19

Re: uefi boot elilo holt keine 01-mac-adresse config

Beitrag von m.radtke »

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
Kein Support per DM!
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
knarfa
Beiträge: 6
Registriert: 17 Jan 2018, 18:12

Re: uefi boot elilo holt keine 01-mac-adresse config

Beitrag von knarfa »

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
Benutzeravatar
m.radtke
uib-Team
Beiträge: 1528
Registriert: 10 Jun 2015, 12:19

Re: uefi boot elilo holt keine 01-mac-adresse config

Beitrag von m.radtke »

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.
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
wir liefern keine vmlinux Dateu aus, keine Ahnung wo die her kommt.
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.
knarfa
Beiträge: 6
Registriert: 17 Jan 2018, 18:12

Re: uefi boot elilo holt keine 01-mac-adresse config

Beitrag von knarfa »

Hallo Matthias,

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
das kommt dann raus:

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
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
knarfa
Beiträge: 6
Registriert: 17 Jan 2018, 18:12

Re: uefi boot elilo holt keine 01-mac-adresse config

Beitrag von knarfa »

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
knarfa
Beiträge: 6
Registriert: 17 Jan 2018, 18:12

Re: uefi boot elilo holt keine 01-mac-adresse config

Beitrag von knarfa »

ok, die schlechteste Lösung:

/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):
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.
Benutzeravatar
m.radtke
uib-Team
Beiträge: 1528
Registriert: 10 Jun 2015, 12:19

Re: uefi boot elilo holt keine 01-mac-adresse config

Beitrag von m.radtke »

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
Kein Support per DM!
_________________________
opsi support - http://www.uib.de/
For productive opsi installations we recommend support contracts.
knarfa
Beiträge: 6
Registriert: 17 Jan 2018, 18:12

Re: uefi boot elilo holt keine 01-mac-adresse config

Beitrag von knarfa »

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
Benutzeravatar
m.radtke
uib-Team
Beiträge: 1528
Registriert: 10 Jun 2015, 12:19

Re: uefi boot elilo holt keine 01-mac-adresse config

Beitrag von m.radtke »

Hi

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.
Antworten