apple osx x86 resource centre

来源:百度文库 编辑:神马文学网 时间:2024/04/19 22:11:00
OSX X86 Resources

Links:
http://osx86.classicbeta.com/
http://osx86.classicbeta.com/forum/
http://www.concretesurf.co.nz/osx86/
http://www.research.gwgaming.net/
Files:
Apple.OS.X.x86.Developer.Kit.Install.DVD-pheNIX.3362915.TPB.torrent
VMWare_files_for_patched_Mac_OS_X_Tiger_Intel.3367835.TPB.torrent
Research saved with shell files:Research_Wiki_Texts.zip
blex0rs sse3 patch:SSE3Patcher.exe orSSE3Patcher.zip
Oah750 Rosetta patch:050807210250_oah750d-patched.zip
Ditto tool:ditto.tgz
IOHDIXController.kext.tgz
Core Graphics patch:CoreGraphics.tgz
DS.bundle:DS.bundle.tgz
Receipts file:Receipts.rar
Darwin 8.0 to 8.01 upgrade:Darwin-8.0.1to8.1.0.tar.gz
Fix permissions for mactel version:fix_perm.tar.bz2.tar
Solution that worked for simon:
-          Install Darwin 8.0 first.
Then use the pacifist tool to install the devkit contents on top of the Darwin installation.
-          Then patch coregraphics (with the patch) and install the modified rosetta binary.
-          Reboot and it should come up with the setup assistant.
Fr3DBr approach on installing OSX X86 on VMWARE
1 - Install Darwin 8.0.1http://www.opendarwin.org
2 - Install MacOS DEV DVD under PearPC (Use the default 3.5 GB Image that Prassys Installer Creates)http://www.pearpc.net
3 - Get DITTO and PATCHED Rosettahttp://www.strengholt-online.nl/osx_howto/index.htm
4 - Under vmware add more harddisks into your vmware:
1 - Add a new Hard Disk that will be your main hard drive as you will get Ditto and Rosetta from there.
2 - Add a new Hard Disk using the Fake VMDK with your pearpc drive image
Example of a .vmdk file content.
# Disk DescriptorFile
version=1
CID=b25fc458
parentCID=ffffffff
createType="monolithicFlat"
# Extent description
RW 6290928 FLAT "drive.img" 0 <--- the second number in this line is the SIZE in BYTES of your PearPC Image / 512 or ( Size / 512 ).
# The Disk Data Base
#DDB
ddb.cirtualHWVersion = "4"
ddb.geometry.cylinders = "16383"
ddb.geometry.heads = "16"
ddb.geometry.sectors = "63"
ddb.adapterType = "ide"
ddb.toolsVersion = "0"
3 - Make your Vmware cdrom to use the Darwin CD Iso file.
5 - get in darwin and go to /Volumes/YourHD/FolderThatHaveRosettaAndStuff
1 - do a cp -RLv oah750d /Volumes/YourPearPcImage/usr/libexec/oah
2 - Mount your darwin cd by doing :
1 - mkdir /mnt
2 - mount -t cd9660 /dev/diskXsY /mnt
2 - do a cp -RLv /mnt/System/Library/Extensions/ApplePS2Controller.kext /Volumes/YourPearPcImage/System/Library/Extensions
4 - do a cp -RLv /Volumes/YourPearPcImage/System/Library/PrivateFrameworks/Bom.framework /System/Library/PrivateFrameworks
5 - do a tar xvzf ditto.tgz
6 - do a ditto -rsrc /Volumes/YourPearPcImage /
6 - Wait DITTO Finish up.
7 - Get into your mactel installation , go to terminal and issue :
1 - DiskUtil repairPermissions /
2 - Reboot, and voila everything is working.
Step by Step for Linux via PearPC and VMWare
note: This it what I did. Some steps may not be needed or may be modified.
1. Create two image files
Code:
dd if=/dev/zero of=devkit-on-pearpc.img bs=516096 seek=12482 count=0
dd if=/dev/zero of=darwin-on-vmware.img bs=516096 seek=12482 count=0
2. Create proper vmdk file for darwin image file
Code:
# Disk DescriptorFile
version=1
CID=76805586
parentCID=ffffffff
createType="monolithicFlat"
# Extent description
RW 12581856 FLAT "darwin-on-vmware.img" 0
# The Disk Data Base
#DDB
ddb.adapterType = "ide"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "16"
ddb.geometry.cylinders = "9825"
ddb.virtualHWVersion = "4"
ddb.toolsVersion = "0"
3. Install darwin in vmware - I also upgraded it to 8.1. Also backup the IOATAFamily.kext and ApplePS2Support.kext. This in now a good time to transfer the patched files, CoreGraphics and oah750d, to your user directory for future use.
4. Convert devkit dmg to iso - I used a real mac to do this.
5. Get the prasys linux build of pearpc
http://prasys.skidsoftware.com/downloads.htm
6. Partition and format the the pearpc image with darwin.
http://pearpc.sourceforge.net/installdarwin.html
Code:
newfs_hfs /dev/disk0s2
7. Install devkit on pearpc image - I had to deselect xcode and printer drivers to have enough room. To skip the registration hit Alt-Q.
8. Backup the darwin image in case you mess up the next steps. Change the pearpc config to mount both images.
Here is my pearpc config
Code:
ppc_start_resolution = "800x600x32"
redraw_interval_msec = 50
prom_bootmethod = "select"
prom_env_bootargs = ""
prom_env_machargs = "-v"
prom_driver_graphic = "video.x"
key_compose_dialog = "F11"
key_change_cd_0 = "none"
key_toggle_mouse_grab = "F12"
key_toggle_full_screen = "Alt+Return"
memory_size=0x20000000
pci_ide0_master_installed = 1
pci_ide0_master_image = "devkit-on-pearpc.img"
pci_ide0_slave_installed = 1
pci_ide0_slave_image = "darwin-on-vmware.img"
pci_rtl8139_installed = 0
pci_rtl8139_mac = "de:ad:ca:fe:12:34"
pci_usb_installed = 1
nvram_file = "nvram"
9. Copy the devkit over top of darwin.
Code:
ditto / /Volumes/your_volume
If you run into bad file descriptor errors in /dev/fd directory, then copy individual directories skipping /dev and /Volumes.
Code:
ditto /Applications /Volumes/your_volume/Applications
Repeat that has many times has needed replacing Applications with all the other directories.
10. Copy the patched files to the proper locations.
http://www.concretesurf.co.nz/osx86/viewtopic.php?t=79&lighter=patch
11. Remove the devkit IOATAFamily.kext from the darwin image. Copy over the kexts that you previously backed up it step 3.
12. Edit the TPM kext Info.plist and the /etc/rc.
http://www.concretesurf.co.nz/osx86/viewtopic.php?t=80&lighter=plist
13. Shutdown the pearpc devkit.
14. Make sure your vm is configured to have a fake floppy. Boot the darwin image.
15. You should now have Mac OS X for Intel running in VMWare.
16. Post screenshots, please. They are easy to grab with VMWare.
How-To-Bootable-DVD (Windows)
1. Convert .dmg to .isohttp://www.concretesurf.co.nz/osx86/viewtopic.php?t=78
2. Patch the ISO with this:http://www.concretesurf.co.nz/osx86/viewtopic.php?t=11
3. Download Darwin Install isohttp://www.opendarwin.org/downloads/8.0.1/darwinx86-801.iso.gz
4. Open the file through WinRAR
5. Browse to System/Library/ in the iso.
6. Drag the extensions folder out into a temporary folder in Windows. Remember where you placed this for later.
7. Now open up the Mac OS x86 install dvd iso in TransMac (http://www.asy.com/sharetm.htm).
8. Browse to System/Library/Extensions in Transmac.
9. Delete IOATAFamily.kext from the Tiger ISO in Transmac.
10. Find the temporary folder with the extensions folder from earlier (from Darwin) in and browse into it.
11. Drag all the folders (first entry should be called ACard62xxM.kext) from the top section ("PC drive") of TransMac into the bottem section ("Mac drive"). Most of these folders are probably not neccessary, until we have narrowed them down all of them will be copied.
12. REMEMBER TO SELECT NO when it asks to replace a file.
13. Now add the folowing files to the ISO:http://www.concretesurf.co.nz/osx86/viewtopic.php?t=79
CoreGraphics
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/
oah750d
/usr/libexec/oah/
DS.Bundle
/System/Library/PrivateFrameworks/NetInfo.framework/Resources/lookupd/Agents
IOHDIXController.kext
/system/library/extensions
14 Close Transmac and burn!
This should do it for some people untill they get more things working. It didn‘t work for me, but I let a few people try it and it worked.
This how-to is a moddified version from:http://www.research.gwgaming.net/wiki/index.php?title=Errors I just added the patches to it. Enjoy!!!
How-To-Step by Step using MAC G5
1. Install Darwin 8.0.1 onto the PC I wont bother going into detail here because its very straight forward, you just answer the questions as they come up. One thing I did you was create a root user with the password of password and not add any other users.
2. Download the Darwin 8.1.0 update from herehttp://www.rejgond.com/Darwin-8.0.1to8.1.0.tar.gz
3. I put the Darwin hard drive in my G5 un-packed the tar file with stuffit deluxe and then copied it onto the Darwin hard drive and put it in a folder called rtemp in the root directory of the disk.
4. I then plugged the Darwin harddrive back into the machine, logged in as root and did this
Code:
cd /rtemp
./script
5. After the script has finished running you need to reboot the pc and log in again, you can verify it worked by typing uname –a at the command prompt.
6. I then used Pacifist again and searched in the dev dvd packages for the kernel extension AppleTPMACPI.kext. I then did a show package contents and browsed to the Contents directory where the info.plist file resides. You need to open that file in a text editor (I used Smultron) and find the srting called IFX0101 and replace it with PNP0401.
7. Next I patched the CoreGraphics by extracting it from the dev dvd image with pacifist and running the following script:-
(Note you only need to do this if your cpu doesn’t support sse3)
Code:
#!/bin/sh
if [ ! -f CoreGraphics ]; then
echo "Cannot find CoreGraphics."
exit
elif [ -z "`file CoreGraphics | grep ‘Mach-O fat‘`" ]; then
echo "Not a Mach-O fat executable."
exit
fi
ditto --arch i386 CoreGraphics CoreGraphics.i386
adds=`otool -tV CoreGraphics.i386 | grep fisttpl | awk ‘{ print $1 }‘ | perl -e ‘while ($line = ) { print hex($line) - 0x902ff000 . "\n"; }‘`
if [ -z "$adds" ]; then
echo "Nothing to patch."
rm CoreGraphics.i386
exit
fi
for add in $adds; do
skip=`expr $add + 1`
byte=`dd if=CoreGraphics.i386 count=1 bs=1 skip=$skip 2>/dev/null`
data=`perl -e "printf ‘%c%c‘, 0xdf, unpack(C, ‘$byte‘)|0x30"`
echo "Patching at offset $add."
echo -n $data | dd of=CoreGraphics.i386 count=2 bs=1 seek=$add conv=notrunc 2>/dev/null
done
mv CoreGraphics CoreGraphics.bak
mv CoreGraphics.i386 CoreGraphics
I used Smultron and made a text file called cgp.sh and copied the above text into it, I then had to change 1 part of it as described below by lanny
When you use lorem‘s CG SSE3 patch your load adress could be different form his. In the script the address 0x902ff000 is hardcoded. In my case (i tried it on the CoreGraphics of the Install DVD) it was 0x92e9d000, so I had to change it in the script.
Here‘s the way you can find yours:
console# otool -l CoreGraphics
CoreGraphics:
Load command 0
cmd LC_SEGMENT
cmdsize 668
segname __TEXT
vmaddr 0x92e9d000
vmsize 0x0039a000
fileoff 0
filesize 3776512
maxprot 0x00000007
initprot 0x00000005
nsects 9
flags 0x0
I ran otool -l CoreGraphics at the command prompt and found the vmaddr was the same as above so I guess it would be for everyone else to. So in the script below you need to change 0x902ff000 to 0x92e9d000
Code:
ditto --arch i386 CoreGraphics CoreGraphics.i386
adds=`otool -tV CoreGraphics.i386 | grep fisttpl | awk ‘{ print $1 }‘ | perl -e ‘while ($line = ) { print hex($line) - 0x902ff000 . "\n"; }‘`
Once the Script has been updated save it and do a chmod +x to make it executable, you can also use an ftp client to do this. You can then go to a command line and type
Code:
./cgp.sh
This will patch CoreGrahics to not use sse3.
8. I then downloaded the patched rosetta file from herehttp://www.concretesurf.co.nz/osx86/viewtopic.php?t=45 you will also need to do a chmod +x on it to make it executable... you can do that with your ftp client or from the unix command prompt.
9. Next I put the Darwin hard drive back in my G5 and used Pacifist to install the devkit’s osinstall.mpkg onto it
10. I then copied the 3 files in the locations listed below
oah750d goes in /usr/libexec/oah
AppleTPMACPI.kext goes in /System/Library/Extensions/
CoreGrpahics goes in
/System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/CoreGraphics.framework/Versions/A/
12. The last step was to put the Darwin hard drive back into the PC and boot it up! hopefully that should get it working for you!
Other approach of installing x86
1. open darwin setup CD, using transmac, and extract all System/Libraries/Extensions to your Windows harddisk to a darwin_extensions directory.
2. open the pearpc image using transmac and replace IOATAFamily from System/Library/Extensions with the darwin one, from the step 1.
3. In the pearpc image replace oah... and CoreG... with the patched ones using transmac.
4. Copy ditto to the root dir of the image using transmac.
5. Copy the entire darwin_extensions directory from step 1 into the pearpc image using transmac.
6. Rename the pearpc img as iso and burn a DVD double layer. The img file is over 6 GB.
7. Now we have a DVD with the pearpc image files and all the extra files we may need for testing.
8. Install darwin on the pc where you are going to try.
9. Once darwin is installed, place the DVD we have created and lets mount it.
10. From darwin we do: disktool -l (L, not 1) to see which disk is the DVD.
11. disktool -m disk... mounts the DVD and it will be available at Volumes, so we do a ls /Volumes to see if there are the darwin one and the DVD.
12. We run ditto from the DVD: /Volumes/dvd_name/ditto It will require the missing libraries, so we copy them to darwin from the dvd as explained at macgirl‘s thread.
13. Again from the root directory we do: ditto -rsrc /Volumes/dvd_name .
14. We wait for a long time until ditto finishes
15. Now we are in a similar situation as with vmware.
16. We reboot and use -v to see how far we get.
17. As we have a darwin_extensions directory now at darwin, we can boot with the darwin CD, select shell and mount the darwin harddisk: mount -t hfs /dev/disk0s1 /mnt
18. We can copy darwin extensions (from darwin_extensions directory) to System/Library/Extensions to fine tune our system. i.e.: cp -r /mnt/darwin_extensions/name_of_the_extension /System/Library/Extensions
19. reboot and keep trying
Other information:
Booting
Creating a Custom Bootable DVD
Make a working folder somewhere and name it simple for the volume name of the disc. Insert the devkit DMG/dvd, open Terminal.app and copy it with this cmd: ditto /Volumes/devkitdvd /your/working/path. Delete Extensions.mkext Extensions.kextcache and empty the Extensions folder. Lose all the kexts. Change to a second temp folder and extract the devkit extensions with pax -rzf /Volumes/devkitdvd/System/Installation/Packages/Essentials.pkg/Contents/Archive.pax.gz ./System/Library/Extensions/*. Move all extensions to your working systems extensions. Delete the newly extracted devkit IOATAFamily.kext. From darwin 8.0.1, copy IOATAFamily, AppleAC97Audio, AppleI386GenericPlatform, AppleI386PCI, and ApplePS2Controller kexts in to extensions. Get Darwin‘s boot and cdboot files from /usr/standalone/i386 and overwrite them in the same location in your working path. (Optional) Remove the Packages folder from /System/Installation/Packages. Open disk utility and create a disk image by folder, selecting the root working folder. Again, make sure your working folder has a simple name for volume name compatability. Make it a read-only dmg. Obtain, download and/or compilemkisofs (http://home.mindabuse.net/macosx86/mkisofs). Get the script from herehttp://paste.lisp.org/display/9277. Edit the script to match your new disc image volume name and paths: MKISOFS is the full path to the binary VOLNAME is your disc‘s volume name and working folder name I386ISO is a tempfile, leave it alone CDDIR should match your mounted DMG path (/Volumes/) SIZE should be changed to be large enough for your disc CDDMG is the full path to write out a new burnable bootable ISO
Run the script as root. Wait. Grab the CDDMG file (default /tmp/brraundarwin.iso) and burn.
jtle
The line "waiting for boot volume with UUID 74820F9D-4EF8-3B58-ABA1-19D13CCA2251" that you get in -v mode is probably referring to a UUID like the ones described here:
http://www.dsps.net/uuid.html
http://en.wikipedia.org/wiki/UUID
Update by siwu: Actually you can modify what uuid is expected using the boot-uuid kernel argument. However, the uuid you say is the one from the vmware cdrom. It identifies what device to get the data from. And it seems to locate it good because if you try some dummy uuid, you get the "still waiting for root device".
Update by pr0phr3ak: All and All it doesnt matter, the UUID in question is of the disk itself, not the drive. if you do diskutil info disk1s2 you‘ll see that the uuid is bound to the partition.
blex0r
Enabling the DVD boot loader to bypass SSE3 checking:
u can do it manually if u want
open the iso
offset 0x7D64CF
overwrite with 0x0b0d01000000
On the filesystem, this is in /usr/standalone/i386/boot, at offset 0x4ccf.
Q: If SSE3 is required to run the GUI, what is the point here? Is it just to allow people to work on booting with a machine lacking SSE3?
Q: After using the SSE3 patcher and patching the iso, I‘ve extracted the /usr/standalone/i386/boot file and the offset 0x4ccf does not show the sequence 0x0b0d01000000, but something else. As a consequence if I burn this .iso onto a DVD and boot with it, I get the "Platform not supported..." message again, as if the disc wasn‘t patched. What file exactly is the SSE3 patcher patching on that 0x7d64cf offset?
dho
I think i may have found a solution to bypass the dvd entirely, this is what i was referring to in irc., a method to bypass the disk.
basically. what you can do is boot a pc. install darwin 8 on it. upgrade that to 8.1. then take out the hd. hook it up to a mac (firewire/internal whatever). Then you install Tiger directly on to the hfs partition from the mounted image using 1 of two methods (listed below). once you install that on the darwin disk the machine *should* have all the universal binaries in all the right places. Even rosetta will be installed. The moment of truth comes when you boot up that machine and see how far it gets. (don‘t expect it to go all the way). it will likely poop out similar to mactel base. but this would be a considerable step forward. To all those with a usable pc, please give it a try and report back. I can explain how to use pacifist or an alternative technique when you get there. the following are the two methods for installing onto an x86 darwin partition from a mac. In no particular order. if the option one doesnt work, reformat and try option 2.or vice-versa. TRY BOTH!
OPTION 1. Use pacifist in a similar way to how people installed tiger without a dvd drive url=http://www.charlessoft.com/. you may need to read up on this technique a little.
OPTION 2. Install it directly from installer.app using(double click) the package at the following location "(Install dvd)/System/Installation/Packages/OSInstall.mpkg".
Then the most important part. Put the hd back in the intel machine. See how far it gets. Believe it or not. the install scripts are the same!!! It won‘t know the difference. The binaries are almost all universal.
HDD and DVD-ROM on the same chain (VMware booting)
It seems that it is imperative to have both your HDD and DVD-ROM on the same chain (Primary Master/Slave respectively). At least in VMware when you setup a virtual machine, put your CD-ROM to IDE 0:1, and you will notice how things speed up significantly.
I have not tested this with directly booting on the hardware, because even with the SSE3 patched boot, I still get the "Not supported platform..." message after burning the .iso onto a DVD, and yet that .iso works with VMware no problem.
It has been suggested to use daemon-tools to mount the ISO as a hard drive for use in VMware for Windows instead of burning the .iso or using the .iso directly from VMWare.
Daemon-tools does not work in linux, so not sure of a solution for doing this in Linux. When I burn a patched (using the above DVD method accept directly applying the patch files to the iso + the applying the other patches floating around) .iso I get the "Still waiting for root device..." message, but when I use the .iso directly in VMware I appear to get further accept with errors regarding the network interface.
From Research
blex0r
Enabling the DVD boot loader to bypass SSE3 checking:
u can do it manually if u want
open the iso
offset 0x7D64CF
overwrite with 0x0b0d01000000
Q: If SSE3 is required to run the GUI, what is the point here? Is it just to allow people to work on booting with a machine lacking SSE3?
Errors
Still waiting for root device
If this error comes up it is because Mac OS x86 cannot recognise your hard drive. Remember to back up your Tiger ISO first. This is how to fix this error:
1. Open the Darwin install disk in an ISO viewer (install disk available fromhere (http://www.opendarwin.org/downloads/8.0.1/darwinx86-801.iso.gz)).
2. Browse to System/Library/ in the iso.
3. Drag the extensions folder out into a temporary folder in Windows. Remember where you placed this for later.
4. Now open up the Mac OS x86 install dvd iso inTransMac (http://www.asy.com/sharetm.htm).
5. Browse to System/Library/Extensions in Transmac.
6. Delete IOATAFamily.kext from the Tiger ISO in Transmac.
7. Find the temporary folder with the extensions folder from earlier (from Darwin) in and browse into it.
8. Drag all the folders (first entry should be called ACard62xxM.kext) from the top section ("PC drive") of TransMac into the bottem section ("Mac drive"). Most of these folders are probably not neccessary, until we have narrowed them down all of them will be copied.
9. REMEMBER TO SELECT NO when it asks to replace a file.
10. Finished! Now exit Transmac and check if it works! At the very least it should come up a different error..
Creating RAM Disk for /Volumes (and /var/tmp, /var/run)
After fixing the above (adding all Darwin .kext), the system will go a bit further but stop at the RAM disk message, and soon you will get the message touch: /var/run/installer: Read-only file system
The culprit here is in the /private/etc/rc.cdrom:
echo "Creating RAM Disk for /Volumes"
dev=`hdik -drivekey system-image=yes -nomount ram://1024` # 512k
if [ $? -eq 0 ] ; then
newfs $dev
mount -o union -o nobrowse $dev /Volumes
fi
The rc.cdrom is different on the Dev.DVD than on the Darwin 8.x. Since the RAM disk is not created (hdik: attach failed: error e00002f0, which you can confirm by doing -v -s during boot and in the single user mode issue the hdik command.
To create a RAM disk the IOHDIXController extension is necessary. This extension is not in Darwin because it apparently not open source. You can get it from System/Library/Extensions/ in mactelbase.tar
(although, shouldn‘t this be originally present on the Dev.DVD, afterall it‘s an installation disc?)
Load DS.Bundle
just copy the DS.Bundle from your Mactelbase.tar to the file on the DVD, Its at System\Library\PrivateFrameworks\NetInfo.framework\Versions\A\Resources\lookupd\Agents
TPM
siwu
A full list of the necessary kexts was created. See them on theNecessary Kexts page.
lorem
The following website should be a good start for creating a dummy TPM kernel extension (it contains many good links that are more in-depth):Kernel Extension Concepts (http://developer.apple.com/documentation/Darwin/Conceptual/KEXTConcept/index.html)
Apple Kernel Library (http://developer.apple.com/documentation/Darwin/Kernel-date.html#//apple_ref/doc/uid/TP30000422-TP30000532) Note: Finlay Dobbie may be of use if specific Darwin related questions arise.
August 1
lorem
In case anyone is interested in seeing the disassembly of a Mach-O executable (along with dereferenced symbols):
otool -tvV oah750dRight now, our main course of action is either (a) intercepting the functions called to the TPM module or (b) modifying the code in Rosetta itself to eliminate TPM checking.
A ktrace of running oah750d is available here: TODO
Here is a complete list of all functions that AppleTPMACPI.kext provides. Also, we havea list of function calls from the Rosetta daemon executable. As you can see, none of these function calls match.
Seeadilson‘s Progress for a listing of function calls within oah750d which call IOKit, presumably the way that Rosetta communicates with the TPM module.
Karo-sama
the "could not find any matches" error message doen‘t refer to the keys what It can‘t find is the IOService of the TPM kext.. because it doesn‘t register it if it doesn‘t find an actual TPM if you change the IONameMatch in the TPM kext‘s plist from IFX0101(TPM module) to PNP0700(floppy drive) it will register the IOService and you will receive the new error message "Couldn‘t read from flash pad" and the system will become extremely flaky as the kext is trying to connect to the floppy drive thinking it‘s a TPM :) but since the device exists registers it‘s ioservice anyway
GUI
Getting the GUI to Work
Install Darwin Untar mactelbase Untar missing3 (or missing1 and missing 2)These are from the DevKit DiskUtil -repairPermissions Backup /S/L/Extensions Get pure mactel Extensions Remove the IOATAFamily extension Copy IOATAFamily and ApplePS2Support from Darwin Tweak AppleTPMACPI (PNP0700 thing) If you don‘t have SSE3, patch CoreGraphics Replace oah750d with adilson‘s Add the kextload line to /etc/rc Make /etc/ttys to start loginwindow instead of getty
Additional Notes
DeathChill Wait..Why would I copy the IOATAFAmily and ApplePS2Support from Darwin
DeathChill and why would I remove it
blex0r that‘s what i did
blex0r mactel‘s ioatafamily didn‘t work for me
blex0r it didn‘t boot
blex0r and appleps2support is needed for getting the kb and mouse to work
blex0r they didn‘t work for me before getting them from darwin
blex0r maybe u have overwritten darwin‘s extensions with mactel‘s
blex0r and that‘s why it‘s working for u
jtle is missing 1 the preview package?
blex0r but i wanted to ensure that i was using as much pure mactel extensions as possible
blex0r no, it isn‘t
jtle damn, I don‘t have any of the missings then
blex0r it contains files from a devkit
jtle ah ok
blex0r it should be able to be replaced with a pearpc install
lorem
The following is a script that will automatically patch the "fat" SSE3 version of CoreGraphics. You will need otool either from the Developer Kit or Xcode 2.1 (but not the one from Darwin 8.0.1) in order for this to work out of the box.
#!/bin/sh if [ ! -f CoreGraphics ]; then        echo "Cannot find CoreGraphics."        exitelif [ -z "`file CoreGraphics | grep ‘Mach-O fat‘`" ]; then        echo "Not a Mach-O fat executable."        exitfi ditto --arch i386 CoreGraphics CoreGraphics.i386adds=`otool -tV CoreGraphics.i386 | grep fisttpl | awk ‘{ print $1 }‘ | perl -e ‘while ($line = ) { print hex($line) - 0x902ff000 . "\n"; }‘` if [ -z "$adds" ]; then        echo "Nothing to patch."        rm CoreGraphics.i386        exitfi for add in $adds; do        skip=`expr $add + 1`        byte=`dd if=CoreGraphics.i386 count=1 bs=1 skip=$skip 2>/dev/null`        data=`perl -e "printf ‘%c%c‘, 0xdf, unpack(C, ‘$byte‘)|0x30"`         echo "Patching at offset $add."        echo -n $data | dd of=CoreGraphics.i386 count=2 bs=1 seek=$add conv=notrunc 2>/dev/nulldone mv CoreGraphics CoreGraphics.bakmv CoreGraphics.i386 CoreGraphicsIf you are running only Darwin, make sure that you are operating on the correct version of CoreGraphics (md5sum: d3a7777bd4b71fbdc508aa0d2fb397c2), and change the line beginning with adds to read like the following:
adds="30268 35611 69586 70828 70840 80376 80392 141387 141462 141540 141618 148995 154057 154112 158865 158896 158927 158983 159014 159045 159092 159120 159148 159370 168888 170870 170880 195168 195269 213892 213916 397423 547303 547327 547761 547777 582951 582989 584483 584524 584626 584661 647287 647297 647516 647526 695241 728085 728101 756878 756946 757048 757104 757134 757147 816728 911787 913559 913849 1052834 1174372 1174382 1199185 1199321 1199434 1199447 1232032 1232137 1232147 1247523 1247554 1247585 1247641 1247672 1247703 1247798 1290336 1302728 1302807 1303133 1303168 1372373 1372415 1372612 1372654 1381477 1381512 1381539 1382024 1382069 1382177 1382214 1391843 1394529 1394589 1395030 1395051 1429904 1429916 1437710 1452246 1470284 1472280 1472296 1473200 1473219 1494053 1494087 2156318 2156346 2156374 2156405 2156476 2156496 2156546 2156651 2156675 2156702 2156729 2156752 2168011 2168039 2168067 2168098 2168169 2168189 2168239 2168344 2168368 2168395 2168422 2168445 2876640 3089697 3089810 3099427 3099535 3099590 3112849 3138303 3138321 3354581 3354865 3402122 3402146 3407721 3407962 3408714 3470186 3470202 3475047 3507514 3508674 3520754 3520871"
How blex0r got the GUI using Mactel
blex0r: DeathChill, open your /etc/rc file
blex0r: locate "Configuring kernel extensions"
blex0r: echo "..."
DeathChill: private/etc/rc?
blex0r: yeah
blex0r: /etc is a symlink
blex0r: echo "Configuring kernel extensions"
blex0r: kextd
blex0r: fi
blex0r: ...
blex0r: if [ "${SafeBoot}" = "-x" ]; then
blex0r: echo "Configuring kernel extensions for safe boot"
blex0r: touch /private/tmp/.SafeBoot
blex0r: kextd -x
blex0r: else
blex0r: echo "Configuring kernel extensions"
blex0r: kextd
blex0r: fi
blex0r: after the fi
blex0r: ...
blex0r: else
blex0r: echo "Configuring kernel extensions"
blex0r: kextd
blex0r: fi
blex0r: kextload /System/Library/Extensions/AppleTPMACPI.kext/
blex0r: add the kextload line just after the fi
DeathChill: change kextd to kextload /System/Library/Extensions/AppleTPMACPI.kext
blex0r: no !
blex0r: add the kextloadline just after the if..fi block
blex0r: that will make the kext to be loaded on time
blex0r: have u modified the Info.plist file ?
blex0r: in the kext
DeathChill: Yes
DeathChill: And done
DeathChill: So save and reboot?
blex0r: /System/Library/Extensions/AppleTPMACPI.kext/Contents/Info.plist
blex0r: have u modified that file ?
blex0r: IONameMatch
blex0r: PNP0700
blex0r: do u have a floppy device in vmware ?
blex0r: then
blex0r: open /etc/ttys
blex0r: #console "/usr/libexec/getty std.57600" vt100 on secure
blex0r: that line should be commented
blex0r: then remove the # from the loginwindow line
DeathChill: Do I want to remove the # from both consoles
DeathChill: OR just the loginwindow one
blex0r: loginwindow uncommented, getty commented
DeathChill: Ah, well, how do I edit in VI? It seems to be EXTREMELY odd as it doesn‘t seem to keep anything normal xD
blex0r: DeathChill, use pico if u want
blex0r: pico -w /etc/ttys
lorem’s CoreGraphics Script
The following is a script that will automatically patch the "fat" SSE3 version of CoreGraphics. You will need otool from the Developer Kit (not the one from Darwin 8.0.1) in order for this to work out of the box.
#!/bin/sh
if [ ! -f CoreGraphics ]; then
echo "Cannot find CoreGraphics."
exit
elif [ -z "`file CoreGraphics | grep ‘Mach-O fat‘`" ]; then
echo "Not a Mach-O fat executable."
exit
fi
ditto --arch i386 CoreGraphics CoreGraphics.i386
adds=`otool -tV CoreGraphics.i386 | grep fisttpl | awk ‘{ print $1 }‘ | perl -e ‘while ($line = ) { print hex($line) - 0x902ff000 . "\n"; }‘`
if [ -z "$adds" ]; then
echo "Nothing to patch."
rm CoreGraphics.i386
exit
fi
for add in $adds; do
skip=`expr $add + 1`
byte=`dd if=CoreGraphics.i386 count=1 bs=1 skip=$skip 2>/dev/null`
data=`perl -e "printf ‘%c%c‘, 0xdf, unpack(C, ‘$byte‘)|0x30"`
echo "Patching at offset $add."
echo -n $data | dd of=CoreGraphics.i386 count=2 bs=1 seek=$add conv=notrunc 2>/dev/null
done
mv CoreGraphics CoreGraphics.bak
mv CoreGraphics.i386 CoreGraphics
If you are running only darwin, make sure that you are operating on the correct version of CoreGraphics (d3a7777bd4b71fbdc508aa0d2fb397c2), and change the line beginning with adds to read like the following:
adds="30268 35611 69586 70828 70840 80376 80392 141387 141462 141540 141618 148995 154057 154112 158865 158896 158927 158983 159014 159045 159092 159120 159148 159370 168888 170870 170880 195168 195269 213892 213916 397423 547303 547327 547761 547777 582951 582989 584483 584524 584626 584661 647287 647297 647516 647526 695241 728085 728101 756878 756946 757048 757104 757134 757147 816728 911787 913559 913849 1052834 1174372 1174382 1199185 1199321 1199434 1199447 1232032 1232137 1232147 1247523 1247554 1247585 1247641 1247672 1247703 1247798 1290336 1302728 1302807 1303133 1303168 1372373 1372415 1372612 1372654 1381477 1381512 1381539 1382024 1382069 1382177 1382214 1391843 1394529 1394589 1395030 1395051 1429904 1429916 1437710 1452246 1470284 1472280 1472296 1473200 1473219 1494053 1494087 2156318 2156346 2156374 2156405 2156476 2156496 2156546 2156651 2156675 2156702 2156729 2156752 2168011 2168039 2168067 2168098 2168169 2168189 2168239 2168344 2168368 2168395 2168422 2168445 2876640 3089697 3089810 3099427 3099535 3099590 3112849 3138303 3138321 3354581 3354865 3402122 3402146 3407721 3407962 3408714 3470186 3470202 3475047 3507514 3508674 3520754 3520871"
Installing VMware Tools and the Network Driver in a Linux Guest
1. Choose Settings > VMware Tools Install.
This step connects the virtual machine‘s CD-ROM drive to an ISO image file on the ESX Server machine.
2. In your Linux guest, become root, mount the VMware Tools virtual CD-ROM, copy the installer file from the virtual CD-ROM to /tmp, then unmount the CD-ROM.
su
cd /
mount -t iso9660 /dev/cdrom /mnt
cp /mnt/vmware-linux-tools.tar.gz /tmp
umount /dev/cdrom
3. Untar the VMware Tools tar file in /tmp and install it.
cd /tmp
tar zxf vmware-linux-tools.tar.gz
cd vmware-linux-tools
./install.pl
Note: When installing VMware Tools in some versions of Linux, the installer will need to recompile VMware Tools. For this to work, you will need to have a C compiler installed in the guest. In some cases you may get compiler warning messages during the VMware Tools installation. However, the control panel and drivers will still work correctly.
4. Do one of the following.
* If you configured this virtual machine to use the vlance network driver, go to step 6.
* If you configured this virtual machine to use the vmxnet network driver, test to be sure that the vmxnet driver is installed correctly.
insmod vmxnet
5. If the driver is installed correctly, you see some informative output but no error messages. In addition, you should now have an entry such as
alias eth0 vmxnet in the file /etc/modules.conf (or
/etc/conf.modules in Red Hat Linux 6.2).
6. When installation is complete, choose Settings > Cancel Tools Install to disconnect the ISO image file and return the virtual machine‘s CD-ROM drive to its original configuration.
7. If you wish, start X and your graphical environment and launch the VMware Tools background application.
vmware-toolbox &
Note: If you created this virtual machine using only the vmxnet driver, you now need to run netconfig or another network configuration utility in the virtual machine to set up the virtual network adapter.
Starting VMware Tools Automatically
You may find it helpful to configure your guest operating system so VMware Tools starts when you start X. The steps for doing so will vary, depending on your Linux distribution and the desktop environment you are running. Check your operating system documentation for the appropriate steps to take.
For example, in a Red Hat Linux 7.1 guest using GNOME, follow these steps.
1. Open the Startup Programs panel in the GNOME Control Center.
Main Menu (the foot in the lower left corner of the screen) > Programs > Settings > Session > Startup Programs
2. Click Add....
3. In the Startup Command field, enter vmware-toolbox.
4. Click OK, click OK again, then close the GNOME Control Center.
The next time you start X, VMware Tools will be started automatically.
Installing VMware Tools in a FreeBSD Guest
1. Choose Settings > VMware Tools Install.
This step connects the virtual machine‘s CD-ROM drive to an ISO image file on the ESX Server machine.
2. In your Linux guest, become root, mount the VMware Tools floppy, copy the contents of the virtual floppy disk to /tmp, then unmount the floppy.
su
cd /
mount -t iso9660 /dev/cdrom /mnt
cp /mnt/vmware-freebsd-tools.tar.gz /tmp
umount /dev/fd0
3. Untar the VMware Tools tar file in /tmp and install it.
su
cd /tmp
tar zxf vmware-freebsd-tools.tar.gz
cd vmware-freebsd-tools
./install.pl
4. When installation is complete, choose Settings > Cancel Tools Install to disconnect the ISO image file and return the virtual machine‘s CD-ROM drive to its original configuration.
5. Start X and your graphical environment if they are not started yet.
6. In an X terminal, launch the VMware Tools background application.
vmware-toolbox &
_xyz