For Yosemite: 1 NetBoot Set Serving Several Different Model Identifiers, Especially For Newer Macs

lsmc08
Contributor

My environment:

10.10.2
Server.app Version 4.0.3

Current situation:

I created a NetBoot (NB) set from a Mac mini (10.10.2, Model Identifier Macmini7,1). Everything works great there.

Today I got a MBP 13", Early 2015. 10.10.2, Model Identifier MacBookPro12,1.

I know the MBP 13" is new hardware. I don't want to create a NB set off of this model for NB services, instead, I'm trying to use the same NB set from the Mac mini. I've been trying to edit the NBImageInfo.plist & PlatformSupport.plist files to accomplish this.

So far, I haven't had much luck. When NetBooting from the MBP 13", here's what I get:

A. The MBP 13" sees the NB set.
B. When rebooting/NetBooting, it shows the iconic NB rotating globe.
C. When it seems it's about to render the OS, it halts at the solid gray/silver Apple logo.

As for the NBImageInfo.plist & PlatformSupport.plist files, I've incorporated the identifier & motherboard ID for the MBP 13".

Here's a copy of my NBImageInfo.plist file:

<?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>NetBoot of OS X 10.10.2 (14C1510) Volume (17.19 GB).</string> <key>DisabledMACAddresses</key> <array/> <key>DisabledSystemIdentifiers</key> <array> <string>iMac10,1</string> <string>iMac11,1</string> <string>iMac11,2</string> <string>iMac11,3</string> <string>iMac12,1</string> <string>iMac12,2</string> <string>iMac13,1</string> <string>iMac13,2</string> <string>iMac13,3</string> <string>iMac14,1</string> <string>iMac14,2</string> <string>iMac14,3</string> <string>iMac14,4</string> <string>iMac15,1</string> <string>iMac7,1</string> <string>iMac8,1</string> <string>iMac9,1</string> <string>Mac-50619A408DB004DA</string> <string>Mac-E43C1C25D4880AD6</string> <string>MacBook5,1</string> <string>MacBook5,2</string> <string>MacBook6,1</string> <string>MacBook7,1</string> <string>MacBookAir2,1</string> <string>MacBookAir3,1</string> <string>MacBookAir3,2</string> <string>MacBookAir4,1</string> <string>MacBookAir4,2</string> <string>MacBookAir5,1</string> <string>MacBookAir5,2</string> <string>MacBookAir6,1</string> <string>MacBookAir6,2</string> <string>MacBookPro10,1</string> <string>MacBookPro10,2</string> <string>MacBookPro11,1</string> <string>MacBookPro11,2</string> <string>MacBookPro11,3</string> <string>MacBookPro3,1</string> <string>MacBookPro4,1</string> <string>MacBookPro5,1</string> <string>MacBookPro5,2</string> <string>MacBookPro5,3</string> <string>MacBookPro5,4</string> <string>MacBookPro5,5</string> <string>MacBookPro6,1</string> <string>MacBookPro6,2</string> <string>MacBookPro7,1</string> <string>MacBookPro8,1</string> <string>MacBookPro8,2</string> <string>MacBookPro8,3</string> <string>MacBookPro9,1</string> <string>MacBookPro9,2</string> <string>MacBookPro12,1</string> <string>Macmini3,1</string> <string>Macmini4,1</string> <string>Macmini5,1</string> <string>Macmini5,2</string> <string>Macmini5,3</string> <string>Macmini6,1</string> <string>Macmini6,2</string> <string>Macmini7,1</string> <string>MacPro3,1</string> <string>MacPro4,1</string> <string>MacPro5,1</string> <string>MacPro6,1</string> <string>Xserve3,1</string> </array> <key>EnabledMACAddresses</key> <array/> <key>EnabledSystemIdentifiers</key> <array/> <key>Index</key> <integer>590</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>zDEV-Late 2014 NB</string> <key>RootPath</key> <string>NetBoot.dmg</string> <key>SupportsDiskless</key> <true/> <key>Type</key> <string>NFS</string> <key>imageType</key> <string>netboot</string> <key>osVersion</key> <string>10.10</string>
</dict>
</plist>

Here's a copy of my PlatformSupport.plist file:

