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

Reply via email to