Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

joshuajburris

macrumors newbie
Original poster
Feb 4, 2010
10
0
Afghanistan (Contractor)
Installing OS X on unsupported machines. (From restore discs that came with another system)

New member here, just wanted to get something up to try and help some people with a problem that has driven me nuts for a few days now. Not really a tutorial writer, this just made sense so maybe it will help someone else who is having the same issue. This is a collaboration of efforts made by many Mac users across the Internet, I do not claim to have come up with any of these on my own, I simply want to simplify the process as it was a pain in the a** for me to stumble through it myself.

When installing OSX 10.6 on your Mac, you receive an error “OS X Cannot Be Installed On This Machine”. This is due to using a non-retail version of OS X meaning it was part of a restore suite that came with another system. Although the disc contains the full retail version of OS X, there is a machine verification string that takes place during startup.

This is a work around so you CAN re-install OS X on your system. NOTE* I have only tried this with the 10.6.1 disc that came with my 27” iMac, and the procedure worked installing Snow Leopard on my MacBook Core 2 Duo. This should work on any Mac running 10.5 or later as Apple changed their packages to XAR from this point on.

If you are using anything other than 10.5 or later, you will need to install Darwin Ports and perform the XAR installation using the XCODE development tools. This is another page from MacRumors that didn't work for me, but the Darwin Ports process may work for someone out there. It can be found here

If on 10.5 or later, please continue...

First you will need to obtain a copy of Carbon Copy Cloner below,

Download Here

I recommend using CCC as the Disk Utility in Snow Leopard sucks IMO, I tried to restore the “hacked” (if we are calling it that), version of the restore image and I kept getting errors about scanning the image before restore. When I “scanned for restore”, it gave me more errors about invalid arguments. Besides, CCC is a lot faster than anything else I have used so far.

STEP 1: Next you will need to make an image of the OS X Restore DVD. You can either use the disk utility, or CCC as I have stated it’s much faster for some reason and apparently a true block-level scan.

CCC is very simple to use. First select the source disk on the left, (Max OS X Install DVD), and then select New Disc Image on the right. Make sure you select read/write “sparse” image at the bottom so you can write your “hacked” distribution code back to the image when you are finished. I named my new image Custom Mac OS X Install Disc

WSparse.png



Now sit back and wait. Depending on your drive, disc cleanliness etc, this could take a minute. Just have patience and it should complete just fine. If you get any errors during this process, its most likely due to the disc you are using being dirty or scratched.

Cloning.png


Once the process completes, you will get a pop-up saying that it was successful and offering a donate button. If this was a simple process and you continue to use CCC in the future, which I do, I recommend donating to the authors because this is an awesome program.

The next part gets into some terminal commands. If you are uncomfortable using terminal, you probably aren’t the type of person to attempt this in the first place so the rest of you can continue.

STEP 2: You will need to enable hidden files to view all of the images contents. Open Terminal and type or past the following command exactly as it is shown and press enter

defaults write com.apple.finder AppleShowAllFiles True

Next type this command and press enter

Killall Finder

STEP 3: Now that we have shown hidden files and re-launched finder, we can extract the OSInstall.mpkg out of the image we previously created. You will need to mount (double click), the Custom OS X Install Disc that we made. Now open the mounted disc and you should see all of the hidden files. Navigate to the following file:

System\Installation\Packages\OSInstall.mpkg

Drag the OSInstall.mpkg file to your desktop. Now create a folder on the desktop called Package.

Open terminal and type or past the following command and press enter

Cd /desktop/package

Now type this command and press enter

xar -x -v -f ~/Desktop/OSInstall.mpkg

This will extract the contents of the OSInstall.mpkg with the built in XAR utility. You should see a series of resources scroll by in finder and should be left with a file called Distribution inside the Package folder we created on the desktop.

Distribution.png


STEP 4: Next we will right click the Distribution file, and choose to open with TextEdit. Once the file is opened, scroll down about ¾ of a page and you will come across a series of strings named hwbeSupportedMachines. As you can see, your system is most likely not listed here or you wouldn’t be performing this procedure in the first place. We need to add your system to the list of support machines so it will stop freaking out during the installation process.