<?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>SupportedBoardIds</key> <array> <string>Mac-031B6874CF7F642A</string> <string>Mac-F2268DC8</string> <string>Mac-F22587C8</string> <string>Mac-50619A408DB004DA</string> <string>Mac-F2218EA9</string> <string>Mac-742912EFDBEE19B3</string> <string>Mac-F22C8AC8</string> <string>Mac-F22586C8</string> <string>Mac-AFD8A9D944EA4843</string> <string>Mac-F227BEC8</string> <string>Mac-F226BEC8</string> <string>Mac-7DF2A3B5E5D671ED</string> <string>Mac-35C1E88140C3E6CF</string> <string>Mac-77EB7D7DAF985301</string> <string>Mac-2E6FAB96566FE58C</string> <string>Mac-7BA5B2794B2CDB12</string> <string>Mac-031AEE4D24BFF0B1</string> <string>Mac-00BE6ED71E35EB86</string> <string>Mac-F42D86A9</string> <string>Mac-4B7AC7E43945597E</string> <string>Mac-F22C89C8</string> <string>Mac-F22587A1</string> <string>Mac-942459F5819B171B</string> <string>Mac-F42388C8</string> <string>Mac-F223BEC8</string> <string>Mac-F4238CC8</string> <string>Mac-F222BEC8</string> <string>Mac-4BC72D62AD45599E</string> <string>Mac-F2208EC8</string> <string>Mac-66F35F19FE2A0D05</string> <string>Mac-F4238BC8</string> <string>Mac-189A3D4F975D5FFC</string> <string>Mac-C08A6BB70A942AC2</string> <string>Mac-8ED6AF5B48C039E1</string> <string>Mac-FA842E06C61E91C5</string> <string>Mac-FC02E91DDD3FA6A4</string> <string>Mac-6F01561E16C75D06</string> <string>Mac-F60DEB81FF30ACF6</string> <string>Mac-81E3E92DD6088272</string> <string>Mac-F2268EC8</string> <string>Mac-F22589C8</string> <string>Mac-3CBD00234E554E41</string> <string>Mac-F22788AA</string> <string>Mac-F42C86C8</string> <string>Mac-F221BEC8</string> <string>Mac-942C5DF58193131B</string> <string>Mac-F2238BAE</string> <string>Mac-F22C86C8</string> <string>Mac-F2268CC8</string> <string>Mac-F221DCC8</string> <string>Mac-F2218FC8</string> <string>Mac-94245A3940C91C80</string> <string>Mac-27ADBB7B4CEE8E61</string> <string>Mac-F65AE981FFA204ED</string> <string>Mac-F42D89C8</string> <string>Mac-942B59F58194171B</string> <string>Mac-F42D89A9</string> <string>Mac-F2268AC8</string> <string>Mac-F42C89C8</string> <string>Mac-F2238AC8</string> <string>Mac-942452F5819B1C1B</string> <string>Mac-F2218FA9</string> <string>Mac-F42D88C8</string> <string>Mac-94245B3640C91C81</string> <string>Mac-F42D86C8</string> <string>Mac-42FD25EABCABB274</string> <string>Mac-F2268DAE</string> <string>Mac-2BD1B31983FE1663</string> <string>Mac-7DF21CB3ED6977E5</string> <string>Mac-F42C88C8</string> <string>Mac-35C5E08120C7EEAF</string> <string>Mac-F42386C8</string> <string>Mac-C3EC7CD22292981F</string> <string>Mac-942B5BF58194151B</string> <string>Mac-F2218EC8</string> <string>Mac-E43C1C25D4880AD6</string> </array> <key>SupportedModelProperties</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>MacBookPro12,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>MacBookPro5,3</string> <string>MacBookAir5,2</string> <string>MacPro3,1</string> <string>MacBookAir5,1</string> </array>
</dict>
</plist>

Hope someone can share some tips on this. I know I can just create another NB based on the MBP 13", but that's always the problem when new hardware comes out. I'm trying to have 1-2 NB at the most.

Thank you.

25 REPLIES 25

htse
Contributor III

I'm unsure what this would accomplish, you've managed to edit the plist to recognize an Early 2015 MacBook Pro, but the operating system from a Mac mini you're NetBooting to still isn't the correct build and doesn't have the the kernel extensions necessary to understand the Force Touch trackpad, video controller, etc.

lsmc08
Contributor

@htse Thank you for your reply here.

What I'm trying to accomplish is to reduce the number of NB sets as possible.

Say I go ahead and create a new NB set for the Early 2015 MBP 13", cool no problem here. My issue is having to create yet another NB set, say when the new shinny gold MacBook makes it unto our shop...and so on and so forth.

davidacland
Honored Contributor II
Honored Contributor II

The NetBoot images are normally backward compatible so you should be able to use a new 2015 MacBook NBI on older hardware.

We would normally create a new a new image for new hardware as its released, and once tested, delete the previous image.

htse
Contributor III

It's unfortunately a necessary evil. The version of OS X for new hardware is considered system-specific, and merges back with the mainline, generally by the next minor version update. Once it no longer requires a system-specific version, you would be able to delete the system-specific NetBoot image.

bentoms
Release Candidate Programs Tester

The OS within the NBI is "the issue" not the NBImageInfo.plist.

You could try a 10.10.3 beta OS as a "unified" NBI, until it's release.. If 1 NBI is the absolute.

rhysforrester
New Contributor

The next combo update released after hardware with a forked build number is what you're after. 10.10.3 won't be long.

lsmc08
Contributor

Hello all,

Thank you for your responses here.

@davidacland Yes, you're right - by editing those files, I was hoping to build on the existing one, as opposed to creating a new NB set all together.

@bentoms Yes, you are correct - just realized that...even thought it is 10.10.2, the build # on the MBP early 2015 is a different number from what you will find on others 10.10.2 Macs.

