Not able to netboot mac



  • Hello,

    I really don't know what I am doing wrong, I followed all the instructions on Using The MacOS Imaging Environment. Downloaded the Capitan, build with autodmg, build with AutoCloneDeployNBI using the right url and timesetting, generated the apple netboot information (netboot id 1111, netboot name CloneDeploy), created the necesary directories, copied the files, adjusted the permissions (linux), copied the vender information string to the config.ini, updated the ip-adresses, started the proxy service.
    I boot the apple with N key, the globe shows, waits and after some time boots normaly tot the harddrive.

    Then I tried the ipxe version: generated vender information with 3913 as id, copied and pasted in the config.ini, restarted service, no success.

    I tried it first on a linux install, then on a windows install, no success, normal pc's boot sucessfufy to the clonedeploy server, via de proxy service, but the two apple systems, macbook and imac I tried, wont boot to clonedeploy.

    I don't know what I am doing wrong, I hope somebody can help me out?

    Here is my config.ini (for linux, that's why i have 0.0.0.0 as interface), but i tried it also with windows and filled the correct ip-adres in then):

    [code];Config File For CloneDeploy Proxy DHCP Server

    [settings]

    ; LISTEN-DHCP sets the server to listen for pxe boot dhcp offers and apple netboot dhcp informs on port 67
    ; Must be true in order for Apple NetBoot to work
    ; Can be false if not using Apple NetBoot and the CloneDeploy Proxy DHCP is installed on the same server as your DHCP Server and option 60 is set to PXEClient on that DHCP Server
    ; Valid values: true | false

    listen-dhcp=true

    ; LISTEN-PROXY sets the server to listen for pxe boot proxy dhcp requests on port 4011
    ; Must be true for PXE booting
    ; Apple NetBoot does not use this port
    ; Valid values: true | false

    listen-proxy=true

    ; LISTEN-APPLE-BSDP sets the server to listen for Apple NetBoot Inform Requests
    ; Must be true to use with Apple NetBoot
    ; listen-dhcp must also be true when this is true
    ; Valid values: true | false

    listen-apple-bsdp=true

    ; INTERFACE sets the nic you want to listen on.
    ; Any interface can be specified with 0.0.0.0
    ; If running on Linux with Mono, you must use 0.0.0.0
    ; When binding to the interface, it is possible to reuse the port if there is already an existing DHCP Server on the same machine, with some limitations
    ; -- This lets you use the CloneDeploy Proxy DHCP on an isolated network with only a single machine for both DHCP services and Proxy DHCP services, but ideally should be on it's own machine with an ip helper pointing to it
    ; -- Not all DHCP servers support this, if CloneDeploy Proxy DHCP cannot bind, it will let you know
    ; -- Requests that are fowarded by a relay or ip helper, will not work when CloneDeploy Proxy DHCP is bound to the same interface that a DHCP Server is already using
    ; ----- It will only respond to requests in the same subnet / vlan
    ; Valid values: A single IPv4 address | 0.0.0.0

    interface=0.0.0.0
    ; NEXT-SERVER sets the IPv4 address of the tftp server
    ; Value is required for both PXE and Apple NetBoot
    ; Valid values: A single IPv4 address

    next-server=1.1.1.1

    ; CLONEDEPLOY-SERVICE-URL sets the optional url to check for boot reservations on CloneDeploy
    ; Used to set specific boot files for specific computers
    ; Comment out to disable
    ; Valid Value: Your CloneDeploy Web Service from CloneDeploy Web Interface ->Admin->Server->Web Service

    ;clonedeploy-service-url=http://1.1.1.1/clonedeploy/service/client.asmx/

    ; ALLOW-ALL-MAC sets the server to respond to all pxe boot or netboot requests or limit to only those set in the allow file
    ; Valid values true | false

    allow-all-mac=true

    ; BIOS-BOOTFILE sets the file that is loaded for legacy bios clients, both x86 and x64
    ; Path is relative to your tftp base folder
    ; If using with CloneDeploy, it should always be proxy/bios/pxeboot.0

    bios-bootfile=proxy/bios/pxeboot.0

    ; EFI32-BOOTFILE sets the file that is loaded for efi x86 clients
    ; Path is relative to your tftp base folder
    ; If using with CloneDeploy, it should always be proxy/efi32/pxeboot.0

    efi32-bootfile=proxy/efi32/pxeboot.0

    ; EFI64-BOOTFILE sets the file that is loaded for efi x64 clients
    ; Path is relative to your tftp base folder
    ; If using with CloneDeploy, it should always be proxy/efi64/pxeboot.0

    efi64-bootfile=/proxy/efi64/pxeboot.0

    ; APPLE-EFI-BOOT-FILE sets the boot file on Apple NetBoot when not using a macOS NBI. Ex: The CloneDeploy Linux Imaging Environment
    ; This file is only loaded if an nbi is selected with an id of 3913 or 39131
    ; This feature enables NetBooting to both an Apple NBI and the Linux Environment while using only a single CloneDeploy Proxy DHCP Server
    ; If using with CloneDeploy, it should always be proxy/efi64/ipxe.efi

    apple-efi-boot-file=proxy/efi64/ipxe.efi

    ; APPLE-BOOT-FILE sets the boot file on Apple NetBoot when a macOS NBI is selected.
    ; Path is relative to your tftp base folder
    ; [nbi-id] is a placeholder for the selected NBI from the Apple Boot Menu
    ; If using with CloneDeploy, it should always be [nbi_id]/i386/booter

    apple-boot-file=[nbi_id]/i386/booter

    ; APPLE-ROOT-PATH sets the location of the NBI .dmg folder for Apple NetBoot - Only supports serving over http - No NFS
    ; [nbi-id] is a placeholder for the selected NBI from the Apple Boot Menu
    ; If using with CloneDeploy, it should always be http://clonedeploy-server-ip/clonedeploy/public/macos_nbis/[nbi_id]/NetBoot.dmg

    apple-root-path=http://1.1.1.1/clonedeploy/public/macos_nbis/[nbi_id]/NetBoot.dmg

    ; APPLE-VENDOR-SPECIFIC-INFORMATION sets the NBI list boot menu for Apple NetBoot
    ; If using with CloneDeploy, it should be generated from the CloneDeploy Web Interface->Admin->BootMenu->Apple NetBoot
    ; If not using with CloneDeploy, you can generate it by filling in the vendor-specific-info-generator section below and running with the --generate argument

    apple-vendor-specific-information=01:01:01:03:04:0A:9F:FA:0A:04:02:FF:FF:07:04:01:00:0F:49:09:10:01:00:0F:49:0B:43:6C:6F:6E:65:44:65:70:6C:6F:79

    ; SERVER-IDENTIFIER-OVERRIDE sets the Server Identifier
    ; By default this value is set to the inteface value when empty, except in cases where it cannot be, such as an interface set to 0.0.0.0
    ; Valid values: A single IPv4 address

    server-identifier-override=1.1.1.1

    ; The Following section is used to generate the apple-vendor-specific-information string for use with Apple NetBooting when CloneDeploy Proxy DHCP is ran with the --generate argument
    ; This Should Only be filled in if using without CloneDeploy
    ; It supports adding up to 5 boot options to the Apple NetBoot Menu
    ; NETBOOT-SERVER-IP sets the CloneDeploy Proxy DHCP that should be targeted when a boot Menu selection is selected
    ; NETBOOT-SERVER-IP should match either the interface value or the apple-target-ip-override value
    ; Id Values for a single CloneDeploy Proxy DHCP Server must be unique
    ; Id Values for an NBI being served from a single server must be b/w 1-4095
    ; Id Values for an NBI being served from multiple servers for load balancing must be b/w 4096-65535
    ; An id with the a value of 3913 or 39131 will load the apple-efi-boot-file, any other value will load the apple-boot-file
    ; Name values can be any name you want to display on the Apple NetBoot Boot Menu
    ; Name values should not contain spaces or special characters
    [vendor-specific-info-generator]

    netboot-server-ip=

    apple_nbi_id_1=
    apple_nbi_name_1=

    apple_nbi_id_2=
    apple_nbi_name_2=

    apple_nbi_id_3=
    apple_nbi_name_3=

    apple_nbi_id_4=
    apple_nbi_name_4=

    apple_nbi_id_5=
    apple_nbi_name_5=
    [/code]

    This is what happens if I run the service in debug-mode:

    [code]DHCP Service Listening On 0.0.0.0:67
    DHCP Service Listening On 0.0.0.0:4011

    DHCP Service Running
    Press [Enter] to Exit.
    DHCPINFORM Request From A08CFD7CAD7F 1.1.1.1.198:68
    Vendor Class Id 4D53465420352E30 MSFT 5.0
    Request Is Not A PXE or NetBoot Request - Ignoring

    DHCPREQUEST Request From 00254BD0BFD2 0.0.0.0:68
    Vendor Class Id 4141504C42534450432F693338362F4D6163426F6F6B50726F352C33 AAPLBSDPC/i386/MacBookPro5,3
    Request Is Not A PXE or NetBoot Request - Ignoring

    DHCPINFORM Request From 00254BD0BFD2 1.1.1.1.181:68
    Vendor Class Id 4141504C42534450432F693338362F4D6163426F6F6B50726F352C33 AAPLBSDPC/i386/MacBookPro5,3
    Request Is An Apple NetBoot
    Sending Acknowledgement to 1.1.1.1.181:68

    DHCPDISCOVER Request From 00254BD0BFD2 0.0.0.0:68
    Vendor Class Id 505845436C69656E743A417263683A30303030303A554E44493A303033303136 PXEClient:Arch:00000:UNDI:003016
    Request Is A PXE Boot
    Sending Offer To 255.255.255.255:68

    DHCPREQUEST Request From 00254BD0BFD2 0.0.0.0:68
    Vendor Class Id 505845436C69656E743A417263683A30303030303A554E44493A303033303136 PXEClient:Arch:00000:UNDI:003016
    Request Is Not A PXE or NetBoot Request - Ignoring

    DHCPREQUEST Proxy Request From 00254BD0BFD2 1.1.1.1.180:4011
    Vendor Class Id 505845436C69656E743A417263683A30303030303A554E44493A303033303136 PXEClient:Arch:00000:UNDI:003016
    Request Is A Proxy PXE Boot
    No Reservation Found. Using Default config
    Client Architecture: Intelx86PC
    Sending Acknowledgement to 1.1.1.1.180:4011[/code]

    But after the above message the mac boots to the harddisk.

    I even tried "csrutil netboot add 1.1.1.1" on the mac and the "sudo bless --netboot --booter tftp://1.1.1.1/proxy/efi64/ipxe.efi", but no success. I can't get the Mac to boot to clonedeploy.

    Offcourse the 1.1.1.1 is replaced with the actual ip-adres of the clonedeploy server, the proxy service is always run on the same ip-addres.

    Thanks in advance for helping me out,

    Steve
    Belgium.



  • Thanks for the detailed post. This seems like it could be a tftp issue, but difficult to say. I would try these steps.
    Instead of using the N key to boot use Option and verify that the CloneDeploy network option is listed. If so the proxy service is working.

    Verify you can manually download the netboot image from
    http://1.1.1.1/clonedeploy/public/macos_nbis/[nbi_id]/NetBoot.dmg
    replacing [nbi_id] with the id

    Verify you can manually download the booter file from a tftp client
    tftp get 1.1.1.1/[nbi_id]/i386/booter