Boot MacOS X86 from USB Pendrive
Have you ever dreamed about carrying in your pocket, your favorite OSx86 install. And boot it everywhere. When dreams come true… |
Before you start
You will need the following stuff:
- USB pendrive (min. 2 GB required)
- JaS Mac OS X 10.4.x or 10.4.7 Retail DVD
- Pacifist software (www.charlessoft.com)
Format the pendrive
Plugin your USB pendrive and open Disk Utility (Applications->Utilities).
Select your pendrive device in the left menu, and click the partition tab.
Enter a nice name for your device like osx86.
Hit Options… button, and choose Master Boot Record.
From the drop-down, choose 1 partition as the volume scheme.
Be sure the filesystem is Mac OS Extended (Journaled),
Hit the Partition button.
Next, we need to enable Owners, open a Terminal and type:
sudo /usr/sbin/vsdbutil -a /Volumes/osx86
Install OSx86
Mount the JaS 10.4.x DVD or the Retail 10.4.7 DVD (I used retail).
Browse to the directory System/Installation/Packages on the DVD.
Open OSInstall.mpkg with pacifist (right-click->Open With Pacifist).
Expand Contents of EssentialSystemSoftware, then expand Contents of
EssentialSystemSoftwareGroup.
Select Contents ofBaseSystem.pkg and Contents ofEssentials.pkg and
right-click and choose Install to Other disk…
Choose your pendrive (osx86) and hit the install button. Now be patient 🙂
Now depending on what DVD you used, you will need to download the
right update from apple.com. I downloaded the 10.4.8 Intel update since I used
10.4.7 retail DVD.
Open MacOSXUpd10.4.8Intel.pkg with Pacifist and install to Other disk…
N.B.: Before installing the update, you may need to free some space on the pendrive.
Just delete the asiatic font files in /System/Library/Fonts (= 100 MB bonus).
Add missing files
Since we installed with Pacifist, some of the files are missing. We need to copy them.
Get them from a full 10.4.8 working install. Those files are:
/System/Library/CoreServices/SetupAssistant
/Applications/Safari.app
/Applications/Address Book.app
/Library/Receipts/BaseSystem.pkg
/Library/Receipts/Essentials.pkg
Copy OSx86 specific files
You need to replace the following files:
/mach_kernel by semthex SSE3 or SSE2 kernel
/System/Library/Extensions/AppleACPIPlateform.kext
/System/Library/Extensions/AppleSMBIOS.kext
Optional:
/System/Library/Extensions/IONetworkingFamily.kext
/System/Library/Extensions/AppleIntelIntegratedFrameBuffer.kext (GMA950)
Add this for PS2 keyboard/mouse:
/System/Library/Extensions/ApplePS2Controller.kext
Put all your custom kext you use on your working install.
Do not forget to chmod -R 755 and chown -R root:wheel all files you copy.
Make the pendrive bootable
Be sure that you have bless version 24.0 from 10.4.4.
Any other version of bless won’t work.
Run bless -version in Terminal to check version.
sudo bless –verbose –folder
“/Volumes/osx86/System/Library/CoreServices” –bootinfo
Repair permissions
Open Disk Utility.app, select your pendrive and repair permissions.
Set Partition Active
Open a Terminal, be sure your pendrive is plugged in:
> sudo -s
> diskutil list
> /dev/disk1
#: type name size identifier
0: FDisk_partition_scheme *1.9 GB disk1
1: Apple_HFS osx86 1.9 GB disk1s1
Note that here the pendrive is disk1 (disk1s1).
> fdisk -e /dev/rdisk1
Enter 'help' for information
fdisk: 1> p
Disk: /dev/rdisk1 geometry: 999/64/63 [4028416 sectors]
Offset: 0 Signature: 0xAA55
Starting Ending
#: id cyl hd sec - cyl hd sec [ start - size]
-------------------------------------------------------------
*1: AF 0 1 1 - 1023 254 63 [ 63 - 4028346] HFS+
2: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
3: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
4: 00 0 0 0 - 0 0 0 [ 0 - 0] unused
First time you do this, you should not see the star in front of partition 1.
We need to activate the partition.
fdisk: 1> f 1
Partition 1 marked active.
fdisk:*1> write
Device could not be accessed exclusively.
A reboot will be needed for changes to take effect. OK? [n] y
Writing MBR at offset 0.
First Boot
During the first boot to OS X from the pendrive,
you’ll have to finish the installation setup.
For the first boot, you need to boot to your current working system.
And specify following boot flags:
mach_kernel -v rd=disk1s1
Notice that we specified disk1s1 from previous diskutil list command.
Next boot should be directly to the USB pendrive,
so don’t forget to enable USB boot in BIOS.
And set USB Flash boot order before harddrive.
Bring your osx86 with you and test it on any PC with SSE2/SSE3 proc!
Enjoy!