ON THE MAC YOU WISH TO INSTALL OS X ON: To find your Hardware ID if you don’t have it, you can run the following command on the Mac you wish to install OS X on my inserting the install disc, turn on the Mac while holding down the Option Key, and selecting the OS X install disc. Once you get the normal “OS X cannot be installed on this machine” error, you should be able to select Terminal from the list of Utilities at the top.
Run the following command and press enter
Sysctl hw.model

This will display the Hardware ID for your machine. In my case, it gave me MacBook4,1 so this is what we will put in that hwbeSupportedMachines line in the distribution file on the other system.

Before:

DistroBefore.png


After:

DistroAfter.png


After you have edited the hwbeSupportedMachines line, close the file and save the changes. We now need to inject the distribution file back into the OSInstall.mpkg. To do this, open Terminal again; make sure you are still in the desktop/package directory (cd /desktop/package), then type the following command and press enter

xar -c ./ -v -f ~/Desktop/NewOSInstall.mpkg

This should leave a file on your desktop called NewOSInstall.mpkg
Go back to the mounted Custom OS X Install DVD image, and navigate back to

System\Installation\Packages\OSInstall.mpkg

This is a good time to make a copy of the old OSinstall.mpkg file and then rename the original to OSInstall.OLD

Confirm the extension change if asked and rename the NewOSInstall.mpkg on your desktop to OSInstall.mpkg, then paste the renamed file into the packages folder where the old one was located.

Now Un-mount the disc image and prepare to burn / restore it.
At this point you have a couple of options. You can burn it directly to a DL disc, but that can take even more time and you may have to try this a couple times to get it right. I opt to us a spare HDD or Thumb drive big enough to hold the 7+Gb of data. You must first format the HDD OS X Extended and make sure the portion table is set to GUID

NOTE* There are methods online to remove the printer drivers and languages to squeeze the image size down enough to fit on a 4.67Gb disc, however, I haven’t tested any of them to date. Maybe I will post something later when I get it figured out.


This is the part of the procedure that I originally ran into problems. I tried to restore the image back to a spare HDD using the Disk Utility in OS X 10.6.1 and I kept getting a bullsh*t error stating that “This image needs to be scanned for restore”. After trying the “Scan for Restore” option in the top menu and watching it fail, I remembered to use Carbon Copy Cloner. This method was very fast and worked perfectly for me.

Open CCC, select restore from image on the left and browse to find the Custom OS X install Disc we created. On the right column, find your USB HDD or thumbdrive and let it restore. You should get a green light on the right informing you that the image is “bootable”.


You can now plug in the USB HDD or Thumbdrive in the other Mac and perform the Option / Power Up sequence. This will scan the system for bootable images just like before allowing you to boot from the HDD, which should read “Custom OS X Install Disc below it. You should boot up as normal, however, you should be able to move along without the OS X cannot be installed on this machine error”.

Hope this works guys,
 
I scanned through this and wow, if it works then great and thanks! I may try this with the install discs that came with my MP containing Leopard.

Good work on the write up, I cannot pass on the validity of the tutorial but it looks good.
 
1) I have reported this to the Mods as I believe it's probably against the rules for this forum

2) If it's not then you need to check your Before and After pictures. Unless I am missing something they are the same.
 
1) I have reported this to the Mods as I believe it's probably against the rules for this forum

2) If it's not then you need to check your Before and After pictures. Unless I am missing something they are the same.

1: This is a modification to a thread already posted on this website. You can find it by following the link I posted early on in the thread.

2: If you look at the pictures, it shows the hwbeSupportedMachines code with the MacPro4,1 (BEFORE) and my MacBook4,1 (AFTER)

Thanks for the proofreading and legal advice anyways though..
 
1: This is a modification to a thread already posted on this website. You can find it by following the link I posted early on in the thread.

2: If you look at the pictures, it shows the hwbeSupportedMachines code with the MacPro4,1 (BEFORE) and my MacBook4,1 (AFTER)

Thanks for the proofreading and legal advice anyways though..

Ah, the subtle difference in the image was too subtle for me. I was expecting you to add a line rather than changing one (which I imagine would work if you wanted to create an install DVD that worked on lots of machines).
 
Yeah, I read somewhere on this site that you can just add a list of machines for a more "Universal" installer. I am just not skilled enough in writing any type of code for something like that. I am however excellent at copying and pasting until I get it right though.
 
