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

I did a clean install from retail on an existing partition using boot 132

 

I put a bunch of kexts i thought i needed in my EFI partition, and it wouldn't boot (tho it booted from boot 132)

 

so i reduced the kexts in my EFI partition to exactly and only those in boot 132 and it booted

 

I then ran 10.5.5 combo updater - now it won't boot

 

hmm, so much for being able to run vanilla updates...

 

I guess i need other stuff in my EFI extensions folder, but i don't know what, or what would be needed by 10.5.5 but not by 10.5

 

(can anyone point me to a list of what hacked kexts are needed for P5W mobo?)

 

the bootloader on the efi partition works great, can boot my other disks from it etc, so that part seems fine.

 

only other thing i can think of is to repartition the whole disk and start again, but since the bootloader seems to be working fine, i'm not sure that will fix it... and I'm reluctant, because i have 300+Gb of work files on another partition i would have to backup...

 

can anyone point me at a reason why 10.5 would boot but 10.5.5 not?

 

the boot process hangs at a different point each time i change anything, theres no obvious specific problem..

Link to comment
Share on other sites

I did a clean install from retail on an existing partition using boot 132

 

I put a bunch of kexts i thought i needed in my EFI partition, and it wouldn't boot (tho it booted from boot 132)

 

so i reduced the kexts in my EFI partition to exactly and only those in boot 132 and it booted

 

I then ran 10.5.5 combo updater - now it won't boot

 

hmm, so much for being able to run vanilla updates...

 

I guess i need other stuff in my EFI extensions folder, but i don't know what, or what would be needed by 10.5.5 but not by 10.5

 

(can anyone point me to a list of what hacked kexts are needed for P5W mobo?)

 

the bootloader on the efi partition works great, can boot my other disks from it etc, so that part seems fine.

 

only other thing i can think of is to repartition the whole disk and start again, but since the bootloader seems to be working fine, i'm not sure that will fix it... and I'm reluctant, because i have 300+Gb of work files on another partition i would have to backup...

 

can anyone point me at a reason why 10.5 would boot but 10.5.5 not?

 

the boot process hangs at a different point each time i change anything, theres no obvious specific problem..

 

I don't know why your specific setup is failing, but I have experienced the same 10.5.1 to 10.5.5 upgrade problem. I would suggest that you make sure you are booting with the "-f -v" kernel flags each time until the problems are resolved. Also, you need to keep the System.kext in sync with the kernel used to boot the system. The upgrade would have changed that if you default to the one in the S/L/E folder.

 

Good luck!

Link to comment
Share on other sites

Shellscript is pretty much done, just need to do a little more testing...

 

I updated with 10.5.6 from software update, rebooted and all OK :)

Thanks a lot munky for porting DSDT with this bootloader it's great bootloader :)

You could do other good thing pimp the version on AppleSMBIOS.kext in EFI partition from 1.0.13 or 1.0.14 to 1.1.13 that will make the kext load from EFI partition :)

This sounds like the way forward, is there any reason not to do this for all your kext's on your EFI partition? What if I just put 1.9.99 instead?

 

Also, is it possible to see which extensions loaded from which drive in "System profiler"?

 

Finally, I forgot to ask before, is there anything bad about using "-v -f" on every single boot (apart from the extra boot time)?

Link to comment
Share on other sites

thanks, the kernel shouldn't be a problem since its always vanilla, and theres no system.kext in my EFI partition. but i'll check those boot flags and see what happens

 

BTW 10.5.5 won't boot from boot 132 disk either...

 

EDIT UPDATE - it boots using -x with a long pause after it says login window started

 

without - x it hangs past my patience point at the same place... so i end up pressing reset..

 

does this give anyone any clues?

 

TIA!!

Link to comment
Share on other sites

Shellscript is pretty much done, just need to do a little more testing...

This sounds like the way forward, is there any reason not to do this for all your kext's on your EFI partition? What if I just put 1.9.99 instead?

 

Also, is it possible to see which extensions loaded from which drive in "System profiler"?

 

Finally, I forgot to ask before, is there anything bad about using "-v -f" on every single boot (apart from the extra boot time)?

 

Yes, I make version high in all kexts on /S/L/E so that they load like IONetworkingFamily also you can use kextstat at terminal so that you can see the kexts are loaded and verssion.

