Skip to main content

Guys my netboot/netinstall server does not seem to be being picked up by our MacBooks which are the pre-force trackpad versions. I don't know why, I understand that netboot/netinstall may fail but the older MacBooks are simply not seeing the netboot service. I am using AutoCasperNBI with 10.10.5 dmg (the latest OS X from the Apple Store) with the JDS and Netboot server on two CentOS 7 VM's.

The force trackpad MacBooks see the netboot service and manage to install a configuration but in the end after the install process all we are left with after booting is a giant question mark on the screen. I attach a sample error log below (seems to suggest a permissions error but the problem is that the permissions error is always a different file, the one below is for Google Chrome but the file in question varies):

Initializing Imaging Process...
Mounting sscvlqmljds001...
Mounting https://sscvlqmljds001/CasperShareDAV/...
Installing OSX10.10.5AutoDMG20082015.dmg...
Installing Bit9_AgentDisabled_7.2.1.1101_09Sept15.dmg...
Installing CarbonBlack_4.2.7.50624_10Sept15.dmg...
Installing CentrifyExpressDC5.2.3_20072015.dmg...
Installing GoogleChrome_21072015.dmg...
Error: The file GoogleChrome_21072015.dmg could not be opened. Please verify the permissions.
Installing GPVPN-2.2.0-48_01092015.dmg...
Installing Lync_Mac14.1.1_01Sept2015.dmg...
Installing MSOffice2016_15.13.1_01Sept15.dmg...
Setting computer name to "NewCasperTestMac01"...
Creating /private/etc/jamf.conf...
Creating /usr/sbin/jamf...
Creating jamfHelper...
Ensuring Apple's Setup Assistant does not appear...
Creating First Run Enroll Script...
Creating First Run Post Install Script...
Adding line to Fix ByHost Files...
Adding line to run Disbale iCloud/Diagnostics Prompt...
Adding line to run Enable ScreenSharing...
Adding line to run Set TimeZone
Copying script Set TimeZone
Downloading Disbale iCloud/Diagnostics Prompt...
Copying script Disbale iCloud/Diagnostics Prompt...

@calumhunter Yes something is wrong with my set-up here, you are right technically it should work but I don't know what is wrong with the set-up or how to troubleshoot it. Thanks.

@bentoms Okay so it should work as they are all recent MacBooks purchased in the last year. I still don't understand why the netboot service icons don't show when pressing the option key for the models just before the force trackpad ones or how to troubleshoot this (which logs to look at). My workflow for this has involved AutoDMG to create the OS X dmg, AutoCasperNBI to create the NBI set and a docker container (as referenced earlier in this running) running on CentOS 7. On the network IP helpers are enabled. What do you mean when you say is there model filtering involved? Would that be done on the docker container image somehow? Thanks.

Here is a the docker log:

[root@XXXXXXXXXXXXXXXXX ~]# docker logs netboot_server
sleep 1
service nginx start
Starting nginx: nginx.
sleep 1
/usr/sbin/in.tftpd -l --permissive /nbi
tail -f /var/log/bsdpserver.log
/usr/bin/env python /bsdpy/bsdpserver.py
sleep 1
service nginx start
Starting nginx: nginx.
sleep 1
/usr/sbin/in.tftpd -l --permissive /nbi
tail -f /var/log/bsdpserver.log
/usr/bin/env python /bsdpy/bsdpserver.py
09/23/2015 04:26:21 PM - DEBUG: [========= Updating boot images list =========]
09/23/2015 04:26:21 PM - DEBUG: Considering NBI source at /nbi/10.10.5AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: Considering NBI source at /nbi/10.10.3AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: /nbi/10.10.5AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: /nbi/10.10.3AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: [========= End updated list =========]
09/23/2015 04:26:21 PM - DEBUG: [========= Using the following boot images =========]
09/23/2015 04:26:21 PM - DEBUG: /nbi/10.10.5AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: /nbi/10.10.3AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: [========= End boot image listing =========]


@Hafiz is that a current docker image? Like has a recent docker pull been done?

How do the logs look when trying to NetBoot a client?


@bentoms Yeah the docker pull is recent, it's the most recent one that is there.

But guys I am trying now with a MacBook that isn't seeing the netboot server and the logs look interesting I think (see below - "09/28/2015 04:55:18 PM - DEBUG: System ID "MacBookPro11,3" is disabled - skipping "No description"). If someone could help me figure out what the log is saying.

