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

Hello,

 

I have successfully installed Leopard and I'm now following the steps to boot from the EFI partition.

 

I was able to format the EFI partition.

 

When I type

 

./fidsk -f boot0 -u -y /dev/rdisk0

I get the error:

 

fdisk: /dev/rdisk0: Permission denied

 

I've searched around for a couple days to no avail ... but so far everything else has worked perfectly.

 

thanks.

 

Were you running as root?

Link to comment
Share on other sites

hello

 

try to use the kext package for your mobo included in this link

 

http://forum.insanelymac.com/index.php?showtopic=128954

 

Tried that (but offcourse this has nothing to do with kexts) because he doesn't seem to pass to stage1 boot...

 

following happens:

 

boot0: GPT

boot0: HFS+

boot0: booting

boot0: done

 

than blinking cursor

 

thanks anyway for trying to help

Link to comment
Share on other sites

Hi guys,

 

Nice jobs munky! but i try in fresh and clean install of 10.5.5 new mac dvd and no luck, all time have RTC error, and s BOOT file come w .ZIp dont is capable read DSDT file.

 

this way how i can make for solve this problem? please anu help is welcome.

 

thx!

Link to comment
Share on other sites

I admit I haven't read through this whole thread. However, I've read most of it more than once. That disclaimer out of the way... ;)

 

I used this mechanism to install a retail disk onto a Dell Inspiron 1318. I used a Dell Boot-132 CD for the initial configuration and copied all the KEXT files into the EFI partition (and ran update.sh). Upon reboot, I noticed a few problems (such as no sound). And the keyboard/mouse pad didn't work.

 

After rooting 'round for a while, I just installed the PS2 packages and moved the AppleHDA package into S/L/E (all the while whining about my beautiful vanilla install). It worked. Keyboard and mouse OK and sound is there.

 

So my question is: is there a way to tell the silly OS to ignore that other (possibly later) version of a KEXT file and use the one in the EFI partition? That's all I need to make this a "perfect" vanilla install!

 

thank for all the hard work put into this, y'all!

 

Dan

Link to comment
Share on other sites

I admit I haven't read through this whole thread. However, I've read most of it more than once. That disclaimer out of the way... ;)

 

I used this mechanism to install a retail disk onto a Dell Inspiron 1318. I used a Dell Boot-132 CD for the initial configuration and copied all the KEXT files into the EFI partition (and ran update.sh). Upon reboot, I noticed a few problems (such as no sound). And the keyboard/mouse pad didn't work.

 

After rooting 'round for a while, I just installed the PS2 packages and moved the AppleHDA package into S/L/E (all the while whining about my beautiful vanilla install). It worked. Keyboard and mouse OK and sound is there.

 

So my question is: is there a way to tell the silly OS to ignore that other (possibly later) version of a KEXT file and use the one in the EFI partition? That's all I need to make this a "perfect" vanilla install!

 

thank for all the hard work put into this, y'all!

 

Dan

 

There is a guide by ~Galaxy in one of the posts in the "New Releases" slimbuild thread that covers this better than I am able to do. However, the short answer is that you need to edit the info.plist file in your EFI partition kext. The first thing to do is increase the version number for the override kext so it is higher than those supplied by Apple. If that doesn't resolve the problem, the next, somewhat more complicated, step is to add/increase the ioprobe score. For that, you will need the ~Galaxy explanation.

 

Good luck.

Link to comment
Share on other sites

Has anyone tried to dual boot with vista on the same hard drive?

 

I was able to get the efi partition working, i already figured out all the kexts i need and took me a long time to get 100% working.

 

I can't install everything all over again. Is there anyway i can dual boot without having to erase my system?

Link to comment
Share on other sites

Has anyone tried to dual boot with vista on the same hard drive?

 

I was able to get the efi partition working, i already figured out all the kexts i need and took me a long time to get 100% working.

 

I can't install everything all over again. Is there anyway i can dual boot without having to erase my system?

 

The current releases of Chameleon, the base for the EFI boot, don't support it on the same drive as OS X. However, it does support pressing F8 and then Esc to get a prompt asking for a hex drive ID.

 

What that means is you can put a copy of OS X, Linux or Vista on another drive and then, when the boot process is just starting, press F8 -> Esc -> Hex ID for second drive -> Enter. That will switch to the boot loader on the second drive. I currently use that mechanism to boot Linux and an emergincy copy of OS X.

Link to comment
Share on other sites

