Disclaimer: This is only for backup/personal use. You are only allowed to use the disk on one computer at a time. This tutorial is only to help save you time if you are upgrading a hard drive etc.
Now that that's over with, Last night I had to reinstall snow leopard onto my mac because I installed a larger hard drive. So that got me to thinking there must be a way to allow you to install it in one swoop instead of to install it with the disk that orig came with the computer blah blah -- that takes forever! So I started looking through the disk and I found a way to make the disk a full version.
To start off:
Open disk utility and insert your disk. Select the disk and hit new image. Save the image as cd/dvd master. (don't know if the others work, ive only tried this).
While its backing up, you have to enable showing hidden folders/files. So open terminal and type
Then type
Once the backup is complete, mount the image and go into the system/Installation/CDIS/
In there right click the Mac OS X Installer.app and select show package contents. Then navigate to Contents/Resources and delete the file CheckforOSX.
Thats the first part. Exit out until your back at system/instillation. go into the Packages folder and find OSInstall.mpkg Copy this to a new folder on your desktop called install or what ever you want. Open terminal again and cd into that folder
Now you have to extract the .mpkg. to do that we are going to use xar. type in terminal
This should leave you with three files Distribution, Scrips and a folder Resources. We are interested in the Distribution file. From what I hear you can use a XML editor but i just used vi in terminal.
Anyway in that file we need to delete 2 large chunks of script. The file should look like this: (I cut the end part off because the top is the only part we need to do anything with)
Find the lines in red and delete them from the file. Then save the file and quit. Now move the OSInstall.mpkg file out of the install folder and now its time to re compress it. In terminal type
You should now see a new OSInstall.mpkg file appear. Simply delete the one from the Cd backup and move the new one in its place.
And your DONE! now just eject the disk and open disk utility. Insert a DL DVD and hit burn. IMPORTANT: burn it at the LOWEST speed possible. Ive had many disks not work because i burned it too quickly
Enjoy your new time saving dvd!
Now that that's over with, Last night I had to reinstall snow leopard onto my mac because I installed a larger hard drive. So that got me to thinking there must be a way to allow you to install it in one swoop instead of to install it with the disk that orig came with the computer blah blah -- that takes forever! So I started looking through the disk and I found a way to make the disk a full version.
To start off:
Open disk utility and insert your disk. Select the disk and hit new image. Save the image as cd/dvd master. (don't know if the others work, ive only tried this).
While its backing up, you have to enable showing hidden folders/files. So open terminal and type
Code:
defaults write com.apple.finder AppleShowAllFiles TRUE
Code:
killall Finder
In there right click the Mac OS X Installer.app and select show package contents. Then navigate to Contents/Resources and delete the file CheckforOSX.
Thats the first part. Exit out until your back at system/instillation. go into the Packages folder and find OSInstall.mpkg Copy this to a new folder on your desktop called install or what ever you want. Open terminal again and cd into that folder
Code:
cd Desktop/install
Code:
xar -x -f OSInstall.mpkg
Anyway in that file we need to delete 2 large chunks of script. The file should look like this: (I cut the end part off because the top is the only part we need to do anything with)
Code:
<?xml version="1.0"?>
<installer-gui-script minSpecVersion='1'>
<options
eraseOptionAvailable='true'
hostArchitectures='i386'
allow-external-scripts='yes'
/>
<title>MacOSX_Title</title>
<license file="License.rtf" sla="EA0560"/>
<welcome file='Welcome.rtfd'/>
<script>
var minRam = 1024;
function checkSupportedMachine(machineType){
// Fail on G3
if (1 != system.sysctl('hw.vectorunit') ) {
return false;
}
var badMachines = ['iMac','PowerBook1,1','PowerBook2,1', 'AAPL,Gossamer', 'AAPL,PowerMac G3', 'AAPL,PowerBook1998', 'AAPL,PowerBook1999'];
if(machineType){
var length = badMachines.length;
// Fail if any of the compatible values match the list of badMachines
for( var j = 0; j < length; j++ ){
if(machineType == badMachines[j]){
return false;
}
}
}
// require 867Mhz+
if (system.sysctl("hw.cpufrequency") < 866000000) {
return false;
}
return true;
}
function checkSupportedBootRom(machineType){
var machinesNeedingROMUpdate = new Array();
machinesNeedingROMUpdate['PowerMac2,1'] = 'f2';
machinesNeedingROMUpdate['PowerMac2,2'] = '$0003.30f3';
try{
var bootROMEntry = system.ioregistry.matchingName('boot-rom','IODeviceTree');
var bootROM;
if ( bootROMEntry.length > 0 ) {
var bootROM = bootROMEntry[0]['BootROM-version'];
} else {
return true;
}
// Fail if any of the compatible values match the machine/ROM pairs that need updating
for( k in machinesNeedingROMUpdate ){
if((machineType == k) && (bootROM == machinesNeedingROMUpdate[k])){
return false;
}
}
} catch(e) {
system.log('checkSupportedBootRom threw exception ' + e);
}
// if we can't find it, assume it's supported
return true;
}
function hasAtLeastRam(RAM) {
var requiredRAM = (RAM * 1024 * 1024);
var actualRAM = system.sysctl('hw.memsize');
return (actualRAM > (requiredRAM - 1));
}
[color=red] function earlyMachineCheck(machineType) {
var earlyIntelMachines = [ "iMac4,1", "iMac4,2", "iMac5,1", "iMac5,2", "iMac6,1", "iMac7,1",
"MacBook1,1", "MacBook2,1", "MacBookPro1,1", "MacBookPro1,2",
"MacBookPro2,1", "MacBookPro2,2", "MacBookPro3,1", "Macmini1,1",
"Macmini2,1", "MacPro1,1", "MacPro2,1",
];
if(machineType){
var length = earlyIntelMachines.length;
for( var j = 0; j < length; j++ ){
if(machineType == earlyIntelMachines[j]){
return true;
}
}
}
}[/color]
function installCheckScript(){
try{
var machineType = system.ioregistry.fromPath('IODeviceTree:/')['compatible'];
if ( typeof(machineType) == "string") {
if(!checkSupportedMachine(machineType)){
my.result.message = system.localizedStringWithFormat('IC_Machine_message');
my.result.type = 'Fatal';
return false;
}
if(!checkSupportedBootRom(machineType)){
my.result.message = system.localizedStringWithFormat('IC_Firmware_message');
my.result.type = 'Fatal';
return false;
}
}
else {
for(var i = 0;i < machineType.length; i++){
if(!checkSupportedMachine(machineType[i])){
my.result.message = system.localizedStringWithFormat('IC_Machine_message');
my.result.type = 'Fatal';
return false;
}
if(!checkSupportedBootRom(machineType[i])){
my.result.message = system.localizedStringWithFormat('IC_Firmware_message');
my.result.type = 'Fatal';
return false;
}
}
}
if(!hasAtLeastRam(minRam)){
my.result.message = system.localizedStringWithFormat('IC_RAM_message');
my.result.type = 'Fatal';
return false;
}
[color=red] if (system.compareVersions(system.version.ProductVersion, '10.6') >= 0) {
if (earlyMachineCheck(machineType)) {
var checkResult = system.run('./OSCheck.pl');
if(0 != checkResult){
my.result.message = system.localizedStringWithFormat('IC_Upgrade_message', '10.5');
my.result.type = 'Fatal';
return false;
}
}
}
findBJPrinters();[/color]
}catch (e){
system.log('installCheckScript threw exception ' + e);
}
return true;
}
function volCheckScript(){
var target = my.target;
var destSystemVersion = target['systemVersion'];
if(system.files.fileExistsAtPath(my.target.mountpoint + "/Backups.backupdb")) {
my.result.message = system.localizedString('VC_Backup_message');
my.result.type = 'Fatal';
return false;
}
if(destSystemVersion){
if( typeof(isFNI) == "undefined" )
{
if(destSystemVersion.isServer){
my.result.message = system.localizedString('VC_ServerVersion_message');
my.result.type = 'Fatal';
return false;
}
}
}
return true;
}
Find the lines in red and delete them from the file. Then save the file and quit. Now move the OSInstall.mpkg file out of the install folder and now its time to re compress it. In terminal type
Code:
xar -c -f OSInstall.mpkg *
And your DONE! now just eject the disk and open disk utility. Insert a DL DVD and hit burn. IMPORTANT: burn it at the LOWEST speed possible. Ive had many disks not work because i burned it too quickly
Enjoy your new time saving dvd!