Hi, I setup a PXE boot server, to load my different clients. Now I have 2 single EFI devices, which do not support PXE (both are Macminis). They prefer "EFI" files. Both are capable running 64bit software, but require 32bit EFI loaders. So I added a line in my dhcpd.conf to supply “BOOTIA32.EFI” file. It get’s loaded via tftp, and displays on the clients console the well known bsd prompt for booting:
probing: pc0 mem 1576K 64K 2015M 11M 64K 52KI disk: hd0* hd1* >> OpenBSD/amd64 BOOTIA32 3.30 open(hd0a:/etc/boot.conf): invalid argument boot> _ Here the client stops, for sure there is no harddrive. Somehow the efiboot file does not provide the option to load the kernel via network, only hd0 or hd1 is offered. I looked up the files in /sys/arch/amd64/stand/efiboot/efiboot.c and the header files, but couldn't find the references to IPv4 (or IPv6) booting, though the header files in /usr/src/sys/stand/efi/include contain the structures for IPv4_DEVICE_PATH. Can someone point me into the right direction? --- On dhcp server: Macs boot differently over the net with dhcp and bootp. I use a class definition, and inside s.th <http://s.th/>. like this: class "AppleNBI-i386" { match if substring (option vendor-class-identifier, 0, 14) = "AAPLBSDPC/i386"; option dhcp-parameter-request-list 1,3,17,43,60; if (option dhcp-message-type = 1) { option vendor-class-identifier "AAPLBSDPC/i386"; } if (option dhcp-message-type = 1) { option vendor-encapsulated-options 08:04:81:00:00:67; } if (substring (option vendor-class-identifier, 15, 10) = "Macmini1,1") { log(info, concat("DHCPd: Macmini1,1: vendor-class-identifier = ", option vendor-class-identifier)); filename "amd64/BOOTIA32.EFI"; } ... So I didn't need to setup dhcp with "option arch code 93", as described here: http://marc.info/?l=openbsd-tech&m=148517258726719&w=2