ISO Dateien für EFI/Legacy Systeme über PXE

Einrichten des lokalen Netzes, Verbindung zu anderen Computern und Diensten.
Antworten
Knogle
Beiträge: 285
Registriert: 06.05.2016 19:29:00
Lizenz eigener Beiträge: GNU General Public License

ISO Dateien für EFI/Legacy Systeme über PXE

Beitrag von Knogle » 12.10.2019 14:43:06

Ich grüße euch liebe Community.
Aktuell suche ich nach einer Möglichkeit diverse Linux ISOs (Installer, PMagic, Gparted etc.) auf meinem PXE für Legacy als auch EFI Systeme zur Verfügung zu stellen damit Auflösung etc. passt.
Wie ließe sich das am besten umsetzen? Ich habe überlegt eventuell einen GRUB zu laden, und dort dann die verschiedenen ISOs als Auswahl zu machen.
Jedoch finde ich leider keine vernünftigen Guides für einen GRUB über PXE, bzw. das Laden der Isos von dort jeweils im EFI oder Legacy Modus.
Das soll dann etwa so aussehen:

Code: Alles auswählen

GRUB

PMagic (Legacy)
PMagic (EFI)
Debian 9 Netinst (Legacy)
Debian 9 Netinst (EFI)
Hat jemand da Tipps für?

Alternativ würde ich ganz klassich PXELINUX nutzen, und mit dnsmasq als TFTP Server und DHCP Proxy.
Weiß jedoch jemand wie ich bei dnsmasq die architecture-type codes detecten kann? Unter tftpd-hpa klappt das, wie folgt:

Code: Alles auswählen

server-name faiserver;
next-server faiserver;
# Check pxe boot code #93 to determine whether we are booting via BIOS 
or EFI
# 2018-07-04: jheim
option architecture-type code 93 = unsigned integer 16;
class "pxeclients" {
	match if substring (option vendor-class-identifier, 0, 9) = "PXEClient";
	if option architecture-type = 00:00 {
		filename "fai/pxelinux.0";
	} else {
		filename "fai/syslinux.efi64";
	}
}
Leider finde ich in den dnsmasq manpages nichts dazu.

Habe testweise mal folgendes aufgebaut.

Code: Alles auswählen

  GNU nano 3.2                                                                                                                        /etc/dnsmasq.conf                                                                                                                        Verändert  

dhcp-range=192.168.2.1,proxy                   # Durch das eingene Netzwerk ersetzen.
#dhcp-boot=pxelinux.0,192.168.2.65,192.168.2.1 # Durch die IP-Adresse des TFTP-Servers und des Netzwerks ersetzen.

pxe-service=x86PC,"Netzwerk Boot",pxelinux

enable-tftp
tftp-root=/var/lib/tftpboot



# Test for the architecture of a netboot client. PXE clients are
# supposed to send their architecture as option 93. (See RFC 4578)
dhcp-match=x86PC, option:client-arch, 0 #BIOS x86
dhcp-match=BC_EFI, option:client-arch, 7 #EFI x86-64

# Load different PXE boot image depending on client architecture
pxe-service=tag:x86PC,X86PC, "Install Linux on x86 legacy BIOS", pxelinux
pxe-service=tag:BC_EFI,BC_EFI, "Install Linux on x86-64 UEFI", uefi/bootx64.efi


# Set boot file name only when tag is "bios" or "uefi"
dhcp-boot=tag:x86PC,pxelinux.0  # for Legacy BIOS detected by dhcp-match above
dhcp-boot=tag:BC_EFI,uefi/bootx64.efi # for UEFI arch detected by dhcp-match above

# Enable dnsmasq's built-in TFTP server
enable-tftp

# Set the root directory for files available via FTP.
tftp-root=/usr/local/tftpboot/pxelinux

Bekomme auch bei nem Legacy System die Meldung "Install Linux on x86 legacy BIOS" so wie erwartet.
Folgendes habe ich weterhin gemacht, leider wird aber kein GRUB geladen

So sieht meine Verzeichnisstruktur aus.

Code: Alles auswählen