If you see the version of the kext high then the kext is loaded from EFI and working :)

Link to comment
Share on other sites

Yes, I make version high in all kexts on /S/L/E so that they load like IONetworkingFamily also you can use kextstat at terminal so that you can see the kexts are loaded and verssion.

If you see the version of the kext high then the kext is loaded from EFI and working :)

Awesome, I'm going to update my EFI partition and give this a go. Thanks. :)

 

Phase 3: Make the disk bootable

 

This stage may not be necessary on some boards, but on my Intel board and Bad Axe boards it is. If you skip this step and your system wont boot, try doing it. That said, doing this on boards which DONT need it will do no harm so my logic is do it anyway.

 

Type the fdisk command and then each line as shown:

 

1) ./fdisk -e /dev/rdiskX (NB: Ignore any fdisk: could not open MBR file /usr/standalone/i386/boot0: No such file or directory error)

 

2) f 1

 

3) w

 

4) q

Does Munky or anyone else know their way around Fdisk? I've managed to build a Shellscript file that installs this bootloader automatically, it all works until I have to do the "./fdisk -e /dev/rdiskX" command... I want it to make the command so it doesn't need "f 1 w (y) q" to be typed in...

 

If this could be automated somehow that would be great, even if external files are needed...

 

I could skip over this bit but I'd rather not... I'll be more than happy to post up the script once it's done. :)

Link to comment
Share on other sites

Hi,

 

I am quite new to this. I have just installed retail Leopard 10.5.4 9E25 via boot132 on a Dell xps 1330. Then I followed the methods on the first page to install EFI. When I rebooted and tried to boot from the harddisk the circle with grey background keeps spinning.

 

I tried to boot with -v option and it is stuck at:

 

Kernel version:
Darwin Kernel Version 9.4.0: Mon Jun 9 19:30:53 PDT 2008; root:xnu-1228.5.20~1/RELEASE_I386
System model name: XPS M1330

 

It doesn't run after that line. Any ideas how to fix this?

 

Thanks :P

Link to comment
Share on other sites

Hi,

 

I am quite new to this. I have just installed retail Leopard 10.5.4 9E25 via boot132 on a Dell xps 1330. Then I followed the methods on the first page to install EFI. When I rebooted and tried to boot from the harddisk the circle with grey background keeps spinning.

 

I tried to boot with -v option and it is stuck at:

 

Kernel version:
Darwin Kernel Version 9.4.0: Mon Jun 9 19:30:53 PDT 2008; root:xnu-1228.5.20~1/RELEASE_I386
System model name: XPS M1330

 

It doesn't run after that line. Any ideas how to fix this?

 

Thanks :P

 

Could be number of things. Are the required kexts in your EFI/Extensions/ folder? Especially AppleDecrypt and IntelCPUPMDisabler. Try using your boot132 disk and at the loader press F8 and then type 80 (First HD) or 81 (Second HD). If that fails then try -x for safe boot.

 

Good Luck!

Link to comment
Share on other sites

Phase 5: Test boot!

 

So this differs slightly depending on whether you have a Core cpu or not - that is, whether you can (or choose to) run the vanilla kernel or a patched kernel.

 

If you boot the vanilla kernel, you should just have to press Return, as the bootloader should find your installed OS.

 

If you boot a patched kernel, the magic you need is this:

 

bt(0,0)/mach_kernel.voodoo -v boot-uuid=<the install's uuid you wrote down earlier>.

 

With a bit of luck, you'll boot up into your nice shiny new Leopard install, and be able to use Software Update without worrying.

 

Hi munky (and ohter pros)

I'm following up your guide with a 10.5.4 RETAIL DVD, using boot-132 with JMicron patched boot file on a ASUS P5W DH DELUXE motherboard. My 8600GTS is running with all resolutions but no QE.

 

Until "Phase #5: test boot!" everything seems ok, but when I try to boot, my screen stops on "boot1: startupfile" and NOTHING HAPPENS! Take a look at my attached picture...

 

Thanks in advance

Link to comment
Share on other sites

Could be number of things. Are the required kexts in your EFI/Extensions/ folder? Especially AppleDecrypt and IntelCPUPMDisabler. Try using your boot132 disk and at the loader press F8 and then type 80 (First HD) or 81 (Second HD). If that fails then try -x for safe boot.

 

