Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Status
The first post of this thread is a WikiPost and can be edited by anyone with the appropiate permissions. Your edits will be public.
So going back and looking at the dist file again, one actually does not need to get and modify the boardID and nonSupportedModels arrays. We can fix things up just by selectively returning true.

So, change the following code from:

Code:
var currentModel = system.sysctl('hw.model');
if (nonSupportedModels.indexOf(currentModel) >= 0) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return false;
    }
    var boardId = system.ioregistry.fromPath('IOService:/')['board-id'];
    if (boardIds.indexOf(boardId) == -1) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return false;
    }

to

Code:
var currentModel = system.sysctl('hw.model');
if (nonSupportedModels.indexOf(currentModel) >= 0) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return true;
    }
    var boardId = system.ioregistry.fromPath('IOService:/')['board-id'];
    if (boardIds.indexOf(boardId) == -1) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return true;
    }

@dosdude1, if you make your code make these changes, it should work regardless of machine/boardId rather than having to test for different types.

Updating my link here #1455
 
  • Like
Reactions: FanStalin
So going back and looking at the dist file again, one actually does not need to get and modify the boardID and nonSupportedModels arrays. We can fix things up just by selectively returning true.

So, change the following code from:

Code:
var currentModel = system.sysctl('hw.model');
if (nonSupportedModels.indexOf(currentModel) >= 0) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return false;
    }
    var boardId = system.ioregistry.fromPath('IOService:/')['board-id'];
    if (boardIds.indexOf(boardId) == -1) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return false;
    }

to

Code:
var currentModel = system.sysctl('hw.model');
if (nonSupportedModels.indexOf(currentModel) >= 0) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return true;
    }
    var boardId = system.ioregistry.fromPath('IOService:/')['board-id'];
    if (boardIds.indexOf(boardId) == -1) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return true;
    }

@dosdude1, if you make your code make these changes, it should work regardless of machine/boardId rather than having to test for different types.

Updating my link here #1455
You can also just change the if statements to (0==0) or (0==1) so it always returns true or false (whatever it needs to work). This is actually what my patch tool does to the Sierra installer.
 
dlfgma you are a GENIUS!

I just did your new method and I'm getting macOS Sierra Public Beta 2 now!

Thanks again!

So going back and looking at the dist file again, one actually does not need to get and modify the boardID and nonSupportedModels arrays. We can fix things up just by selectively returning true.

So, change the following code from:

Code:
var currentModel = system.sysctl('hw.model');
if (nonSupportedModels.indexOf(currentModel) >= 0) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return false;
    }
    var boardId = system.ioregistry.fromPath('IOService:/')['board-id'];
    if (boardIds.indexOf(boardId) == -1) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return false;
    }

to

Code:
var currentModel = system.sysctl('hw.model');
if (nonSupportedModels.indexOf(currentModel) >= 0) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return true;
    }
    var boardId = system.ioregistry.fromPath('IOService:/')['board-id'];
    if (boardIds.indexOf(boardId) == -1) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return true;
    }

@dosdude1, if you make your code make these changes, it should work regardless of machine/boardId rather than having to test for different types.

Updating my link here #1455
 
POSSIBLE IMAC7,1 AUDIO FIX

Just stick this section in the appropriate area of AppleHDAHardwareConfigDriver info.plist

<dict>
<key>CodecID</key>
<integer>-2088470912</integer>
<key>ConfigData</key>
<data>
AKccUACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxxAAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccYAEHHeABBx5L
AQcfAQEXHDABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>14</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>-2088470912</integer>
<key>ConfigData</key>
<data>
AKccUACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxxAAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccYAEHHeABBx5L
AQcfAQEXHDABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>15</integer>
</dict>

Then set permissions, do a kextcache, etc

If that doesn't work try deleting layoutid-14.xml.zlib and also 15, and then rebooting. (somewhere inside applehda lol)

This is getting into really hackintosh-esque territory lol
 