root@millenium-fbe48:/var/lib/tftpboot# tree
.
├── boot
│   └── grub
│       ├── fonts
│       │   └── unicode.pf2
│       ├── grub.cfg
│       ├── i386-pc
│       │   ├── 915resolution.mod
│       │   ├── acpi.mod
│       │   ├── adler32.mod
│       │   ├── affs.mod
│       │   ├── afs.mod
│       │   ├── ahci.mod
│       │   ├── all_video.mod
│       │   ├── aout.mod
│       │   ├── archelp.mod
│       │   ├── ata.mod
│       │   ├── at_keyboard.mod
│       │   ├── backtrace.mod
│       │   ├── bfs.mod
│       │   ├── biosdisk.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
│       │   ├── cmosdump.mod
│       │   ├── cmostest.mod
│       │   ├── cmp.mod
│       │   ├── cmp_test.mod
│       │   ├── command.lst
│       │   ├── configfile.mod
│       │   ├── core.0
│       │   ├── 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
│       │   ├── drivemap.mod
│       │   ├── echo.mod
│       │   ├── efiemu32.o
│       │   ├── efiemu64.o
│       │   ├── efiemu.mod
│       │   ├── ehci.mod
│       │   ├── elf.mod
│       │   ├── eval.mod
│       │   ├── exfat.mod
│       │   ├── exfctest.mod
│       │   ├── ext2.mod
│       │   ├── extcmd.mod
│       │   ├── fat.mod
│       │   ├── file.mod
│       │   ├── font.mod
│       │   ├── freedos.mod
│       │   ├── fshelp.mod
│       │   ├── fs.lst
│       │   ├── functional_test.mod
│       │   ├── 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
│       │   ├── gdb.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
│       │   ├── hello.mod
│       │   ├── help.mod
│       │   ├── hexdump.mod
│       │   ├── hfs.mod
│       │   ├── hfspluscomp.mod
│       │   ├── hfsplus.mod
│       │   ├── http.mod
│       │   ├── hwmatch.mod
│       │   ├── iorw.mod
│       │   ├── iso9660.mod
│       │   ├── jfs.mod
│       │   ├── jpeg.mod
│       │   ├── keylayouts.mod
│       │   ├── keystatus.mod
│       │   ├── ldm.mod
│       │   ├── legacycfg.mod
│       │   ├── legacy_password_test.mod
│       │   ├── linux16.mod
│       │   ├── linux.mod
│       │   ├── loadenv.mod
│       │   ├── loopback.mod
│       │   ├── lsacpi.mod
│       │   ├── lsapm.mod
│       │   ├── lsmmap.mod
│       │   ├── ls.mod
│       │   ├── lspci.mod
│       │   ├── luks.mod
│       │   ├── lvm.mod
│       │   ├── lzopio.mod
│       │   ├── macbless.mod
│       │   ├── macho.mod
│       │   ├── mda_text.mod
│       │   ├── mdraid09_be.mod
│       │   ├── mdraid09.mod
│       │   ├── mdraid1x.mod
│       │   ├── memdisk.mod
│       │   ├── memrw.mod
│       │   ├── minicmd.mod
│       │   ├── minix2_be.mod
│       │   ├── minix2.mod
│       │   ├── minix3_be.mod
│       │   ├── minix3.mod
│       │   ├── minix_be.mod
│       │   ├── minix.mod
│       │   ├── mmap.mod
│       │   ├── moddep.lst
│       │   ├── modinfo.sh
│       │   ├── morse.mod
│       │   ├── mpi.mod
│       │   ├── msdospart.mod
│       │   ├── mul_test.mod
│       │   ├── multiboot2.mod
│       │   ├── multiboot.mod
│       │   ├── nativedisk.mod
│       │   ├── net.mod
│       │   ├── newc.mod
│       │   ├── nilfs2.mod
│       │   ├── normal.mod
│       │   ├── ntfscomp.mod
│       │   ├── ntfs.mod
│       │   ├── ntldr.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
│       │   ├── pci.mod
│       │   ├── plan9.mod
│       │   ├── play.mod
│       │   ├── png.mod
│       │   ├── priority_queue.mod
│       │   ├── probe.mod
│       │   ├── procfs.mod
│       │   ├── progress.mod
│       │   ├── pxechain.mod
│       │   ├── pxe.mod
│       │   ├── raid5rec.mod
│       │   ├── raid6rec.mod
│       │   ├── random.mod
│       │   ├── read.mod
│       │   ├── reboot.mod
│       │   ├── regexp.mod
│       │   ├── reiserfs.mod
│       │   ├── relocator.mod
│       │   ├── romfs.mod
│       │   ├── scsi.mod
│       │   ├── search_fs_file.mod
│       │   ├── search_fs_uuid.mod
│       │   ├── search_label.mod
│       │   ├── search.mod
│       │   ├── sendkey.mod
│       │   ├── serial.mod
│       │   ├── setjmp.mod
│       │   ├── setjmp_test.mod
│       │   ├── setpci.mod
│       │   ├── sfs.mod
│       │   ├── shift_test.mod
│       │   ├── signature_test.mod
│       │   ├── sleep.mod
│       │   ├── sleep_test.mod
│       │   ├── spkmodem.mod
│       │   ├── squash4.mod
│       │   ├── syslinuxcfg.mod
│       │   ├── tar.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
│       │   ├── truecrypt.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
│       │   ├── vbe.mod
│       │   ├── verify.mod
│       │   ├── vga.mod
│       │   ├── vga_text.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
│       │   ├── zfsinfo.mod
│       │   └── zfs.mod
│       ├── locale
│       │   ├── ast.mo
│       │   ├── ca.mo
│       │   ├── da.mo
│       │   ├── de_CH.mo
│       │   ├── de@hebrew.mo
│       │   ├── de.mo
│       │   ├── en@arabic.mo
│       │   ├── en@cyrillic.mo
│       │   ├── en@greek.mo
│       │   ├── en@hebrew.mo
│       │   ├── en@piglatin.mo
│       │   ├── en@quot.mo
│       │   ├── eo.mo
│       │   ├── es.mo
│       │   ├── fi.mo
│       │   ├── fr.mo
│       │   ├── gl.mo
│       │   ├── hr.mo
│       │   ├── hu.mo
│       │   ├── id.mo
│       │   ├── it.mo
│       │   ├── ja.mo
│       │   ├── ko.mo
│       │   ├── lt.mo
│       │   ├── nb.mo
│       │   ├── nl.mo
│       │   ├── pa.mo
│       │   ├── pl.mo
│       │   ├── pt_BR.mo
│       │   ├── ru.mo
│       │   ├── sl.mo
│       │   ├── sr.mo
│       │   ├── sv.mo
│       │   ├── tr.mo
│       │   ├── uk.mo
│       │   ├── vi.mo
│       │   ├── zh_CN.mo
│       │   └── zh_TW.mo
│       └── x86_64-efi
│           ├── acpi.mod
│           ├── adler32.mod
│           ├── affs.mod
│           ├── afs.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
│           ├── configfile.mod
│           ├── core.efi
│           ├── 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
│           ├── fshelp.mod
│           ├── fs.lst
│           ├── functional_test.mod
│           ├── 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
│           ├── hello.mod
│           ├── help.mod
│           ├── hexdump.mod
│           ├── hfs.mod
│           ├── hfspluscomp.mod
│           ├── hfsplus.mod
│           ├── http.mod
│           ├── iorw.mod
│           ├── iso9660.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
│           ├── memdisk.mod
│           ├── memrw.mod
│           ├── minicmd.mod
│           ├── minix2_be.mod
│           ├── minix2.mod
│           ├── minix3_be.mod
│           ├── minix3.mod
│           ├── minix_be.mod
│           ├── minix.mod
│           ├── mmap.mod
│           ├── moddep.lst
│           ├── modinfo.sh
│           ├── morse.mod
│           ├── mpi.mod
│           ├── msdospart.mod
│           ├── mul_test.mod
│           ├── multiboot2.mod
│           ├── multiboot.mod
│           ├── nativedisk.mod
│           ├── net.mod
│           ├── newc.mod
│           ├── nilfs2.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
│           ├── search_fs_file.mod
│           ├── search_fs_uuid.mod
│           ├── search_label.mod
│           ├── search.mod
│           ├── serial.mod
│           ├── setjmp.mod
│           ├── setjmp_test.mod
│           ├── setpci.mod
│           ├── sfs.mod
│           ├── shift_test.mod
│           ├── signature_test.mod
│           ├── sleep.mod
│           ├── sleep_test.mod
│           ├── spkmodem.mod
│           ├── squash4.mod
│           ├── syslinuxcfg.mod
│           ├── tar.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
│           ├── zfsinfo.mod
│           └── zfs.mod
├── booti386
└── bootx64.efi
Nachdem ich ein

Code: Alles auswählen

grub-mknetdir
gemacht habe.
Weiterhin habe ich folgende Images erstellt.

Code: Alles auswählen

grub-mkimage -d /usr/lib/grub/i386-pc/ -O i386-pc-pxe -o ./booti386 -p '/var/lib/tftpboot/boot/grub' pxe tftp

Code: Alles auswählen

grub-mkimage -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi -o ./bootx64.efi -p '/var/lib/tftpboot/boot/grub' efinet tftp
Kann ich eigentlich mit einem grub.d arbeiten statt mit einer grub.cfg um für verschiedene ISOs ein Script zu bauen?

Antworten