First MR thread that I saved to my desktop in a very long time...

(incase it gets deleted, as it might)

Not that I currently need this information, but good info nonetheless...
 
I'm half way through your tutorial and hit a snag

This is an amazing tutorial the pictures really help, I have hit a bit of a snag though. In step 3 where you have to open terminal and type in

Cd /desktop/package

I get the following message in terminal

/usr/bin/Cd: line 4: builtin: Cd: not a shell builtin

I follow to the next step, xar -x -v -f ~/Desktop/OSInstall.mpkg


and do in fact get a series of resources but do not see the Distribution file getting created in my packages folder on my desktop. Any ideas?

I have a MacBook Pro. Running 10.5.8 2.2 Ghz Intel Core 2 Duo 2GB Ram.

Thank you.
Kristi
 
This is an amazing tutorial the pictures really help, I have hit a bit of a snag though. In step 3 where you have to open terminal and type in

Cd /desktop/package

I get the following message in terminal

/usr/bin/Cd: line 4: builtin: Cd: not a shell builtin

I follow to the next step, xar -x -v -f ~/Desktop/OSInstall.mpkg


and do in fact get a series of resources but do not see the Distribution file getting created in my packages folder on my desktop. Any ideas?

I have a MacBook Pro. Running 10.5.8 2.2 Ghz Intel Core 2 Duo 2GB Ram.

Thank you.
Kristi


I'll be the first to admit I am NO programmer by any means, however, it appears terminal and more importantly the operating system did not recognize the cd or change directory command..

Maybe try changing the syntax from Cd to cd in case the capital letter is some how messing it up. I'm not really sure though. I will try this whole process again this evening and see if that makes a difference...

Were you able to continue with the process successfully?
 
figured it out

Thanks, After a few trys I just pointed it to a different directory and was able to do everything from there. Now I'm working on the last part using Carbon Copy Cloner to get it to mount :crosses fingers:

Awesome tutorial. Thank you.
 
last step assistance?

Okay,

I am soooo close... here is what I've tried to do for the last step.

Having a few DL DVD's lying around I decided to try that first. I took the disc image and burned it on the my DVD using Disc Utility. I restarted the computer with the Option key down and selected my DVD. It proceeded to load the Mac OS X install screen and then I received an error that said "There was a problem reading the Mac OS x Installation Disc , carefully clean the disc and then try reinstalling.

SO..Then I tried to use Carbon Copy Cloner. I used your instructions, on the right I selected my disc image, on the left my external Hard Drive with more than enough space on the drive. I saw the green dot that said "This volume will be bootable" I then hit the Clone button and it went through the cloning process.

After that was done I restarted my computer while holding down option key and saw my Hard Drive name as an option, and selected it. It brought up the Mac OS X install screen and then proceed to give me the same error I got with the DVD
"There was a problem reading the Mac OS x Installation Disc , carefully clean the disc and then try reinstalling.

Any ideas?
 
After a frantic search of the net, I came across a few people who have suggested locking the image before burning. ( do the restore to HDD method as I dont want you creating a bunch of DL coasters )

Right click the image, choose Get Info, and I believe under the file permissions you can choose to lock the image, or something to that effect..

Here is the link of what I have found if you want to browse through and read it to

http://www.insanelymac.com/forum/lofiversion/index.php/t65021-100.html

I will take my MB back to work (home for lunch) and see what I can come up with. Sorry this has become such a PITA
 
Universal disc

Hello all,

Just found this, as I misplaced my retail SL disc, and had to figure out a way to use a system 'restore' disc instead. I followed this tip pretty much, but when I was in the Distribution file, something became immediately obvious to me… The OP is, self-stated, not a programmer, but I myself dabble, and that is how this became obvious to me, how simple it would be to make a disc that works on any supported machine.

So, a little background of the Distribution file first. There are a few places where it checks machine info. It checks against some basic stuff like 'do you have a gig of RAM and at least an 877MHZ (!!!) machine?!,' then it also checks against a list of 'bad machines,' for instance, a PowerMac G3. You don't want to mess with any of that stuff, unless you somehow have an Intel Mac that doesn't meet the RAM/CPU requirements, and you're really feeling jolly about trying anyway.