Last edited:
Tried the @dosdude1 method using the latest public beta (wasn't able to use my developers beta) with my Xserve3,1 and I kept getting an error when I went to initially install 10.12 that said "The operation couldn't be completed Operation not permitted" then used me to reboot.

Trying the @parrotgeek1 method now.


**Edit** the @parrotgeek1 method failed so I ended up trying a new USB stick with @dosdude1 method and it worked a treat! Going to do my Xserve2,1 next.
 
Last edited:
POSSIBLE IMAC7,1 AUDIO FIX

Just stick this section in the appropriate area of AppleHDAHardwareConfigDriver info.plist

<dict>
<key>CodecID</key>
<integer>-2088470912</integer>
<key>ConfigData</key>
<data>
AKccUACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxxAAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccYAEHHeABBx5L
AQcfAQEXHDABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>14</integer>
</dict>
<dict>
<key>CodecID</key>
<integer>-2088470912</integer>
<key>ConfigData</key>
<data>
AKccUACnHUAApx4rAKcfAQC3HBAAtx0BALce
oAC3H5AAxxxAAMcdAQDHHhAAxx+QANcc8ADX
HQAA1x4AANcfQADnHPAA5x0AAOceAADnH0AA
9xwgAPcdMAD3HosA9x8BAQccYAEHHeABBx5L
AQcfAQEXHDABFx3gARceywEXHwEBVxzwAVcd
AAFXHgABVx9AAbcc8AG3HQABtx4AAbcfQA==
</data>
<key>FuncGroup</key>
<integer>1</integer>
<key>LayoutID</key>
<integer>15</integer>
</dict>

Then set permissions, do a kextcache, etc

If that doesn't work try deleting layoutid-14.xml.zlib and also 15, and then rebooting. (somewhere inside applehda lol)

This is getting into really hackintosh-esque territory lol

I'll give this a shot once I can get to my iMac, sometime in the next 24 hours hopefully, and report back. Thanks for your brilliant work (and all the others in this thread too, like dosdude1) on getting Sierra running perfectly on these old machines!
 
Alright, I've just finished the first version of the automated software update patch. It's very primitive at this time, but expect improvements very soon. I tested it on a couple machines and it seemed to work just fine on both of them (the update showed up, haven't tested installing it). Download here: http://dosdude1.com/sierra/macOS Sierra Software Update Patch.zip Please also note that only Public Beta builds will be supported by this.
 

Attachments

  • Screen Shot 2016-07-26 at 8.44.25 PM.png
    Screen Shot 2016-07-26 at 8.44.25 PM.png
    58.1 KB · Views: 232
Last edited:
I'll give this a shot once I can get to my iMac, sometime in the next 24 hours hopefully, and report back. Thanks for your brilliant work (and all the others in this thread too, like dosdude1) on getting Sierra running perfectly on these old machines!
Actually I don't think this will work because I found out that iMac 7,1 does not use layout ID 14 or 15. Try downgrading applehda to the 10.11.6 version lol
 
So going back and looking at the dist file again, one actually does not need to get and modify the boardID and nonSupportedModels arrays. We can fix things up just by selectively returning true.

So, change the following code from:

Code:
var currentModel = system.sysctl('hw.model');
if (nonSupportedModels.indexOf(currentModel) &gt;= 0) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return false;
    }
    var boardId = system.ioregistry.fromPath('IOService:/')['board-id'];
    if (boardIds.indexOf(boardId) == -1) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return false;
    }

to

Code:
var currentModel = system.sysctl('hw.model');
if (nonSupportedModels.indexOf(currentModel) &gt;= 0) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return true;
    }
    var boardId = system.ioregistry.fromPath('IOService:/')['board-id'];
    if (boardIds.indexOf(boardId) == -1) {
        my.result.message = system.localizedString('ERROR_1');
        my.result.type = 'Fatal';
        return true;
    }

@dosdude1, if you make your code make these changes, it should work regardless of machine/boardId rather than having to test for different types.

Updating my link here #1455

I did this and I was able to jump from DP1 to DP3 on my MacBook 5,1! Whoohoo! I'll be making a video tutorial soon for dudes who want more of a visual guide, and a way to just make fun of myself.Screen Shot 2016-07-26 at 6.38.14 PM.png
 