Thank You Munky for a truely amazing technique/guide. This system worked for me first time, no dramas what so ever. Installed my 10.5.4 Retail Copy 100% Vanilla and updated to 10.5.5 via Apple and all I broke was sound. Easily sorted. I carefully selected the finest kext gathered from generic.iso,karaakeha1 and LTL. Never before has it been so easy and my boot time is 3 seconds. Thank You. :D

Link to comment
Share on other sites

wow..

That's a bummer =/

The problem is that i dont have another hard drive...

So I have to put OSX on a exclusive hard drive?I can't dual boot at all?Not even with vista bootloader?(easyBCD)

 

The current releases of Chameleon, the base for the EFI boot, don't support it on the same drive as OS X. However, it does support pressing F8 and then Esc to get a prompt asking for a hex drive ID.

 

What that means is you can put a copy of OS X, Linux or Vista on another drive and then, when the boot process is just starting, press F8 -> Esc -> Hex ID for second drive -> Enter. That will switch to the boot loader on the second drive. I currently use that mechanism to boot Linux and an emergincy copy of OS X.

Link to comment
Share on other sites

Munky, could you add:

 

 if [ ! -e "/Volumes/EFI/System/Booter/Extensions.mkext" ]; then
  touch /Volumes/EFI/System/Booter/Extensions.mkext
fi

 

to your update.sh script?

 

This will prevent users from getting an error the first time they run the update script /Volumes/EFI/System/Booter/Extensions.mkext not found when it attempts to copy it to the backup location.

 

I'm sure there's a better way to handle this, but it's a quick fix I came up with while reworking it for use with my GA-Boot-132 project.

Link to comment
Share on other sites

Munky, could you add:

 

 if [ ! -e "/Volumes/EFI/System/Booter/Extensions.mkext" ]; then
  touch /Volumes/EFI/System/Booter/Extensions.mkext
fi

 

to your update.sh script?

 

This will prevent users from getting an error the first time they run the update script /Volumes/EFI/System/Booter/Extensions.mkext not found when it attempts to copy it to the backup location.

 

I'm sure there's a better way to handle this, but it's a quick fix I came up with while reworking it for use with my GA-Boot-132 project.

I agree, it would be nice to avoid the first time error. However, I think a slightly different logic would be better. I would suggest:

 

if [ -e "/Volumes/EFI/System/Booter/Extensions.mkext" ]; then
  mv /Volumes/EFI/System/Booter/Extensions.mkext /Volumes/EFI/System/Booter/Extensions.mkext.previous
fi

 

 

 

wow..

That's a bummer =/

The problem is that i dont have another hard drive...

So I have to put OSX on a exclusive hard drive?I can't dual boot at all?Not even with vista bootloader?(easyBCD)

 

Well, depending on your need, you could wait a short while. The next release of Chameleon is intended to correct this problem.

Link to comment
Share on other sites

Munky, thanks for the great guide and, most of all, the walk-through of how it works and it all means. Thanks to all the others who keep on helping out (yes, you BladeRunner ;) ).

 

I've followed the guide and am able to install Leopard without an issue, but I can't boot it up. I got stuck on boot1: startupfile (pic below - thanks to Mr. BlurryCam).

 

2ytyxbt.jpg

 

Any ideas on what could be happening here?

 

My board is a P5W DH and I'm using BIOS settings and Boot-132 disk following Macita's guide. I can boot back into Leo using the Boot-132 CD.

 

As it was my first try I did not add any kexts on the Extensions/ folder - could this be the root of the problem? Should I copy all the Extensions that I use for the Boot-132 CD to the EFI partition?

Link to comment
Share on other sites

Hi Munky

 

maybe someone asked you before but I would like to know if you think there will be problems with 10.5.6

 

I'm asking because people says that with chameleon they have to use PCEFI v9 if not 10.5.6 will not work

 

do we have to do something?

 

My Leo 10.5.5 works fine with your install

 

I've tried to ask with some treads but no one reply me about this

Link to comment
Share on other sites

I admit I haven't read through this whole thread. However, I've read most of it more than once. That disclaimer out of the way... :wacko:

 

I used this mechanism to install a retail disk onto a Dell Inspiron 1318. I used a Dell Boot-132 CD for the initial configuration and copied all the KEXT files into the EFI partition (and ran update.sh). Upon reboot, I noticed a few problems (such as no sound). And the keyboard/mouse pad didn't work.

 

After rooting 'round for a while, I just installed the PS2 packages and moved the AppleHDA package into S/L/E (all the while whining about my beautiful vanilla install). It worked. Keyboard and mouse OK and sound is there.

 

So my question is: is there a way to tell the silly OS to ignore that other (possibly later) version of a KEXT file and use the one in the EFI partition? That's all I need to make this a "perfect" vanilla install!

 