But then it does the check we're concerned about - a function called hwbeModelCheck runs 'sysctl hw.model,' stores the result in a variable called modelProp, and compares that against the OP's hwbeSupportedMachines. If it's in there, hwbeModelCheck returns true, otherwise false. Another function calls hwbeModelCheck, etc, etc, and eventually if that turned up false, you get hit with a fatal error and no more installing.

There are a number of ways, then, to just ignore hwbeModelCheck. The way which involves the fewest changes (and is therefore safest if you don't regularly muck with these sort of things) is as follows. About thirty lines above the previously-found 'var hwbeSupportedMachines = [,' will be the following block:

Code:
function hwbeModelCheck() {

    try {
        var modelProp = system.sysctl('hw.model');
    } 
    catch(e) {
        system.log('hwbeInstallCheck threw exception ' + e);
    }

    var machineCount = hwbeSupportedMachines.length;

    for ( var i = 0; i < machineCount; i++ ) {
        if ( modelProp == hwbeSupportedMachines[i] ) {
            return true;
        }
    }
    
    return false;

}

It's possible that it will look slightly different, but it will be a block that starts with 'function hwbeModelCheck() {' and ultimately ends with 'return false; }' Just change that 'return false;' to read 'return true;' (sans quotation marks) and the values in hwbeSupportedMachines won't matter in the least. It will check it, and if it matches, it will return true. But if it doesn't match? Hey, it'll return true anyway. Whatever your system is (assuming it is actually capable of running the OS), it'll just shrug it off and go on its way.

Worked for me, and if anybody wants a more universal disc as the end result, that'll do it!
 
Isn't the whole point of the installer precluding installation on machines other than the model that it came with that it only contains correct drivers for that machine? Ie. if you use a Mac Pro disk on a MacBook, you risk installing a version that doesn't have correct drivers for the MacBook's graphics card etc?
 
Isn't the whole point of the installer precluding installation on machines other than the model that it came with that it only contains correct drivers for that machine? Ie. if you use a Mac Pro disk on a MacBook, you risk installing a version that doesn't have correct drivers for the MacBook's graphics card etc?

I regret saying this as I speak, but from my experience with doing this with my MacBook, and....similiar methods for..ugh...Windows machines...(sorry) I have found that as long as you can get the OS back onto the box, you can then update the drivers accordingly.

This all started about a year and a half ago when I bought my buddies MacBook after he bought his MBP. (We were in Afghanistan at the time and he only wanted $600 for a MB that was less than 5 months old!)

After about a month I fell in love with OS X and decided to get the new 27" iMac while I was contracting overseas. One day, I decided to do fresh install of SL on the MacBook, thinking I could just use the install DVD's that came with the iMac. That is where all of this came from in the first place.

I have performed this procedure a few times now and found that after you complete the install, you can run the software update and it will do all of the driver updates that are needed.

I guess to answer your question, as far as the newer Intel Mac's are concerned, this procedure seems to work for getting the OS installed, then the software update can do the rest...

Thats a really good point though, I guess I never ran into an issue so I never thought of this yet.
 
Hmmm

I always kind of thought it was just a licensing thing…*It makes more sense to arbitrarily change a few lines of code in an install script to artificially limit the use of the disc than it does to maintain different versions with different drivers etc. I too have never had a problem, and I used to have to do this sort of thing a lot on PPCs.
 
I regret saying this as I speak, but from my experience with doing this with my MacBook, and....similiar methods for..ugh...Windows machines...(sorry) I have found that as long as you can get the OS back onto the box, you can then update the drivers accordingly.

This all started about a year and a half ago when I bought my buddies MacBook after he bought his MBP. (We were in Afghanistan at the time and he only wanted $600 for a MB that was less than 5 months old!)

After about a month I fell in love with OS X and decided to get the new 27" iMac while I was contracting overseas. One day, I decided to do fresh install of SL on the MacBook, thinking I could just use the install DVD's that came with the iMac. That is where all of this came from in the first place.

I have performed this procedure a few times now and found that after you complete the install, you can run the software update and it will do all of the driver updates that are needed.

I guess to answer your question, as far as the newer Intel Mac's are concerned, this procedure seems to work for getting the OS installed, then the software update can do the rest...

Thats a really good point though, I guess I never ran into an issue so I never thought of this yet.

This is pretty much incorrect.

It comes down to the build number. In your example you are taking a new build of the OS and putting it onto an older machine. This is virtually never an issue. And there really isn't any driver "updating" in the sense you are referring to.

Say Apple releases a new MBP and you lose the install discs. That iMac Install DVD after hacking may well install on that machine, but it is not going to boot. In all reality, you probably won't even be able to boot the DVD. The drivers required are not on that build. Period.

You could force the install in a few ways, but, before you could even boot you would have to install the latest OS.

What's that? The new MacBook Pro came with a special build of 10.6.6? You are going to have to wait til 10.6.7 in order to even think about using those older install DVDs.

There have been a few cases where you can get away with it and have a bootable machine, but chances are something isn't going to work. Like the most recent Mac Minis, special build of 10.6.3. You could install from a 10.6.3 Install DVD, but the SD and NIC weren't going to work.

It sounds like you have simply be lucky and haven't had to face the technical realities. In summary, if you are taking a newer build and installing it to an older model, things will likely be fine. If you are taking an older build and installing on a newer machine, you will run into problems more often than not.
 
Update 5/6/2011

Here is something that I received on YIM last night. Figured I would post it. Ill give it a try sometime as my MB HDD has appeared to have bit the dust in my current tour of Iraq.

*************************
Hi joshuaburris, found your nice article about "GUIDE w/ Pictures: Installing OS X (Non-Retail) On Un-Supported Macs". Just for your interest - it is much more easier, to delete the whole part of the hwbeSupportedMachines. Try a look in this file on an original Apple Universal Install-DVD. Tthere is none of it. Once you have deleted this part, you can use it on any machine which fullfill the minimum hardware requirements, regards.
Answers please by email to oralibre@web.de
*************************

Calderone: Now in response to your post, I don't know what to tell you. Maybe I am lucky and just never had to deal with the "technical realities" as you put it. Truth be told, don't care. Its worked for me so I guess that's all that matters. I used the discs from my iMac for both my MB and friends MBP.

Whats that? Yes, the MBP with the special 10.6.6 you mentioned. My iMac discs worked fine. After the install completed and the intro was over, I performed a system update and all appears to be working fine. Sounds like it was another stroke of luck though.

In the end, I guess it comes down to this. If you need to reinstall OS X, don't go reaching for your PowerPC discs.

As new models come out, and new version of OS X are released, I would imagine this guide becomes obsolete. If it works for you thats great. If it doesn't, well, I guess that's unfortunate.

Thanks for your valuable insight though.
 
**UPDATE** August 21, 2011

In case anyone has read this recently and wondered if this is still working. I left my install discs for my iMac in Iraq so I used my MBP (10.6.6) discs and restored SL on the iMac using this method.

Using CCC, extracted the info of the MBP 10.6.6 disc into a new disc image on my desktop

Edited the distribution file and injected it back into the new image

Using CCC, restored the image onto my 16Gb thumb drive (I have no DL discs)

Booted from the thumb-drive and restored SL on the iMac

Good Luck :cool:
 
Anger and frustration

first of all!!!
I have never really done anything to computers before I was able to change my ram from 2g to 8 g and my hard drive from 160 to 500g and i wanted to get snow leopard instead of regular leopard as my new OS so i tried to find one on craigslist retail but this chick sold her copy for 20 bucks before i got there

i found out my mom had a macbook pro with SL
i treid tons of things till i relized u could use non retail disks
i have never used terminal before
i have never written code
oh and btw dont use super duper to write the image it wont work and it will take you and hour of waiting for it to fail
ccc work perfect
i also came acrossed the same problem whe you list
Cd/desktop/package
and fricken messed around with it for like 2 hours and read all of this but everyone forgot to mention the real problem with that command so i checked the link at the top of the forum feedback and it was for the similar task for leopard and i see plain and clear
Cd Desktop/Package !!!!!!
that little Extra / being there in your intructions screwed me for 2 Hours.
but i am now passed it and on the resource folder ill let you know how it goes from here!
 
SUCcESSS

ok so I did it!!! it took me two days of constant ******** until I got it....i did it via thumb drive. I did it by doing what that guy said about changing the false to true! and i got it first try
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.