3 ms·
PXE is one of those things that used to be dead simple to set up. Just add an entry to the DHCP record and set up a TFTP server for the kernel and NFS root dri
by jandrese 3y ago
PXE is one of those things that used to be dead simple to set up. Just add an entry to the DHCP record and set up a TFTP server for the kernel and NFS root drive and you were golden.
UEFI threw a huge moneywrench in the process, and SystemD doesn't help. Last time I made it work I had to track down a mailing list entry where someone discussed an otherwise undocumented kernel option that needed to be set to make it work. One of the key glue techs that made it work last time (rom-o-matic) went out of development and is gone.
- gertlex 3y agoJust commenting an adjacent UEFI problem solved: My workaround at work with some old test robots that I still use, but don't have UEFI... Put iPXE on a flash drive, and use that to chain-boot into the uefi-only PXE setup. (there's still a few that this doesn't work for, but it's a minority and I'm going to scrap those...)
- gosub100 3y agoEither Dell or Lenovo (can't remember which, I own both laptops) has some new-generation HTTPS boot, tried it (I wanted to dual boot FreeBSD/Linux without messing with UEFI, disabling secure boot, or repartitioning, just pressing F12 and net-booting), wasted another 2-3 hours rebooting each time, got absolutely nowhere again. Man, this stuff is cursed.
- StillBored 3y agoThat is still basically the process. You need to ensure that the arch options are being selected properly in your dhcp file, ex: if option arch = 00:07 { filename "uefi/shimx64.efi"; next-server X.X.X.X; } else ... Otherwise, your going to get the wrong arch/filename. It is similar to HTTPS, but the arch = 00:10 for x64 and it needs: option vendor-class-identifier "HTTPClient"; Then put the URL in the filename field. Finally just put the usual bios/pxe stub in the last "else" Of course, your distro should provide a PXE capable grub/kernel/initrd, which you then toss on the TFTP/HTTPS (or HTTP then you don't have to deal with certs) server in the path provided.
- toast0 3y agoUEFI seems hard, because there's no standardized way to boot ISO files, and memdisk from syslinux doesn't work in UEFI. With memdisk, the OS kernel could (if properly written) hook into the loaded image, and mount that as well. Without that support, you have to take apart ISO files to netboot them, and your PXE environment needs to understand the various kernels and how to boot them, and how to provide modules / filesystem images. It's a big pain.