Linux PXE, UEFI in Verbindung mit Syslinux führt zu Reboot-Schleife

_anonymous0815_

Lt. Commander
Registriert
Aug. 2020
Beiträge
1.308
Hallo liebes Forum,

ich bin mir nicht ganz sicher, ob das der richtige Bereich ist, aber es passt hier mMn. besser als anderswo.

Ich habe mir eine Debian-VM in Hyper V aufgesetzt, welche mir einen PXE-Server-Dienst bereitstellen soll.

Dies möchte ich mit dnsmasq realisieren, da dnmasq über die Möglichkeit eines DHCP-Proxys und zugleich über den passenden tftp-Server verfügt.

Soweit so gut, dies ist meine dnsmasq.conf:
root@debianpxe:~# cat /etc/dnsmasq.conf port=0 dhcp-range=192.168.178.0,proxy pxe-service=x86PC,"PXELINUX (BIOS)",pxelinux pxe-service=X86-64_EFI,"PXELINUX (EFI)",syslinux.efi #pxe-service=X86-64_EFI,"PXELINUX (EFI)",syslinux.efi enable-tftp tftp-root=/var/tftp

Und so siehts im tftp-Verzeichnis aus:
root@debianpxe:/var/tftp# tree . ├── debian-installer │ └── amd64 │ ├── bootnetx64.efi │ ├── boot-screens │ │ ├── addrk.cfg │ │ ├── adtxt.cfg │ │ ├── drk.cfg │ │ ├── drkmenu.cfg │ │ ├── exithelp.cfg │ │ ├── f10.txt │ │ ├── f1.txt │ │ ├── f2.txt │ │ ├── f3.txt │ │ ├── f4.txt │ │ ├── f5.txt │ │ ├── f6.txt │ │ ├── f7.txt │ │ ├── f8.txt │ │ ├── f9.txt │ │ ├── ldlinux.c32 │ │ ├── libcom32.c32 │ │ ├── libutil.c32 │ │ ├── menu.cfg │ │ ├── prompt.cfg │ │ ├── rqdrk.cfg │ │ ├── rqtxt.cfg │ │ ├── splash.png │ │ ├── stdmenu.cfg │ │ ├── syslinux.cfg │ │ ├── txt.cfg │ │ └── vesamenu.c32 │ ├── grub │ │ ├── font.pf2 │ │ ├── grub.cfg │ │ └── x86_64-efi │ │ ├── acpi.mod │ │ ├── adler32.mod │ │ ├── ahci.mod │ │ ├── all_video.mod │ │ ├── aout.mod │ │ ├── appleldr.mod │ │ ├── archelp.mod │ │ ├── ata.mod │ │ ├── at_keyboard.mod │ │ ├── backtrace.mod │ │ ├── bfs.mod │ │ ├── bitmap.mod │ │ ├── bitmap_scale.mod │ │ ├── blocklist.mod │ │ ├── boot.mod │ │ ├── bsd.mod │ │ ├── bswap_test.mod │ │ ├── btrfs.mod │ │ ├── bufio.mod │ │ ├── cat.mod │ │ ├── cbfs.mod │ │ ├── cbls.mod │ │ ├── cbmemc.mod │ │ ├── cbtable.mod │ │ ├── cbtime.mod │ │ ├── chain.mod │ │ ├── cmdline_cat_test.mod │ │ ├── cmp.mod │ │ ├── cmp_test.mod │ │ ├── command.lst │ │ ├── cpio_be.mod │ │ ├── cpio.mod │ │ ├── cpuid.mod │ │ ├── crc64.mod │ │ ├── cryptodisk.mod │ │ ├── crypto.lst │ │ ├── crypto.mod │ │ ├── cs5536.mod │ │ ├── ctz_test.mod │ │ ├── datehook.mod │ │ ├── date.mod │ │ ├── datetime.mod │ │ ├── diskfilter.mod │ │ ├── disk.mod │ │ ├── div.mod │ │ ├── div_test.mod │ │ ├── dm_nv.mod │ │ ├── echo.mod │ │ ├── efifwsetup.mod │ │ ├── efi_gop.mod │ │ ├── efinet.mod │ │ ├── efi_uga.mod │ │ ├── ehci.mod │ │ ├── elf.mod │ │ ├── eval.mod │ │ ├── exfat.mod │ │ ├── exfctest.mod │ │ ├── ext2.mod │ │ ├── extcmd.mod │ │ ├── fat.mod │ │ ├── file.mod │ │ ├── fixvideo.mod │ │ ├── font.mod │ │ ├── fs.lst │ │ ├── gcry_arcfour.mod │ │ ├── gcry_blowfish.mod │ │ ├── gcry_camellia.mod │ │ ├── gcry_cast5.mod │ │ ├── gcry_crc.mod │ │ ├── gcry_des.mod │ │ ├── gcry_dsa.mod │ │ ├── gcry_idea.mod │ │ ├── gcry_md4.mod │ │ ├── gcry_md5.mod │ │ ├── gcry_rfc2268.mod │ │ ├── gcry_rijndael.mod │ │ ├── gcry_rmd160.mod │ │ ├── gcry_rsa.mod │ │ ├── gcry_seed.mod │ │ ├── gcry_serpent.mod │ │ ├── gcry_sha1.mod │ │ ├── gcry_sha256.mod │ │ ├── gcry_sha512.mod │ │ ├── gcry_tiger.mod │ │ ├── gcry_twofish.mod │ │ ├── gcry_whirlpool.mod │ │ ├── geli.mod │ │ ├── gettext.mod │ │ ├── gfxmenu.mod │ │ ├── gfxterm_background.mod │ │ ├── gfxterm_menu.mod │ │ ├── gfxterm.mod │ │ ├── gptsync.mod │ │ ├── grub.cfg │ │ ├── gzio.mod │ │ ├── halt.mod │ │ ├── hashsum.mod │ │ ├── hdparm.mod │ │ ├── help.mod │ │ ├── hexdump.mod │ │ ├── hfs.mod │ │ ├── hfspluscomp.mod │ │ ├── hfsplus.mod │ │ ├── http.mod │ │ ├── iorw.mod │ │ ├── jfs.mod │ │ ├── jpeg.mod │ │ ├── keylayouts.mod │ │ ├── keystatus.mod │ │ ├── ldm.mod │ │ ├── legacycfg.mod │ │ ├── legacy_password_test.mod │ │ ├── linux16.mod │ │ ├── linuxefi.mod │ │ ├── linux.mod │ │ ├── loadbios.mod │ │ ├── loadenv.mod │ │ ├── loopback.mod │ │ ├── lsacpi.mod │ │ ├── lsefimmap.mod │ │ ├── lsefi.mod │ │ ├── lsefisystab.mod │ │ ├── lsmmap.mod │ │ ├── ls.mod │ │ ├── lspci.mod │ │ ├── lssal.mod │ │ ├── luks.mod │ │ ├── lvm.mod │ │ ├── lzopio.mod │ │ ├── macbless.mod │ │ ├── macho.mod │ │ ├── mdraid09_be.mod │ │ ├── mdraid09.mod │ │ ├── mdraid1x.mod │ │ ├── memrw.mod │ │ ├── minicmd.mod │ │ ├── minix2_be.mod │ │ ├── minix2.mod │ │ ├── minix3_be.mod │ │ ├── minix3.mod │ │ ├── minix_be.mod │ │ ├── mmap.mod │ │ ├── moddep.lst │ │ ├── morse.mod │ │ ├── mpi.mod │ │ ├── msdospart.mod │ │ ├── mul_test.mod │ │ ├── multiboot2.mod │ │ ├── multiboot.mod │ │ ├── nativedisk.mod │ │ ├── net.mod │ │ ├── newc.mod │ │ ├── normal.mod │ │ ├── ntfscomp.mod │ │ ├── ntfs.mod │ │ ├── odc.mod │ │ ├── offsetio.mod │ │ ├── ohci.mod │ │ ├── part_acorn.mod │ │ ├── part_amiga.mod │ │ ├── part_apple.mod │ │ ├── part_bsd.mod │ │ ├── part_dfly.mod │ │ ├── part_dvh.mod │ │ ├── part_gpt.mod │ │ ├── partmap.lst │ │ ├── part_msdos.mod │ │ ├── part_plan.mod │ │ ├── part_sun.mod │ │ ├── part_sunpc.mod │ │ ├── parttool.lst │ │ ├── parttool.mod │ │ ├── password.mod │ │ ├── password_pbkdf2.mod │ │ ├── pata.mod │ │ ├── pbkdf2.mod │ │ ├── pbkdf2_test.mod │ │ ├── pcidump.mod │ │ ├── play.mod │ │ ├── png.mod │ │ ├── priority_queue.mod │ │ ├── probe.mod │ │ ├── procfs.mod │ │ ├── progress.mod │ │ ├── raid5rec.mod │ │ ├── raid6rec.mod │ │ ├── random.mod │ │ ├── read.mod │ │ ├── reboot.mod │ │ ├── regexp.mod │ │ ├── reiserfs.mod │ │ ├── relocator.mod │ │ ├── romfs.mod │ │ ├── scsi.mod │ │ ├── serial.mod │ │ ├── setjmp.mod │ │ ├── setjmp_test.mod │ │ ├── setpci.mod │ │ ├── shift_test.mod │ │ ├── signature_test.mod │ │ ├── sleep.mod │ │ ├── sleep_test.mod │ │ ├── spkmodem.mod │ │ ├── squash4.mod │ │ ├── syslinuxcfg.mod │ │ ├── terminal.lst │ │ ├── terminal.mod │ │ ├── terminfo.mod │ │ ├── test_blockarg.mod │ │ ├── testload.mod │ │ ├── test.mod │ │ ├── testspeed.mod │ │ ├── tftp.mod │ │ ├── tga.mod │ │ ├── time.mod │ │ ├── trig.mod │ │ ├── tr.mod │ │ ├── true.mod │ │ ├── udf.mod │ │ ├── ufs1_be.mod │ │ ├── ufs1.mod │ │ ├── ufs2.mod │ │ ├── uhci.mod │ │ ├── usb_keyboard.mod │ │ ├── usb.mod │ │ ├── usbms.mod │ │ ├── usbserial_common.mod │ │ ├── usbserial_ftdi.mod │ │ ├── usbserial_pl2303.mod │ │ ├── usbserial_usbdebug.mod │ │ ├── usbtest.mod │ │ ├── verify.mod │ │ ├── video_bochs.mod │ │ ├── video_cirrus.mod │ │ ├── video_colors.mod │ │ ├── video_fb.mod │ │ ├── videoinfo.mod │ │ ├── video.lst │ │ ├── video.mod │ │ ├── videotest_checksum.mod │ │ ├── videotest.mod │ │ ├── xfs.mod │ │ ├── xnu.mod │ │ ├── xnu_uuid.mod │ │ ├── xnu_uuid_test.mod │ │ ├── xzio.mod │ │ └── zfscrypt.mod │ ├── grubx64.efi │ ├── initrd.gz │ ├── linux │ ├── pxelinux.0 │ ├── pxelinux.cfg │ │ └── default -> ../boot-screens/syslinux.cfg │ └── syslinux.efi ├── ldlinux.c32 -> debian-installer/amd64/boot-screens/ldlinux.c32 ├── ldlinux.e64 ├── lost+found ├── netboot.tar.gz ├── pxelinux.0 -> debian-installer/amd64/pxelinux.0 ├── pxelinux.cfg -> debian-installer/amd64/pxelinux.cfg ├── syslinux.efi └── version.info

Folgendes läuft beim Booting ab:

Die Clients beziehen sich eine IP, welche von meiner Fritz!Box vergeben wird und erhalten aber gleichzeitig die Information zu PXE.
Es wird eine Verbindung zum Server aufgebaut und zwischen BIOS und UEFI unterschieden.
BIOS - startet pxelinux als Bootloader, danach sehe ich die grafische Oberfläche des Debian-Installers, die Installation läuft sauber durch.

Anders bei UEFI...
Bei UEFI soll syslinux.efi geladen werden, womöglich passiert dies auch, aber unmittelbar startet der PC neu, verbindet sich erneut mit dem PXE-Server, nur um dies zu wiederholen und sich irgendwann abzuschalten.

Kann irgendein Fuchs einen Fehler in der Konfiguration erkennen? Ich habe mich von dieser Anleitung inspirieren lassen.

Sorry, dass der Spoiler so lang ist, wollte aber nicht kürzen, da so vielleicht wichtige Informationen verloren gehen.
 
der satz

In case pxe-service does not work to identify the architecture (especially for UEFI-based clients)...

aus deiner anleitung klingt verdächtig, insbesondere wegen dem text in der klammer :)
 
Zurück
Oben