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

** DEPRECATION NOTICE: This functionality is coming to a Chameleon release very soon. Once Chameleon supports this approach, this project will be retired. Thanks to everyone who uses this bootloader, thanks for the support and the kind words :thumbsup_anim: **

I was looking at their website, and Chameleon is on 1.0.11. So the above notice, is for whatever Chameleon number comes next after 1.0.11? I'm confused about the timing and dates. Building an i7 machine.

Link to comment
Share on other sites

hi dudes....

 

same here bladerunner

dsdt seems to load correctly but still panics without disabler....

seems p4 isnt supported right....we need to clear up things

 

so long

 

Another P4 user here.

 

I see Apple logo is gone, so v6.1 was successfully installed. But without disabler.kext, got panic on AppleIntelCPUPowerManagement.

 

No lucky for us, although I hope I can move forward 10.5.6 without issues.

 

Cheers

Link to comment
Share on other sites

I have re-written the last line of umount to erase Volumes/EFI.

Why did you write it could be dangerous to do that?

If your partition wasn't unmounted correctly, then you'll loose all of your data on it. It already happened to me :(

Basically you could just check if the partition is still mounted before calling rm.

 

@bladerunner: You are completely right about the root thing, I simply forgot. The fsck is a pretty nice idea as well, I am going to update my script!

 

- mcsmart

 

EDIT:

Already updated the script.

Link to comment
Share on other sites

I just wish to express my thanks to munky for putting together this excellent guide.

 

Here's an overview of my AMD system and the files I used to get it working:

 

System specs:

Mainboard: K8T Neo2 v2.0 VIA K8T800 Pro + 8237R Plus Chipset Based

CPU: Athlon64 3200+ (supports SSE3)

RAM: 2GB DDR-400

Video: NVidia Geforce 7800GS 256MB (AGP)

 

Kernel Used: voodoo RC Using Voodoo Release 1 now (of course). LINK to release thread.

 

The Boot-132 ISO I used is named orig_boot-132.iso.

 

Additional Boot-132 files I used:

IONetworkingFamily.kext (from 10.5.2 Leo4All disk) to get my Realtek 8110C NIC working.

AppleVIAATA.kext (to avoid the "still waiting for root device..." problem)

System.kext (stock 10.5.5 version. It is required by the voodoo kernel to enable the USB hot-swapping functionality)

 

Other files:

I had originally included the AppleAC97Audio.kext file in my Boot-132 CD but it does not load at boot (this is a known issue).

The file has to be copied over to the /System/Library/Extensions/ folder of your Leo partition.

 

All files are attached to this post except for the kernel, which you can download from the dev's site.

 

I also wrote a little guide based on Sherry Haibara's discovery, that the slimbuild script was unable to create correctly working ISO images for AMD systems (the developer of slimbuild is working on a fix).

How to create a Boot-132 for AMD. (Thanks again for the help, Sherry).

 

Comments/Issues:

- I used the retail 10.5.4 DVD for the Leopard installation. I then started the "Software Update..." application from the OS X menu bar and everything worked perfectly.

- A few applications wouldn't run in 64bit mode, like the Samsung ML-2510 VISE-X based installer (VISE-X is not good, IMO).

- I am unable to use Sleep/Wake in 64bit at the moment but it could have something to do with my kext configuration.

- Video Injectors didn't work anymore, so I had to create an EFI string for my com.apple.Boot.plist file. Solution here.

 

Thank you, munky and all of the developers!! :( You have made a dream come true.

 

 

EDIT: Here's the thread with a collection of Boot-132 ISOs. LINK

System.kext.zip

AppleVIAATA.kext.zip

IONetworkingFamily.kext.zip

AppleAC97Audio.kext.zip

orig_boot_132.iso.zip

Link to comment
Share on other sites

If your partition wasn't unmounted correctly, then you'll loose all of your data on it. It already happened to me ;)

Basically you could just check if the partition is still mounted before calling rm.

 

@bladerunner: You are completely right about the root thing, I simply forgot. The fsck is a pretty nice idea as well, I am going to update my script!

 

- mcsmart

 

EDIT:

Already updated the script.

 

I should have mentioned this in my previous post. This section of your second script isn't needed because Munkys' update script already does it.

 

echo -n "Fixing Permissions:"
chown -R root:wheel /Volumes/EFI/Extensions/
chmod -R 755 /Volumes/EFI/Extensions/
echo " [OK]"

 

Also, the safest way to remove the directory is "rmdir /volumes/EFI". It will only function if the directory is empty.

 

Sorry for the oversight.

Link to comment
Share on other sites

echo -n "Fixing Permissions:"
		 chown -R root:wheel /Volumes/EFI/Extensions/
		 chmod -R 755 /Volumes/EFI/Extensions/
		 echo " [OK]"

 

A better way to check if an operation actually did go okay, is to check the exit flags of the commands executed along the way. Using the above example, you could do (ok, I don't know why it's randomly indenting some of the code below):

echo -n "Fixing Permissions:"
   result=0
   chown -R root:wheel /Volumes/EFI/Extensions/
   status=$?
  [ $status -ne 0 ] && result=$status
 chmod -R 755 /Volumes/EFI/Extensions/
 status=$?
 [ $status -ne 0 ] && result=$status

 [ $result -eq 0 ] && echo " [OK]" || echo " [FAIL]"

 

If any of those commands fail, the end status will report that. Also very useful when calling unmount, which sometimes tends to fail (fseventsd?).

 

Further, to finally remove the /Volumes/EFI directory (I haven't checked the actual code) but I'm assuming "rm -rf" was called, hence clearing out someone's data (read above) when the unmount failed. A safer way to ensure only the empty directory and mount point is removed is to call "rmdir", instead. It will only succeed in removing an empty directory, which can be used together with umount and the error checking code above to report when a unmount has failed.

Link to comment
Share on other sites

I see people talking about creating scripts so I thought I would add what I have done in case it helps anyone.

 

Awhile ago, I was also annoyed with mounting and unmounting my EFI partition. I also found it cumbersome to constantly use the terminal. So I created a simple Applescript application bundle that does the following:

 

Mounting:

Let you select an EFI partition if there are multiple partitions found on your computer.

Make the EFI volume directory.

Mount the partition.

Set all the permissions so that it can be edited by the user.

Open the folder in Finder for easy editing (also shows in the side bar).

Unmounting:

Run the update script (which also resets the permissions).

Unmount.

Ask for a force unmount if necessary.

Use "rmdir" to remove EFI directory.

Ask if you want to reboot.

This script was really only created for my own person use. It is not very fancy and there probably is not as much error handling as there should be. Although, I use it all the time and don't have many problems with it.

 

Feel free to use it, edit it, incorporate it, completely hack it up, or whatever you want. I just thought I would post it to help out.

 

DISCLAIMER: I take no responsibility for anything this script may do to your system! As with all scripts, look at the code before running it; and use at your own risk!

 

Here is the Applescript application bundle: EFI_Mounter.zip

Here is the Applescript text file: EFI_Mounter.txt

Link to comment
Share on other sites

maximal 3 tasten zulässig

which means

only 3 butoons allowed

Hmm... I can't say I have ever seen that. It is scripted to create a new button on the dialog for every EFI partition it finds. It might be that there is a max of 3 buttons allowed on the dialog box. Do you happen to have more than three GPT drives on your computer?

 

I have never had more than three GPT drives connected at one time, so I never noticed it.

 

Edit: I just tested it and that is the problem. The script will not work (without editing) if you have more than three GPT drives on your computer.

Edited by Koen2X
Link to comment
Share on other sites

great koen

but i have a problem with your Mounter after third time opening it he gives an error which makes no snense

maximal 3 tasten zulässig

which means

only 3 butoons allowed

????

This is exactly the reason why you guys should stick to munky's fairly simple to follow procedure instead of wasting your time with some scripts. No disrespect to the authors of the scripts.

 

If you don't wan't to put the most minimal of efforts into this and expect to be spoon fed every time, you will remain a noob forever and have no idea of what you are actually doing and run into troubles time and time again.

 

Just my 2 cents.

Link to comment
Share on other sites

If you don't wan't to put the most minimal of efforts into this and expect to be spoon fed every time, you will remain a noob forever and have no idea as to what you are actually doing and run into troubles time and time again.

I have to agree... These scripts are really not for noobs, they are just to help out with the repetitive tasks of mounting and unmounting. You should be familiar with doing these tasks manually before using any of these scripts.

 

If I had more time, I would've spruced it up a bit and added more comments and error handling to make it suitable for people that are unfamiliar with the process.

Link to comment
Share on other sites

i did it manualy several times before.

I am now in a stage of testng lots of kexts, so a script like yours would be very helpfull.

I have 3 GPT drives plus a USB HD, but i think i have to restart.....

Are there any files in the App Support folder or something like this to delete/clean reinstall ( i think not).

 

But back to topic, munkys method works.

But i only use Appledecrypt.kext and a realtekr1000.kext also a DSDT.aml and a com.apple.boot.plist with 8800GT EFI strings.

All on 10.5.5

It seems to work but he shows my internal drives as externals.

When i try to add a AHCIPort.kext to my used kexts, he will not start anymore, same with JMicron.kext and several other kexts.

What did you guys do to show internal drives as internal?

What kext sholud i use else?

OHR.kext?

any bluetooh kext for my BT stick?

Jmicron for SATA HD on purple Jmicron Port?

P35 DS.4 Rev. bios f13 8800GT Q6600

Link to comment
Share on other sites

I have 3 GPT drives plus a USB HD

If I can find some time, I might change the script to get rid of the limitation.

 

What did you guys do to show internal drives as internal?

What kext sholud i use else?

You can try the IOAHCIBlockStorageiconfix.kext that can be found in a post from atka here. It worked well for me.

Link to comment
Share on other sites

If I can find some time, I might change the script to get rid of the limitation.

You can try the IOAHCIBlockStorageiconfix.kext that can be found in a post from atka here. It worked well for me.

 

You can fix the script like this - get rid of the buttons and use a list. Maybe like the example below.

 

	set AppleScript's text item delimiters to x
if number of items in listOfDisks is greater than 1 then
	choose from list listOfDisks with prompt "Multiple EFI partitions found:
Please select one and click OK!"
	set the partitionInfo to the result
	if partitionInfo is equal to false then return
else
	set partitionInfo to item 1 of listOfDisks
end if

Link to comment
Share on other sites

Hi,

 

Download and already testing....

 

Thx munky !

 

EDIT: Yes!! boot fine, my DSDT file is load and have full VANILLA Leo install :D

 

In EFI/Extensions folder only need:

 

AppleDecrypter.kext

AppleHDA.kext (patched for XBX2)

 

Now only need made GFX string for my 8800

 

Nice job munky :blink: !

 

Howdo you test.

DSDT file is load????

Link to comment
Share on other sites

You dont have to fix the EFI Mounter, it was just my USB which was the 4th device, but the Mounter App also hangs after disconnecting the USB Drive!

This is a bit tricky, but who cares, GREAT APP, thanks a lot you saved my day.

 

For the drive problem i found a LegacyIOAHCIBlockStorage.kext

 

I patched my DSDT.aml wit the "885" Method, and it works with my P35 DS4 Rev.1 F13 Bios, Mic out is the line Out, but who cares.

 

The kext i am using now

LegacyIOAHCIBlockStorage.kext

Appledecrypt.kext

LegacyApplePIIIXATA.kext (but dont have any IDE, do i need?)

OHR.kext (do i need, will test.....)

RealtekR1000.kext (hmm, seems to be better)

 

Thanks to all you guys who this possible, never had such nich HackMac !

Link to comment
Share on other sites

Hey you guys,

 

I was wondering if anybody here has been able to replace the modified bootloader from this tutorial with the new EFIv9 bootloader from netkas. I copied it in the root folder of my EFI partition, but the computer just gets into a restart loop.

 

Thanks,

 

- hecker

Link to comment
Share on other sites

Your Method is really Great.

My Harddisk is faster then it ever was before.

Xbench gave a plus of 50% now he have a about 80 score, before he had 50 !

I only use LegacyIOAHCIBlockStorage.kext

 

Everybody who have problems running 10.5.5, be sure you have working com.apple.boot.plist for your Graficcard in you EFI dir !

Link to comment
Share on other sites

Your Method is really Great.

My Harddisk is faster then it ever was before.

Xbench gave a plus of 50% now he have a about 80 score, before he had 50 !

I only use LegacyIOAHCIBlockStorage.kext

 

Everybody who have problems running 10.5.5, be sure you have working com.apple.boot.plist for your Graficcard in you EFI dir !

 

What made it go so much faster?? Using Munky's method in general or something else??

Link to comment
Share on other sites

 Share

×
×
  • Create New...