[root@SSCVLQMLCNB002 10.10.5AutoCasperNBI.nbi]# docker stop netboot_server
netboot_server
[root@SSCVLQMLCNB002 10.10.5AutoCasperNBI.nbi]# chmod 755 /nbi
[root@SSCVLQMLCNB002 10.10.5AutoCasperNBI.nbi]# docker start netboot_server
netboot_server
[root@SSCVLQMLCNB002 10.10.5AutoCasperNBI.nbi]# docker logs netboot_server
sleep 1
service nginx start
Starting nginx: nginx.
sleep 1
/usr/sbin/in.tftpd -l --permissive /nbi
tail -f /var/log/bsdpserver.log
/usr/bin/env python /bsdpy/bsdpserver.py
sleep 1
service nginx start
Starting nginx: nginx.
sleep 1
/usr/sbin/in.tftpd -l --permissive /nbi
tail -f /var/log/bsdpserver.log
/usr/bin/env python /bsdpy/bsdpserver.py
09/23/2015 04:26:21 PM - DEBUG: [========= Updating boot images list =========]
09/23/2015 04:26:21 PM - DEBUG: Considering NBI source at /nbi/10.10.5AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: Considering NBI source at /nbi/10.10.3AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: /nbi/10.10.5AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: /nbi/10.10.3AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: [========= End updated list =========]
09/23/2015 04:26:21 PM - DEBUG: [========= Using the following boot images =========]
09/23/2015 04:26:21 PM - DEBUG: /nbi/10.10.5AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: /nbi/10.10.3AutoCasperNBI.nbi
09/23/2015 04:26:21 PM - DEBUG: [========= End boot image listing =========]
sleep 1
service nginx start
Starting nginx: nginx.
sleep 1
/usr/sbin/in.tftpd -l --permissive /nbi
tail -f /var/log/bsdpserver.log
/usr/bin/env python /bsdpy/bsdpserver.py
09/28/2015 04:55:17 PM - DEBUG: Default boot image ID: [129, 0, 246, 188]
09/28/2015 04:55:18 PM - DEBUG: -=========================================-
09/28/2015 04:55:18 PM - DEBUG: Got BSDP INFORM[LIST] packet:
09/28/2015 04:55:18 PM - DEBUG: Using provided clientip 10.204.100.120
09/28/2015 04:55:18 PM - DEBUG: Determining image list for system ID MacBookPro11,3
09/28/2015 04:55:18 PM - DEBUG: System ID "MacBookPro11,3" is disabled - skipping "No description"
09/28/2015 04:55:18 PM - DEBUG: System ID "MacBookPro11,3" is disabled - skipping "No description"
09/28/2015 04:55:18 PM - DEBUG: -=========================================-
09/28/2015 04:55:18 PM - DEBUG: Return ACK[LIST] to d0:a6:37:e4:11:e6 - 10.204.100.120 on port 68
09/28/2015 04:55:18 PM - DEBUG: Default boot image ID: [129, 0, 246, 188]
[root@SSCVLQMLCNB002 10.10.5AutoCasperNBI.nbi]#


@Hafiz I'll holler at @Bruienne (BSDPy's author).. but I think he's at MacSysAdmin...

Can you post the NBImageInfo.plist from the NBI? Redacting JSS information etc..


@bentoms @Bruienne Thanks, below, I am thinking that if I comment out the MacBook identifer below that it might work!?! Maybe I am going down the wrong path but the "Disabled System Identifiers" is maybe a clue, and the MacBook that isn't seeing the netboot server is the list below. Will try to comment it out on the plist file.