Good Luck!

 

I didn't know there are required kexts that I need for that folder. I just copied the kexts from System/Library/Extensions from the fresh retail install. Was that not sufficient? Is there any other required kexts to boot 132? Where could I find them?

 

Thanks very much for your help!

Link to comment
Share on other sites

I didn't know there are required kexts that I need for that folder. I just copied the kexts from System/Library/Extensions from the fresh retail install. Was that not sufficient? Is there any other required kexts to boot 132? Where could I find them?

 

Thanks very much for your help!

 

The function of the Extensions in the EFI partition is to override or disable the kext in /S/L/Extensions. What would be the point in copying all of /S/L/Extensions to the EFI partition? So they could override themselves?

 

You will absolutely need one of the decrypt kext, like dsmos.kext, in the EFI partition Extensions or else in /S/L/E. What else you may need depends on your system configuration and how close it matches to Apple supplied hardware.

 

As for where to locate the required kext, they are all listed in one or another of the threads in this sub-forum. Remember, Google is your friend.

Link to comment
Share on other sites

Awesome, I'm going to update my EFI partition and give this a go. Thanks. :)

Does Munky or anyone else know their way around Fdisk? I've managed to build a Shellscript file that installs this bootloader automatically, it all works until I have to do the "./fdisk -e /dev/rdiskX" command... I want it to make the command so it doesn't need "f 1 w (y) q" to be typed in...

 

If this could be automated somehow that would be great, even if external files are needed...

 

I could skip over this bit but I'd rather not... I'll be more than happy to post up the script once it's done. :(

I created a script to run all these commands, but I made it specifically for the Gigabyte GA-EX58-UD5 link.

 

All you need to do is:

./fdisk -e /dev/rdiskX < fdisk_makeactive.commands

