Jump to content

[Guide] Boot from EFI partition, zero modification installs on Intel SSE2 or better...


munky
 Share

1,404 posts in this topic

Recommended Posts

Excellent guide. Works perfectly with my new 10.5.6 install. I didn't have any Leopard discs other than the original 10.5 disc, so I created an up to date 10.5.6 image on a MacBook and then imaged it over to my Hackintosh HD and applied the steps from this tutorial.

 

1 ? and I don't know if it has been answered in this thread yet or not, but I don't have time to look through 60 pages. Sorry.

 

How do I get my system to automatically boot from a specified partition or to auto boot to it after a certaim amount of time like it used to with PC EFI?

 

Also, any ideas why my new install doesn't restart or shut down reliably anymore? Sometimes it gets stuck with the monitor off and everything still spinning and I have to hard restart or shut down.

 

Edit: It appears that my computer only has problems restarting and shutting down after it has fallen asleep at least once. (Yes I had already installed CHUD & the poweroff fix from cobranail before posting this entire message)

 

Edit: Ignore my post, I found the timeout thing earlier in the thread and this really isnt the place to be asking about shutdown and restart problems. Thanks!

Link to comment
Share on other sites

Thanks it's a excellent guide. My new 10.5.6 install boot but i have a small problem with my kext.

The extensions.kext is create but it not load at boot !

 

When i launch update.sh i have in log :

 

bash-3.2# cat update.log

kextcache: ???\a: couldn't get volume UUID

warning: kernel extension /Volumes/EFI/Extensions/ACPIPS2Nub.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/AppleDecrypt.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/AppleIntelGMAX3100.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/AppleIntelGMAX3100FB.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/ApplePS2Controller.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/ApplePS2Controller.kext/Contents/PlugIns/ApplePS2Keyboard.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/ApplePS2Controller.kext/Contents/PlugIns/ApplePS2Mouse.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/ApplePS2Controller.kext/Contents/PlugIns/ApplePS2Trackpad.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/AppleSMBIOS.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/Disabler.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/OpenHaltRestart.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

warning: kernel extension /Volumes/EFI/Extensions/SMBIOSEnabler.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)

 

...

 

Can you help me for resolve this problem ??

 

Big thanks at all

Link to comment
Share on other sites

First off; great guide! This is my first foray into the world of hackintosh and following this guide I managed to get a clean vanilla osx install running. Thanks!

 

But,,,, has anyone managed to get this method working with OSX Software Raid?

 

The Chameleon v1.12 has software raid support apparently and the readme has very similar instructions to this guide but is still talking about editing the 'normal' root osx /system/extensions folder.

 

So I guess my questions are:

a) is it possible to get software raid working with the hidden EFI partition method?

b ) are the boot0, boot1h and boot files supplied in Chameleon v1.12 the same as those provided by this post? Or is there something in these files that tells the bootloader where to find the next stage boot files?

 

Cheers!!

Link to comment
Share on other sites

First off; great guide! This is my first foray into the world of hackintosh and following this guide I managed to get a clean vanilla osx install running. Thanks!

 

But,,,, has anyone managed to get this method working with OSX Software Raid?

 

The Chameleon v1.12 has software raid support apparently and the readme has very similar instructions to this guide but is still talking about editing the 'normal' root osx /system/extensions folder.

 

So I guess my questions are:

a) is it possible to get software raid working with the hidden EFI partition method?

b ) are the boot0, boot1h and boot files supplied in Chameleon v1.12 the same as those provided by this post? Or is there something in these files that tells the bootloader where to find the next stage boot files?

 

Cheers!!

 

 

Hi, for the first question, it seems so. There's a post a few pages earlier http://www.insanelymac.com/forum/index.php...00#entry1073119

For the second, I don't really know. But I read somwhere that the files are not the same

Link to comment
Share on other sites

Hey munky (and others),

 

Thanks so much for the tutorial. I haven't gone on the adventure of doing this yet, but I've been reading and re-reading your posts and others just to get a grasp on what I'm hoping to do...

 