[root@SSCVLQMLCNB002 10.10.5AutoCasperNBI.nbi]# less NBImageInfo.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict> <key>Architectures</key> <array> <string>i386</string> </array> <key>BackwardCompatible</key> <false/> <key>BootFile</key> <string>booter</string> <key>Description</key> <string>No description</string> <key>DisabledSystemIdentifiers</key> <array> <string>MacPro6,1</string> <string>MacBookPro4,1</string> <string>Macmini5,3</string> <string>Macmini5,2</string> <string>Macmini5,1</string> <string>iMac10,1</string> <string>MacPro4,1</string> <string>MacBookPro5,2</string> <string>iMac8,1</string> <string>MacBookPro5,5</string> <string>MacBookAir4,2</string> <string>iMac11,1</string> <string>MacBookPro7,1</string> <string>iMac11,3</string> <string>MacBookPro8,2</string> <string>MacBookPro3,1</string> <string>iMac13,2</string> <string>iMac13,3</string> <string>MacPro5,1</string> <string>iMac9,1</string> <string>Macmini3,1</string> <string>iMac13,1</string> <string>Macmini7,1</string> <string>iMac12,2</string> <string>MacBook7,1</string> <string>iMac12,1</string> <string>MacBook5,1</string> <string>MacBook5,2</string> <string>iMac11,2</string> <string>MacBookPro5,1</string> <string>Macmini6,1</string> <string>Macmini6,2</string> <string>MacBookPro11,3</string> <string>MacBookPro11,2</string> <string>MacBookPro11,1</string> <string>MacBookPro6,2</string> <string>MacBookPro10,2</string> <string>MacBookPro10,1</string> <string>iMac14,4</string> <string>MacBookPro9,2</string> <string>iMac14,1</string> <string>iMac14,3</string> <string>iMac14,2</string> <string>MacBookPro6,1</string> <string>MacBookPro5,4</string> <string>iMac15,1</string> <string>MacBookAir3,1</string> <string>MacBookAir3,2</string> <string>Macmini4,1</string> <string>Xserve3,1</string> <string>MacBookAir2,1</string> <string>MacBookAir6,1</string> <string>MacBookAir6,2</string> <string>MacBookPro8,1</string> <string>MacBookAir4,1</string> <string>MacBookPro8,3</string> <string>iMac7,1</string> <string>MacBookPro9,1</string> <string>MacBook6,1</string> <false/> <key>BootFile</key> <string>booter</string> <key>Description</key> <string>No description</string> <key>DisabledSystemIdentifiers</key> <array> <string>MacPro6,1</string> <string>MacBookPro4,1</string> <string>Macmini5,3</string> <string>Macmini5,2</string> <string>Macmini5,1</string> <string>iMac10,1</string> <string>MacPro4,1</string> <string>MacBookPro5,2</string> <string>iMac8,1</string> <string>MacBookPro5,5</string> <string>MacBookAir4,2</string> <string>iMac11,1</string> <string>MacBookPro7,1</string> <string>iMac11,3</string> <string>MacBookPro8,2</string> <string>MacBookPro3,1</string> <string>iMac13,2</string> <string>iMac13,3</string> <string>MacPro5,1</string> <string>iMac9,1</string> <string>Macmini3,1</string> <string>iMac13,1</string> <string>Macmini7,1</string> <string>iMac12,2</string> <string>MacBook7,1</string> <string>iMac12,1</string> <string>MacBook5,1</string> <string>MacBook5,2</string> <string>iMac11,2</string> <string>MacBookPro5,1</string> <string>Macmini6,1</string> <string>Macmini6,2</string> <string>MacBookPro11,3</string> <string>MacBookPro11,2</string> <string>MacBookPro11,1</string> <string>MacBookPro6,2</string> <string>MacBookPro10,2</string> <string>MacBookPro10,1</string> <string>iMac14,4</string> <string>MacBookPro9,2</string> <string>iMac14,1</string> <string>iMac14,3</string> <string>iMac14,2</string> <string>MacBookPro6,1</string> <string>MacBookPro5,4</string> <string>iMac15,1</string> <string>MacBookAir3,1</string> <string>MacBookAir3,2</string> <string>Macmini4,1</string> <string>Xserve3,1</string> <string>MacBookAir2,1</string> <string>MacBookAir6,1</string> <string>MacBookAir6,2</string> <string>MacBookPro8,1</string> <string>MacBookAir4,1</string> <string>MacBookPro8,3</string> <string>iMac7,1</string> <string>MacBookPro9,1</string> <string>MacBook6,1</string> <string>MacBook5,1</string> <string>MacBook5,2</string> <string>iMac11,2</string> <string>MacBookPro5,1</string> <string>Macmini6,1</string> <string>Macmini6,2</string> <string>MacBookPro11,3</string> <string>MacBookPro11,2</string> <string>MacBookPro11,1</string> <string>MacBookPro6,2</string> <string>MacBookPro10,2</string> <string>MacBookPro10,1</string> <string>iMac14,4</string> <string>MacBookPro9,2</string> <string>iMac14,1</string> <string>iMac14,3</string> <string>iMac14,2</string> <string>MacBookPro6,1</string> <string>MacBookPro5,4</string> <string>iMac15,1</string> <string>MacBookAir3,1</string> <string>MacBookAir3,2</string> <string>Macmini4,1</string> <string>Xserve3,1</string> <string>MacBookAir2,1</string> <string>MacBookAir6,1</string> <string>MacBookAir6,2</string> <string>MacBookPro8,1</string> <string>MacBookAir4,1</string> <string>MacBookPro8,3</string> <string>iMac7,1</string> <string>MacBookPro9,1</string> <string>MacBook6,1</string>


@Hafiz I have a post on how the identifers work here.

The post actually started from discussions I'd had with @Bruienne over BSDPy's behaviour vs. OSX Server.

BSDPy should work as per OSX Server (& as my post). But just in case, maybe try emptying the NBImageInfo.plists DisabledIdentifiers array.


@bentoms @Bruienne Did that but still not showing up, this is what I have right now (does my syntax look right?):

[root@SSCVLQMLCNB002 10.10.5AutoCasperNBI.nbi]# less NBImageInfo.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict> <key>Architectures</key> <array> <string>i386</string> </array> <key>BackwardCompatible</key> <false/> <key>BootFile</key> <string>booter</string> <key>Description</key> <string>No description</string> <key>DisabledSystemIdentifiers</key> <array> </array> <key>EnabledSystemIdentifiers</key> <array/> <key>ImageType</key> <string>netboot</string> <key>Index</key> <integer>3908</integer> <key>IsDefault</key> <false/> <key>IsEnabled</key> <true/> <key>IsInstall</key> <false/> <key>Kind</key> <integer>1</integer> <key>Language</key> <string>Default</string> <key>Name</key> <string>10.10.5AutoCasperNBI</string> <key>RootPath</key> <string>NetBoot.dmg</string> <key>SupportsDiskless</key> <true/> <key>Type</key> <string>NFS</string> <key>osVersion</key> <string>10.10</string>
</dict>
</plist>


Anyone? Will try to set-up a NBI using older hardware and see if that makes a difference.