Then write the commands exactly the way you need them typed in the fdisk_makeactive.commands file (make sure it's PlainText and not RichText). This sends the contents of the text file as input to fdisk - Easy huh?... I've attached the script and commands file for examples.

EFI_BOOT_INSTALL_SCRIPTONLY.zip

Link to comment
Share on other sites

The function of the Extensions in the EFI partition is to override or disable the kext in /S/L/Extensions. What would be the point in copying all of /S/L/Extensions to the EFI partition? So they could override themselves?

 

You will absolutely need one of the decrypt kext, like dsmos.kext, in the EFI partition Extensions or else in /S/L/E. What else you may need depends on your system configuration and how close it matches to Apple supplied hardware.

 

As for where to locate the required kext, they are all listed in one or another of the threads in this sub-forum. Remember, Google is your friend.

 

Thanks for your help. I have installed the dsmos kext and it is still giving me problems. I have attached the error messages that comes up when I try to boot from hard disk, hope that will give you more idea of what problems I am having. Thanks!

post-330358-1229486681_thumb.jpg

Link to comment
Share on other sites

are permissions of the kexts on EFI partition critical?

 

 

 

heres whats in my EFI Extensions folder

 

ACPIPS2Nub.kext

ApplePS2Controller.kext

IntelCPUPMDisabler.kext

ALCinject.kext

AppleSMBIOS.kext

SMBIOSEnabler.kext

AppleACPIPlatform.kext

IOAHCIFamily.kext

dsmos.kext

AppleAHCIPort.kext

IOATAFamily.kext

AppleHDA.kext

IONetworkingFamily.kext

 

does this look reasonable? anything obviously missing or that shouldn't be there?

 

this is for asus P5W

 

i didn't do the usual kext chnages when updating to 10.5.5, because the whole point of doing it this way is not to have to right? the above kexts should override.

 

BTW the message "display: family specific matching fails" i presume this is nothing to worry about and is just because i havent tried to support my vid card yet. It boots with -x and still gives this message... it says it a lot of times tho...

Link to comment
Share on other sites

hats off munky

 

working kosher on a GA-p35-ds3r v2.0, fresh pure vanilla install from 10.5 retail + 10.5.6 combo update

 

in EFI extensions only:

disabler.kext

dsmos.kext

HDAEnabler.kext

OpenHaltRestart.kext

 

added EFI strings (7600gs, eth, HDEF) to custom com.apple.Boot.plist and run AppleHDAPatcher to fix sound

 

EDIT: mmhhh, sleep not working

Link to comment
Share on other sites

while followinging munkys instructions at the make bootable bit i get this

 

bash-3.2# ./fdisk -e /dev/rdisk2

Enter 'help' for information

fdisk: 1> f 1

Partition 1 marked active.

fdisk:*1> w

Device could not be accessed exclusively.

A reboot will be needed for changes to take effect. OK? [n] y

Writing MBR at offset 0.

fdisk: 1> q

 

 

is this normal?

 

also:

 

bash-3.2# mkdir /Volumes/EFI/.fseventsd

mkdir: /Volumes/EFI/.fseventsd: File exists

 

 

?? this was on newly partitioned drive!

 

 

also

 

bash-3.2# sudo ./update.sh

Updating EFI boot cache

mv: rename /Volumes/EFI/System/Booter/Extensions.mkext to /Volumes/EFI/System/Booter/Extensions.mkext.previous: No such file or directory

Link to comment
Share on other sites

are permissions of the kexts on EFI partition critical?

Yes, Kext Permissions are critical, but permissions are taken care of by the update.sh script.

 

[From update.sh]

chmod -R 644 /Volumes/EFI/Extensions
chown -R root:wheel /Volumes/EFI/Extensions

 

does this look reasonable? anything obviously missing or that shouldn't be there?

this is for asus P5W

Check the Hardware forums...

 

Device could not be accessed exclusively.

 

mkdir: /Volumes/EFI/.fseventsd: File exists

 

mv: rename /Volumes/EFI/System/Booter/Extensions.mkext to /Volumes/EFI/System/Booter/Extensions.mkext.previous: No such file or directory

All these responses are normal...

Link to comment
Share on other sites

ah the script does it , cool thanks!

 

great to know the terminal responses are normal, i thought they must be, but i'm new so better to ask...

 

yes i checked the P5W thread, but there's many different solutions and different lists of kexts, and I don't understand what they all do... and because they are all about hacking s/l/e theres no info on what might not work from EFI partition...

 

when i used kexts that work fine as part of my kalyway install it broke the EFI booting, so clearly its not just a case of using the same things in EFI extensions that you would use in s/l/e

Link to comment
Share on other sites

while followinging munkys instructions at the make bootable bit i get this

[...]

is this normal?

 

Yes, on four installs -- two different machines -- I've seen each of those three bits of funkiness myself.

 

"mkdir: /Volumes/EFI/.fseventsd: File exists"

 

That one has me stumped as well, but it all works so....

 

Thanks to munky from me as well. :) I spent quite awhile looking at different options for installing OS X and this seems the most forward-thinking and clean, despite the loinger learning curve vs a builtup distribution (MSIWindOSX86) so I went for it. Positive success on a Wind netbook and DFI LP JR desktop. (I'm holding off on 10.5.6 untill I have an external drive to use as a standalone test environment with the Wind.)

 

Here are my (painfully detailed) experiences with installing using this method for anyone interested:

http://forums.msiwind.net/viewtopic.php?f=32&t=5413

http://forum.insanelymac.com/index.php?sho...13331&st=80

Link to comment
Share on other sites

when i used kexts that work fine as part of my kalyway install it broke the EFI booting, so clearly its not just a case of using the same things in EFI extensions that you would use in s/l/e

Yes it is, but there are some subtleties that are not mentioned in the tutorial.

 

Sometimes you need to increase the version/probe score of the kexts to ensure they override the ones in /System/Library/Extensions/.

 

The kexts that are on the EFI partition don't automatically override the ones in S/L/E, the kexts that will be loaded are chosen by version number and probe score. The kext with the higher version or probe score will be used. If the kexts on the EFI partition have a lower version or probe score they will not be used. You can change the version/probe score of the kext by showing contents of the kext, and editing the info.plist. It's a good idea to "touch" the kext using terminal after you save the into.plist.

 

I usually change all my kexts on the EFI partition to 9.9.9... You can also delete the conflicting kexts from S/L/E, but that defeats the purpose of EFI Partition booting.

Link to comment
Share on other sites

 Share

×
×
  • Create New...