thank for all the hard work put into this, y'all!

 

Dan

 

I have found that with my board, in order to get it to even look @ the kexts in the EFI partition I have to remove the mkext, and instead put all the extensions in a subfolder EFI/System/Booter/Extensions/

it shows a quick flash on startup, as it cache's the 3 kexts present (AppleDecrypt, cpupower override, and SMbios thing) the Audio kext I use is is in the S/L/E/ other then that 100% vanilla.

Link to comment
Share on other sites

Munky, thanks for the great guide and, most of all, the walk-through of how it works and it all means. Thanks to all the others who keep on helping out (yes, you BladeRunner :P ).

 

I've followed the guide and am able to install Leopard without an issue, but I can't boot it up. I got stuck on boot1: startupfile (pic below - thanks to Mr. BlurryCam).

 

2ytyxbt.jpg

 

Any ideas on what could be happening here?

 

My board is a P5W DH and I'm using BIOS settings and Boot-132 disk following Macita's guide. I can boot back into Leo using the Boot-132 CD.

 

As it was my first try I did not add any kexts on the Extensions/ folder - could this be the root of the problem? Should I copy all the Extensions that I use for the Boot-132 CD to the EFI partition?

 

The short answer is - Yes. That's what the EFI partition is for.

Link to comment
Share on other sites

Found the problem: I forgot one special step

7) cp boot-turbo-munky.bin /Volumes/EFI/boot

 

The system is booting now. Thanks a lot!

 

Is a kext inside a mkext the same as the original kext? What I mean is, if I take the kexts from Macita's Boot-132 CD (which has only one mkext inside of initrd) are those kexts as good as the originals or reduced/compressed versions?

Link to comment
Share on other sites

Found the problem: I forgot one special step

7) cp boot-turbo-munky.bin /Volumes/EFI/boot

 

The system is booting now. Thanks a lot!

 

Is a kext inside a mkext the same as the original kext? What I mean is, if I take the kexts from Macita's Boot-132 CD (which has only one mkext inside of initrd) are those kexts as good as the originals or reduced/compressed versions?

 

They're just "as good"

 

the mkext will make things boot faster than having all the kexts load separately.

Link to comment
Share on other sites

Hi All,

 

EDIT: I've managed to get this kinda working now (not sure exactly how - tried lots of things and on the next reboot the bootloader worked)

 

So... the bootloader's now working, but I'm getting a small "no-entry" sign appearing during start-up. But that's cool - I guess I just need to work on getting the right kexts in my Extensions folder. I've been used to using .pkgs and pre-baked options in distros from Jas, et al, so this will just require a bit more learning and hacking on my part.... :)

 

Sorry to be a complete n00b on this but I'm falling at a pretty early hurdle and can't quite suss out what's going on.

 

I've followed munky's instructions to the letter (thanks munky!). But when I try to boot I simply get:

boot0: GPT
boot0: HFS+
boot0: error

This to me suggests the (stage 1?) bootloader isn't quite right.

My system has lots of HDs in it but the disk I'm using for OSX86 is the first one and is a single GPT partition on a 500GB SATA drive - ie it's disk0 with disk0s1 my EFI partition.

 

As I thought the bootloader was at fault, I've repeated the

dd if=boot1h of=/dev/disk0s1

step, which I would assume would over-write my EFI partition. However, if I then re-mount it, I see all my stuff is still in /Volumes/EFI and it's not been wiped.

 

I accept it's not that easy to diagnose my issues with only this info but I'd really appreciate some pointers. Googling for the errors I'm seeing doesn't seem to bring up many hits - so any help would be welcomed.

 

My HD setup is as follows:

bash-3.2# diskutil list
2008-11-26 21:33:02.075 diskutil[219:10b] _CFGetHostUUIDString: unable to determine UUID for host. Error: 35
2008-11-26 21:33:02.421 DiskManagementTool[220:10b] _CFGetHostUUIDString: unable to determine UUID for host. Error: 35
/dev/disk0
   #:					   TYPE NAME					SIZE	   IDENTIFIER
   0:	  GUID_partition_scheme						*465.8 Gi   disk0
   1:						EFI						 200.0 Mi   disk0s1
   2:				  Apple_HFS OSX86				   465.4 Gi   disk0s2
/dev/disk1
   #:					   TYPE NAME					SIZE	   IDENTIFIER
   0:	 FDisk_partition_scheme						*298.1 Gi   disk1
   1:			   Windows_NTFS Data (SATA)			 298.1 Gi   disk1s1