Can someone please upload the .dist file for the Developer Preview 3 update, as well as the directory it's stored in? That way, I can add support for it in my Software Update patch tool.
[doublepost=1469588648][/doublepost]
Tried the @dosdude1 method using the latest public beta (wasn't able to use my developers beta) with my Xserve3,1 and I kept getting an error when I went to initially install 10.12 that said "The operation couldn't be completed Operation not permitted" then used me to reboot.

Trying the @parrotgeek1 method now.


**Edit** the @parrotgeek1 method failed so I ended up trying a new USB stick with @dosdude1 method and it worked a treat! Going to do my Xserve2,1 next.
The Xserve 2,1 won't work, as the CPUs it supports don't support SSE4.1 instructions, which Sierra requires.
 
Instructions (thanks to various people)
  • sudo /usr/sbin/softwareupdate --set-catalog https://swscan.apple.com/content/ca...ion-snowleopard-leopard.merged-1.sucatalog.gz
  • sudo vi /var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068/C/com.apple.SoftwareUpdate.SUCatalogDataManager/r/031-68146/031-68146*dist (this will vary based on language)
  • add boardid to boardIds array, ( ioreg -l | awk -F\" '/board-id/ { print $4 }' )
  • remove Mac model from nonSupportedModels array, ( sysctl hw.model | awk '{ print $2 }' )
  • change "return false" to "return true", see #1526
  • quit App Store if running
  • sudo softwareupdate --list (repeat as necessary)
  • boot from usb using dosdude1 tool and reapply post install patch (if necessary)

What's weird is that PB2 is still showing up as an update even though I have have it installed. Anyone else see this?

On a separate note, my keyboard issue seems to have fixed itself.


Great

Works with my MacBook 5.1 late 2008 macOS Sierra PB1

Thanks
 
Alright, I've just finished the first version of the automated software update patch. It's very primitive at this time, but expect improvements very soon. I tested it on a couple machines and it seemed to work just fine on both of them (the update showed up, haven't tested installing it). Download here: http://dosdude1.com/sierra/macOS Sierra Software Update Patch.zip Please also note that only Public Beta builds will be supported by this.


Amazing! This has been the only thing thats worked here,

Ran it, patched it, refreshed it, downloading it!

Thankyou!!!
 

Attachments

  • Screen Shot 2016-07-27 at 11.32.57 am.png
    Screen Shot 2016-07-27 at 11.32.57 am.png
    281.5 KB · Views: 242
  • Like
Reactions: dosdude1
Alright, I've just finished the first version of the automated software update patch. It's very primitive at this time, but expect improvements very soon. I tested it on a couple machines and it seemed to work just fine on both of them (the update showed up, haven't tested installing it). Download here: http://dosdude1.com/sierra/macOS Sierra Software Update Patch.zip Please also note that only Public Beta builds will be supported by this.
Hi. Do you handle the recovery partition now? Haven't touched mine since I used a very early version of your patcher with PB 1. Since then I'm up to PB 2 by tweaking my dist file, but haven't tried rebooting to recovery yet. Thx.
[doublepost=1469628703][/doublepost]
Great

Works with my MacBook 5.1 late 2008 macOS Sierra PB1

Thanks
After my upgrade to PB2, it no longer (correctly) shows up as a viable option. I get the latest recommended updates for my system. Then again I hard coded my board id and system name instead of bypassing the check. Dunno if that matters.
 
Hi. Do you handle the recovery partition now? Haven't touched mine since I used a very early version of your patcher with PB 1. Since then I'm up to PB 2 by tweaking my dist file, but haven't tried rebooting to recovery yet. Thx.
[doublepost=1469628703][/doublepost]
After my upgrade to PB2, it no longer (correctly) shows up as a viable option. I get the latest recommended updates for my system. Then again I hard coded my board id and system name instead of bypassing the check. Dunno if that matters.
The latest version of my patch does patch the recovery partition (if selected in the post-install patch). All it does at this point is make it bootable, in the future I'll add the post-install patch as an option in the Recovery Menu.
 
Question... I'm on DB3 now, and unfortunately their is a critical bug in which HLS (m3u8) streams are unplayable in AV Kit. Is there anyway for me to downgrade to DB2 or DB1 without data lose? Maybe even PB1? I don't have a time machine back up :/

15" 2015 MBP
 
The latest version of my patch does patch the recovery partition (if selected in the post-install patch). All it does at this point is make it bootable, in the future I'll add the post-install patch as an option in the Recovery Menu.
Will there be another guide in the future? I am currently back on El Capitan with access to the beta's, developer or public but do not have either installed at the moment and not really sure what to do from where I am. Most of the talk has been about getting from DP1 or PB1 to another release. I was at one time running DP2 and when I tried to go to DP3 lost my keyboard and mouse control. So, I went backwards for a bit.
 
Will there be another guide in the future? I am currently back on El Capitan with access to the beta's, developer or public but do not have either installed at the moment and not really sure what to do from where I am. Most of the talk has been about getting from DP1 or PB1 to another release. I was at one time running DP2 and when I tried to go to DP3 lost my keyboard and mouse control. So, I went backwards for a bit.
My patch only supports the Public Betas now, so I'd suggest simply downloading a copy of the Public Beta, using my tool to create a patched USB drive, and install it that way. I've also created a software update patch, which you can use to upgrade to later builds as they're released. If you need a copy of the Public Beta, I have a copy uploaded, just PM me your email address and I'll send you the link.
 
Hi. Do you handle the recovery partition now? Haven't touched mine since I used a very early version of your patcher with PB 1. Since then I'm up to PB 2 by tweaking my dist file, but haven't tried rebooting to recovery yet. Thx.
[doublepost=1469628703][/doublepost]
After my upgrade to PB2, it no longer (correctly) shows up as a viable option. I get the latest recommended updates for my system. Then again I hard coded my board id and system name instead of bypassing the check. Dunno if that matters.
Great ! Really appreciate your hard work. Btw, did u get the dp3 info you requested?
 
I haven't yet. I just need the .dist file and the full directory path to it.
After changing my catalog url to seed...I believe it's here :

/private/var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068/C/softwareupdated/com.apple.SoftwareUpdate.SUCatalogDataManager/k/031-68147

File attached (changed extension of course)

Same build number as PB2.
 

Attachments

  • 031-68147.English copy.dist.txt
    8.5 KB · Views: 562
After changing my catalog url to seed...I believe it's here :

/private/var/folders/zz/zyxvpxvq6csfxvn_n00000s0000068/C/softwareupdated/com.apple.SoftwareUpdate.SUCatalogDataManager/k/031-68147

File attached (changed extension of course)

Same build number as PB2.

thanks for that info; I was running on DP1 and had not been able to update using the various techniques described; but with the directory location .../k/ I did find that one on the computer, edited the dist file per post #1526 and DP3 then showed up as an available update! It downloaded and installed and seems to be working. It even now supports wifi on my macbook pro 5,1 model.

So thanks again.

It also now shows a new version of iTunes in app store updates - does anyone know if it is actually safe to install that?
 
thanks for that info; I was running on DP1 and had not been able to update using the various techniques described; but with the directory location .../k/ I did find that one on the computer, edited the dist file per post #1526 and DP3 then showed up as an available update! It downloaded and installed and seems to be working. It even now supports wifi on my macbook pro 5,1 model.

So thanks again.

It also now shows a new version of iTunes in app store updates - does anyone know if it is actually safe to install that?
The iTunes update works for me. Keep in mind that this is all still beta. Hardening with every update as we get closer to September. Make sure you keep good backups.
 
The latest version of my patch does patch the recovery partition (if selected in the post-install patch). All it does at this point is make it bootable, in the future I'll add the post-install patch as an option in the Recovery Menu.

What did you change on the recovery partition? prelinkedkernel to support usb and PlatformSupport.plist to contains the removed machines boardid/modelid?
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.