Anyway, assuming I can get the boot-132 -> Leopard DVD -> vanilla install working (I'm working on checking HCL stuff now), where would I look to find the kexts that I need for my particular system? Maybe I'm misunderstanding, but it seems like kexts (kernel extensions, right?) are kind of like low-level drivers for the various parts of my PC. So I just need to find the right ones and include them in the EFI partition, like you've outlined, right?

 

Thanks for your (and/or anyone else's) time and help for a n00b.

Link to comment
Share on other sites

Hey munky (and others),

 

Thanks so much for the tutorial. I haven't gone on the adventure of doing this yet, but I've been reading and re-reading your posts and others just to get a grasp on what I'm hoping to do...

 

Anyway, assuming I can get the boot-132 -> Leopard DVD -> vanilla install working (I'm working on checking HCL stuff now), where would I look to find the kexts that I need for my particular system? Maybe I'm misunderstanding, but it seems like kexts (kernel extensions, right?) are kind of like low-level drivers for the various parts of my PC. So I just need to find the right ones and include them in the EFI partition, like you've outlined, right?

 

Thanks for your (and/or anyone else's) time and help for a n00b.

 

ZEDenterprizes,

 

Best thing to do is search the forums - specifically the Leopard install and hardware forums. You can identify working hardware and the necessary kexts to make it work if it doesn't work out of the box. Start with the motherboard - there are several complete install guides with kexts for various motherboards.

 

SMF

Link to comment
Share on other sites

Ok I need some help here guys. I'm trying to do this on a P4 with the voodoo kernel. I've been banging my head at this for hours and still can't get it to boot.

 

I've gone through munky's instructions twice, and then tried EPOS I. The problem with that is that it doesn't support custom kernels.

 

Anyway, I can't get the computer to boot unless I type bt(0,0)/mach_kernel.voodoo -f rd=disk0s2 every time.

 

I've copied the com.apple.Boot.plist file to /Volumes/EFI/Library/Preferences/SystemConfiguration and edited the kernel section to read mach_kernel.voodoo. I've added the boot-uuid flag (with the proper UUID) to the kernel flags too.

 

When it stops at the "Use arrow keys to select the startup volume" screen if I keep hitting enter I can just about make out some of what is happening, but it's very fast. I can make out "Reading configuration file 'bt(0,0)/Library/Preferences/SystemConfiguration/com.apple.Boot.plist" but that's all. It flashes straight back to the select startup volume screen again.

 

I can't fumble around at this any longer so where is it all going so wrong....

Link to comment
Share on other sites

This may be common knowledge, but as I've been out of the hackintosh loop for a few months I've gotten pretty rusty: if you erase a disk it's given a new UUID.

 

So if you've used the boot-uuid method of defining the startup disk in your EFI com.apple.Boot.plist it won't be able to find the startup disk after an erase/reinstall.

 

I tried 10.5.6 earlier and it just seemed to break too many things for what it was worth, so I figured "Hey, all the hackintosh bits are set-up on the EFI partition. I should be able to just erase and install a fresh Leopard and then take out the boot-132 disc at the first reboot!"

 

Nope ;)

 

Then I discovered that nano, pico etc don't work from the install disc terminal.

 

So I booted off the boot-132 disk again, completed the second stage of setup and changed the plist entry to rd=diskxsx in terminal.

Link to comment
Share on other sites

So I successfully got the EFI tools to do the install and am booting from the 200mb partition. I want the computer to boot automatically without having to select the partition to boot at start up. How do I acess and modify the com.apple.Boot.plist?

 

Thanks,

dude

Link to comment
Share on other sites

hey all !!

 

My install boot, but extensions that i have add (i check with MKexTool, they are in the Extensions.mkext in my EFI boot partition) are not load. (My network Broadcom lan kext for example). I dont know with....

 

How can i debug this?

Link to comment
Share on other sites

I figured it out, I think I will make a detailed tutorial for noobs like me.

 

So I successfully got the EFI tools to do the install and am booting from the 200mb partition. I want the computer to boot automatically without having to select the partition to boot at start up. How do I acess and modify the com.apple.Boot.plist?

 

Thanks,

dude

Link to comment
Share on other sites

I've recently checked the released beta of the new chameleon bootloader, and I've read the install guide with it here is how it will be installed :

 

Suppose that your installation is on /dev/disk0s2

 

- Install boot0 to the MBR:

sudo fdisk -f boot0 -u -y /dev/rdisk0

 

- Install boot1h to the partition's bootsector:

sudo dd if=boot1h of=/dev/rdisk0s2

 

- Install boot to the partition's root directory:

sudo cp boot /

 

thats directly copied from the help file that comes with it.

 

well, It seems that its not like what munky claimed, because its not a bootloader that is installed on the hidden partition as munky's

 

So, I don't like that so far, and hope that munky does not abandon this project because of chameleon cause it seems so far that its entirely different from munky's

Link to comment
Share on other sites

I've recently checked the released beta of the new chameleon bootloader, and I've read the install guide with it here is how it will be installed :

 

Suppose that your installation is on /dev/disk0s2

 

- Install boot0 to the MBR:

sudo fdisk -f boot0 -u -y /dev/rdisk0

 

- Install boot1h to the partition's bootsector:

sudo dd if=boot1h of=/dev/rdisk0s2

 

- Install boot to the partition's root directory:

sudo cp boot /

 

thats directly copied from the help file that comes with it.

 

well, It seems that its not like what munky claimed, because its not a bootloader that is installed on the hidden partition as munky's

 

So, I don't like that so far, and hope that munky does not abandon this project because of chameleon cause it seems so far that its entirely different from munky's

Even though it is not in the RC1 "install" notes, it is supposed to support EFI partition booting, aka Munky's boot method. I applied the instructions from post 1 with the chameleon Rc1 files, and will see if it boots after I finishing installing a copy of OSX on a spare drive. I will post back with results soon.

 

EDIT: I am able to get the bootloader to load, but it is hanging on booting the drive. (The bootloader GUI is sweet!!!). It doesn't look like it is loading the extensions from the EFI drive..... I will mess with it some more later tonight....

Link to comment
Share on other sites

The new Chameleon GUI Bootloader is working for me with Munkys Boot from EFI Volume Install Method. DSDT.aml and com.apple.Boot.plist have to be in Extra Folder. Here is what I have done:

 

1. open Terminal

2. (Determine your install harddisk with)

diskutil list

3. sudo -s

(Enter password)

4. mkdir /Volumes/EFI

5. mount_hfs /dev/diskXs1 /Volumes/EFI

(Do not forget to change _X with your harddisk number from step 2)

6. mkdir /Volumes/EFI/Extra

6. (Download new Chameleon and put folder on your desktop)

7. (open the chameleon folder and cd to the subfolder i386 in Terminal- just type cd and Space and drag the i386 folder into Terminal)

8. sudo fdisk -f boot0 -u -y /dev/rdiskX

(do not forget to change X with your harddisk number from step 2)

9. sudo dd if=boot1h of=/dev/rdiskXs1

(do not forget to change X with your harddisk number from step 2)

10. sudo cp boot /Volumes/EFI

11. (cd to the Extra Folder in your new Chameleon Folder (on your desktop) in Terminal)

12. cp smbios.plist /Volumes/EFI/Extra

13. cp -R Themes /Volumes/EFI/Extra

14. cd Volumes/EFI

15. cp DSDT.aml /Volumes/EFI/Extra

16. cp com.apple.Boot.plist /Volumes/EFI/Extra

17. cd Volumes/EFI/System/booter

18*. cp Extensions.mkext /Volumes/EFI/Extra

19. umount -f Volumes/EFI

20. rm -rf /Volumes/EFI

 

*Note before Step 18. If you have AppleSMBIOS or similar kext in your Extensions folder on your EFI Volume and you want to load smbios.plist - remove this kext form your Extensions folder and rebuild Extensions.mkext before copying this file to the Extra folder.

cd /Volumes/EFI/Extensions

rm-R AppleSMBIOS.kext

cd ..

sudo ./update.sh

Link to comment
Share on other sites

I am not able to boot using this EFI bootloader. The system starts the boot, but the GUI does not show up, as described in earlier posts.

I have placed the System.kext for my 9.5.0 voodoo kernel in the /Volumes/EFI/Extensions folder and run update.sh afterwards. But the system still does not boot correctly. I am sure that the 9.5.0 kernel is the right version for me because I am able to boot from the Boot-132 cd with exactly the same mach_kernel.voodoo and System.kext on the disk.

I use the following command at the boot prompt:

bt(0,0)/mach_kernel.voodoo -v -legacy boot-uuid=mybootUUID

Link to comment
Share on other sites

Hey guys, I'm using this method and its working almost perfectly. I only have a little problem with wifi. I'm using a patched IO80211Family.kext (Broadcom chipset) and while booting without -f I get an error saying that the kext's immediate and other dependencies could not be resolved, it isn't loaded and I obviously get no wifi. Loading it manually post-boot runs with no errors, but does not enable wifi, and using -f works as expected (as I've said before) but I'd much rather avoid it.

 

Any ideas?

Link to comment
Share on other sites

I am not able to boot using this EFI bootloader. The system starts the boot, but the GUI does not show up, as described in earlier posts.

I have placed the System.kext for my 9.5.0 voodoo kernel in the /Volumes/EFI/Extensions folder and run update.sh afterwards. But the system still does not boot correctly. I am sure that the 9.5.0 kernel is the right version for me because I am able to boot from the Boot-132 cd with exactly the same mach_kernel.voodoo and System.kext on the disk.

I use the following command at the boot prompt:

bt(0,0)/mach_kernel.voodoo -v -legacy boot-uuid=mybootUUID

 

try it without -legacy

Link to comment
Share on other sites

well this bootloader has had a good innings, but the wonderful new chameleon release is nearly here (out in Release Candidate form), which renders this loader obsolete.

 

i strongly recommend anyone using this loader to check out Chameleon 2.0, its a thing of beauty :blink:

 

i'd also like to add my personal congratulations to the Chameleon team for bringing such an awesome bootloader to the community.

Link to comment
Share on other sites

well this bootloader has had a good innings, but the wonderful new chameleon release is nearly here (out in Release Candidate form), which renders this loader obsolete.

 

i strongly recommend anyone using this loader to check out Chameleon 2.0, its a thing of beauty :D

 

i'd also like to add my personal congratulations to the Chameleon team for bringing such an awesome bootloader to the community.

 

what do I have to consider when I change from your bootloader to chameleon? is the installation procedure similar?

Link to comment
Share on other sites

 Share

×
×
  • Create New...