/dev/disk2
   #:					   TYPE NAME					SIZE	   IDENTIFIER
   0:	 FDisk_partition_scheme						*298.1 Gi   disk2
   1:			   Windows_NTFS Vista Boot			  298.1 Gi   disk2s1
/dev/disk3
   #:					   TYPE NAME					SIZE	   IDENTIFIER
   0:		CD_partition_scheme						*807.2 Mi   disk3
   1:	   CD_ROM_Mode_2_Form_1 ISOEN				   40.2 Mi	disk3s0

...and my /Volumes/EFI directory looks like this:

bash-3.2# ls -rtal
 total 152
 -rwxr-xr-x@  1 root  admin  63744 26 Nov 19:05 boot
 -rwxr-xr-x@  1 root  admin	724 26 Nov 19:05 update.sh
 drwxr-xr-x   3 root  admin	102 26 Nov 19:06 System
 drwx------   5 root  admin	170 26 Nov 19:08 .fseventsd
 drwxr-xr-x   8 root  admin	340 26 Nov 19:22 .
 drw-r--r--  14 root  wheel	476 26 Nov 21:11 Extensions
 -rw-r--r--   1 root  admin   6199 26 Nov 21:11 update.log
 drwxrwxrwt@  7 root  admin	238 26 Nov 21:17 ..
 bash-3.2# pwd
 /Volumes/EFI

Thanks,

 

Bobsta

Link to comment
Share on other sites

Hi All,

 

I'm falling at a pretty early hurdle and can't quite suss out what's going on.

 

Bobsta

 

My suggestion: set up your EFI partition and such (follow Munky's tutorial) with just the disk you'll be using plugged in. Once you get things running like that, THEN plug in the rest of your disks. It's not that having the other disks plugged in makes things break, but it certainly adds a lot of complexity and room for mistakes.

 

I've had a similar problem due to all the disks I had, I'm not sure what I did wrong the second time around, but it was much easier for me to get things up and running again without all the extra disks.

Link to comment
Share on other sites

Successfully reinstalled my previous system (BrazillMac on MBR disk) following this guide. I'm very satisfied - thanks for this great tutorial. Now I'm running 99% vanilla Leo (only) with non-vanilla AppleHDA.kext from Alain in /S/L/E/ and these kexts in hidden EFI partition:

 

IONetworkingFamily.kext (from 10.4.9)

HDAEnabler.kext (from Alain)

IntelCPUPMDisabler.kext

dsmos.kext

 

...and of course com.apple.Boot.plist with EFI strings.

 

BTW: is there any way to boot x86 hack without dsmos.kext ?

 

thanks a lot !

Link to comment
Share on other sites

im having some issues getting my custom IO80211 family.kext to load my Broadcom 4315 card to work. It's in the EFI partition and doesn't work, and just to see if it would work, i installed it to the system/library/extensions w/kext helper. not that I wanna mess with that folder, cuz that totally defeats the purpose of doing all this. is there some EFI strings I need to add maybe? Any help on that would be appreciated.

Also couldn't get sound working, had to use ALC268 installer to get that to work. Anyone know exactly what, if anything, i should extract from the ALC268 installer package and put on the EFI partition or if that would even help.

Link to comment
Share on other sites

im having some issues getting my custom IO80211 family.kext to load my Broadcom 4315 card to work. It's in the EFI partition and doesn't work, and just to see if it would work, i installed it to the system/library/extensions w/kext helper. not that I wanna mess with that folder, cuz that totally defeats the purpose of doing all this. is there some EFI strings I need to add maybe? Any help on that would be appreciated.

Also couldn't get sound working, had to use ALC268 installer to get that to work. Anyone know exactly what, if anything, i should extract from the ALC268 installer package and put on the EFI partition or if that would even help.

 

You may have already checked this, but ~Galaxy did a very good writeup on the causes and corrections for kext that don't want to load from the EFI partition. It's in Slimbuild by ~Galaxy

 

Give it a read if you havent already. It may help.

Link to comment
Share on other sites

Hi guys iam really looking into this but i have a favour to ask,..

since my PC is not core duo, and its based on chipsets: p31 and ich7

by the way i dont have AHCI on the BIOS but have sata in the Motherboard

 

i would like to know which kexts are necessary to put on the boot efi disk (not the drivers for vga, sound,.. etc)

i mean the kexts that would keep the system bootable till 10.5.5 update

 

i would like to prepeare them and try to find them before i proceed with this

so any help would be very appreciated.

Link to comment
Share on other sites

 Share

×
×
  • Create New...