bmarks
Contributor II

Yeah, I can confirm the 10.10.3 beta release is a unified build and will result in one NetBoot to rule them all.

jhalvorson
Valued Contributor

Apple hasn't updated the OS X build number information on their Kbase yet concerning the new Air and MacBook retina : Mac OS X versions (builds) for computers

Today, I unboxed a MacBook Air 13-inch (early 2015) (MacBookAir7,2) and the build number is for OS X 10.10.2 is (14C2043).
After applying available Apple updates, the build number changed to (14C2513).

Most Mac hardware prior to 2015 revisions will be version (14C1514).

Has anyone posted the build numbers for the 2015 11-inch MBA and the 13-inch MBP?

malroy
New Contributor II

jhalvorson,

The 13-inch MBP Build number is 14C2055

Chris_Hafner
Valued Contributor II

Heh, I'll be the first to say it then. "You've been forked by Apple!" Welcome to the party. These folks have the right idea. make a new NBI using the newest hardware and that should run the rest. Sometimes I use the developer pre-release as Ben mentions. However, once I see something like this on it's way I always us it to create a fresh NBI. Using something like AutoCasperNBI makes that process as dead simple as is possible.

In the end, I'm only using two .NBIs (Generally) to boot everything that Apples ever made so long as it uses an Intel chip. (One is 10.10.2 and the other is 10.6.8).

powellbc
Contributor II

I was hoping to download the Yosemite installer form the App Store on the new hardware (expecting to download an installer with the newer build), but it simply told me Yosemite was already installed. Usually it gives you the option to download the installer if you want.

An installer must exist for internet recovery. Has anyone been able to download it?

Chris_Hafner
Valued Contributor II

Yep. I've re-downloaded Yosemite several times to use for various reasons. Unfortunately I do not have a new enough piece of forked hardware to test that specific build though.

Chris_Hafner
Valued Contributor II

P.S. I tend to download them on a 10.10.x (2 at the moment) iMac. It says the same thing. Yosemite is already loaded but then I can continue to download the installer.

powellbc
Contributor II

Unfortunately the new model is not giving me that option.

Chris_Hafner
Valued Contributor II

Interesting. You could load 10.10.3 developer preview on it and then see if you could download the proper 10.10.2 installer that way. I believe that the public version has that functionality.

Regardless, if you're not in a rush all should be fixed with 10.10.3 (combo). They're on the 7th beta. I'm going out on a limb to assume (I know I know) that it can't be all that far off. I'd just build a temporary NBI form 10.10.3 beta anyways. At least that way you're testing what you'll be moving to next. This forked version of 10.10.2 will be history in a very short manner of time so don't kill yourself on it unless you really have to.

htse
Contributor III

Apple doesn't package any system-specific OS X versions on the Mac App Store, to prevent https://support.apple.com/en-ca/HT201686.

You'd have to use Internet Recovery, but Internet Recovery isn't a nice monolithic package like the App Store is. It just downloads an image of an OS Installer, boots to it, and then pulls the individual packages as it needs them.

Chris_Hafner
Valued Contributor II

@htse Good info! I had forgotten about that in general. In that case, there's always Composer ;-)

powellbc
Contributor II

In the end I have used internet restore install OS X to an external volume and did the "shutdown before install" method to retrieve the installESD.dmg from the external disk. Seems to be working well so far.

powellbc
Contributor II

And I just read that 10.10.3 is coming out today. :) Good call @Chris_Hafner

At least I learned something for the future.

Chris_Hafner
Valued Contributor II

Yea... I like you method though! Way to grab the ESD. I used to jump through endless hoops to get these only to have Apple release the proper version hours later. Funny story though. Right after I posted about not having one of the new 2015 MBAirs to setup, a student brought one in to be imaged. Go figure!

P.S. Unfortunately the student brought one in with the 128GB SSD. I managed to convince them to exchange it for a unit with a more reasonable SSD size before they got stuck so I still haven't acquired one. Good to hear about 10.10.3! It's about time!

jhalvorson
Valued Contributor

If they release 10.10.3 today, you can blame/thank me. I just spend 2 hours this morning obtaining the 14C2043 InstallESD.dmg (Internet restore/power off before reboot method) and using AutoCasperNBI and AutoDMG to be able to support the 2015 devices. It's a trend. The days I work on the forked OS, Apple releases the unified update within 24 hours. I am pretty sure Apple watches me work. :P

bpavlov
Honored Contributor

@jhalvorson Hahahahaha. They really must be watching you.

mm2270
Legendary Contributor III

Not just you. Just yesterday we got a new image drive setup using the special 10.10.2 build after we received the new hardware a couple of days back, and began testing it. And today they release the non forked OS. I agree, they must be watching us and are snickering at us right now. Like lab rats in an experiment. :)

Chris_Hafner
Valued Contributor II

Alright... who's running it yet. I'm just waiting on AutoDMG and then AutoCasperNBI.