I posted this in one of the others forums a while ago. I saw someone asking about this here so I guess I repost it just for the archives. Im adding some details by memory, so it might be not so accurate. Oviously the best way to figure out how to do it is diggin' into some of the x86 relases..... All the files you might have to replace can be found also in this relases. I used a jas 10.4.8 DVD and some of his advices as a guideline, so credits goes to him.
This first part is how it works on Tiger Install DVD, for leo see the end of the #2 post. But you should read all #1, and #2 because the method is basically the same; except for two things: First, Leopard installer packages are not the same as Tiger's (but the distribution script works in the same way). And second for patching the necesary files in leo GM DVD you can use brazilmac patch, although is good that you become aware of what this patch actually do; which files are replaced, etc, in a way that you can trow updated kernels and kexts 'by hand' in the future.
I used:
-An already working OSX istallation.
-An original apple install DVD image ( I used a macbook 10.4.8 disk). Go to any Apple Store and buy it!. People at Apple's make exellent software and this is the way to support them. Its cheaper than Windows and far much better. And since you're not buying their hardware I guess is fear....
-Any of the X86 DVD hackintosh relases image.
-a re-writable DVD to try out the image
So if U have a double layer DVD that holds more than 4.7 gb you can skip this first step. Otherways you have fit the dvd content in a 4.7 gb disk. to do so mount the apple image as readwrithe and rip out files that are not essential to the installation. Xcode folder is the best option, printer drivers and lenguage translations are good to be erased too, but then you have to delete any reference to them inside the OSInstall.dist file located in /sysytem/library/installation/packages/OSInstall.mpkg/contents/.
Once you're shure that the content will fit, mount the hackintosh image in the same way as before (readwrite) and erase all inside it, we need only the boot sector of it. You might need something like Onyx to see the invisible files inside the DVD's.
Now copy (from within the terminal something like: cp /volumes/image1/ /volumes/image2 ) the content from the apple image (already stripped down) to the empty hackintosh DVD image. that's that.
note: you have to unselect 'ignore ownerships on this volume' option in both images.....
Theres also the alternative of building your distro in a HD partition first and then generate a ISO image out of it. This is really cool because you can boot the installer (from the HD) very fast and you burn no DVDs until the installer is ready. For this you need to copy the content of the dvd to a HD partition (not bigger than 4.7gb) ("sudo cp -R /volumes/DVD/ /volumes/partition/" from the terminal, or with 'ditto' command), then make the partition bootable (
viewtopic.php?f=16&t=209)... Then you can work on your custom installer and boot as many times as you want without burn any disks; and much faster booting.
once you're finished you need to generate an iso image out of that. Use the script from this post:
http://www.hackint0sh.org/forum/showpos ... stcount=35Now work on the hackintosh installer:
-replace /mach_kernel (I used a 10.4.8 apple dvd as base so I put the 8.8.1 b9 kernel by semtex)
-replace system/library/extensions.mkext (you can generate your own. It s also posible to unpack the one from the original dvd, add/replace the kexts needed and repack it again; I dont remember the exact sintaxis you have to type in the terminal but the commands are mkextunpack & kextcache.... If U repack the original one you showld replace AppleAPIC, AppleACPI, AppleSMBIOS, IOATAFamily, PS2Controller kexts . Maybe more kexts are needed to be replace so U might have to try a few times. I used the .mkext file from the jas 10.4.8 dvd. Be aware that this kexts are only used to get the DVD going. The files that are actually going to be installed are contained inside the Essentials.pkg package.
EDIT: You have to make shure that the system.kext (and all the kexts included within it) matches with the kernel version you are using. I was surprised when I figure out that the kernel included in the apple dvd (10.4.

was actually 8.7.9...
-Replace the i386 folder (bin/standalone/i386) with the one from the hachintosh distro. This is needed to make the installation bootable. You will see that the original folder only contains efi.boot file.
-remove system/library/extensions folder.
-mod system/installation/packages/OSinstall.mpkg/contents/OSInstall.dist file. You could use BBedit, 'cos it wont change the ownership on the file. Basically, theres a couple of hardware checks at the begining. You have to remove the body of them so they look like:
- Code: Select all
function checkSupportedMachine(machineType){
return true;
}
function checkSupportedBootRom(machineType){
return true;
}
function installCheckScript(){
return true;
}
This file contains also all the references to the pkg files needed for the installation (see post #2).
Later you have to add a package to install the modded files, so have a look how the thing are in this file.
-Replace /applications/diskutility.app. (this seems not to be necessary)
-Replace bless binary, and mediakit.framework.
EDIT: bless v24.0, mediakit.framework v8.5 seem to be the rightones. Most probably those are included in every x86 distro, but just to know; the framework comes from a 10.4.4 restore disk and bless from darwin8 up to 10.4.1 dtk. (thanx to zef!)
-At this point you could burn the image and see if it boots. Try to install and then move/replace mach_kernel, and the kexts listed above into the install HD (you need a second full operational osx install to do this).
Next step it will be to create a PKG with the files that have to be replaced in the installation HD and add it to the install sequence. For this is reccomended to use an old version (from 10.4.3 or so) of the packagemaker (included in xcode tools), later versions of xcode build packages that have version checking in them and wont install older kexts and files.
The package you build must contain the kernel and the kexts (IOAta, APIC, ACPI, AMBios, PSController, System, etc) and must be install after the Essentials package. Also you showld include a postflight script to be shure that everithing goes right. Something like:
- Code: Select all
diskutil repairPermissions "$3/"
Bless -mount "$3/" -setBoot
You have to edit the system/installation/packages/OSinstall.mpkg/contents/OSInstall.dist. If you look carefully throught this file you will see how the things work and hopefully you will be able to add your package (I'll post more details about how to do this). When working with this file you can always launch the OSinstall.mpkg installer to check if everything is going fine (oviously you showldnt actually install but is good for checking if the mod script is still working).
With this method you could also include all the drivers you need for your hack, and any software you want (keep an eye on the size of the image).
JaS suggested to create your own Essential.pkg by ..."unpack the Essentials.pkg from the dvd and add your edited files directly to it, repack it with the proper permissions, then it is just a matter of replacing the Archive.pax.gz from your newly built package with the original Essentials.pkg's Archive.gz.pax."...
LAST NOTE: Last time I tryed using a 10.4.9 mac pro DVD as base. There were a couple of issues in the installer that I couldn solve:
1-Diskutility worked but was kind of boogy and crashing sometimes, no matter which version I used.
2-The keyboard (PS2) didnt work (the installer log file showed "TSMprocessRawKeyCode failed (-192)" error ).
But after installed OSx worked perfect (10.4.9). Also I manage to create a 10.4.9 DVD with VMWare support by using a 10.4.7 DVD as a base.