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

samhannan: did u run as root? sudo -s before running the script.

 

bladerunner: thank you, i'll add that now.

 

EDIT: update.sh_v2.zip contains an updated script containing bladerunner's sanity checks - thx man :P

Link to comment
Share on other sites

samhannan: did u run as root? sudo -s before running the script.

 

bladerunner: thank you, i'll add that now.

 

EDIT: update.sh_v2.zip contains an updated script containing bladerunner's sanity checks - thx man :(

 

NP. If I ever figure out how to tell if a /dev/diskXsY is actually mounted I will send it along :P

Link to comment
Share on other sites

Well, it must have been too late last night when I was working on this. The answer to "is it mounted" was in front of me all the time. The check should look like this.

 

if [ $USER != "root" ]; then
  echo "Error ==> This script must be run as root"
  exit
fi
if [ ! -e "/Volumes/EFI/System/Booter" ]; then
 echo " Error ==> /Volumes/EFI does not exist"
 echo " Error ==> Your EFI partition must be mounted for this script to work"
 exit
fi

 

Hope it helps.

Link to comment
Share on other sites

OK so I managed to get update.sh to run and build /Volumes/EFI/System/Booter/Extensions.mkext with still the curtain of death coming down....

 

Do I still need my kext in /Voumes/EFI/System/Booter/Extensions - even though i built Extensions.mkext out of these (I moved them from /Voumes/EFI/System/Booter/Extensions to /Volumes/EFI/Extensions when I installed update.sh

 

I will post the log if the warnings in there are meaningful....remember these are the same kext i had been booting from successfully before too....

 

The only way I can seem to boot with this method is to make sure I still have all kext in /Volumes/EFI/System/Booter/Extensions - even if /Volumes/EFI/System/Booter/Extensions.mkext exists and is built from contents of /EFI/Extensions

 

Do I need to completely remove the /Volumes/EFI/System/Booter/Extensions folder all together if I have Extensions.mkext already in 'Booter' folder?

 

update log is

 

kextcache: ��36��\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/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/dsmos.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)
warning: kernel extension /Volumes/EFI/Extensions/IntelCPUPMDisabler.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)

Link to comment
Share on other sites

OK so I managed to get update.sh to run and build /Volumes/EFI/System/Booter/Extensions.mkext with still the curtain of death coming down....

 

Do I still need my kext in /Voumes/EFI/System/Booter/Extensions - even though i built Extensions.mkext out of these (I moved them from /Voumes/EFI/System/Booter/Extensions to /Volumes/EFI/Extensions when I installed update.sh

 

I will post the log if the warnings in there are meaningful....remember these are the same kext i had been booting from successfully before too....

 

The only way I can seem to boot with this method is to make sure I still have all kext in /Volumes/EFI/System/Booter/Extensions - even if /Volumes/EFI/System/Booter/Extensions.mkext exists and is built from contents of /EFI/Extensions

 

Do I need to completely remove the /Volumes/EFI/System/Booter/Extensions folder all together if I have Extensions.mkext already in 'Booter' folder?

 

update log is

 

kextcache: ��36��\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/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/dsmos.kext is missing dependencies (including in cache anyway; dependencies may be available from elsewhere)
warning: kernel extension /Volumes/EFI/Extensions/IntelCPUPMDisabler.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)

 

You should only have the mkext in /Volumes/EFI/System/Booter. The Extensions can stay where it is in the /Volumes/EFI folder.

 

When you say "curtain of death" it sounds like you are booting without the "-v" kernel flag. Is that correct? You see the gray screen with the Apple logo and then the curtain? If this is correct, try adding the -v kernel flag to your com.apple.Boot.plist. It sounds like a kernel panic and it would help to know some of the messages that are on the screen at the time.

 

--- Blade

Link to comment
Share on other sites

This methode is almost perfect, almost for me as i can't get some kext to load properly.

Here are the kexts witch still don't load :

- ALCinject.kext

- AppleHDA.kext

-JMicronATA.kext

-IOATAFamily.kext

-AppleAHCIPort.kext

 

I tried editing the Info.plis in the kexts but only Natit.kext worked so far with this methode... I also use the update.sh script without error but can see a lot of errors (the same as upon) in the log.

 

I boot without -f and have Extentions.mket (générated by script) in /Volumes/EFI/System/Booter/

 

Any help would be very apréciated,

 

PM!

Link to comment
Share on other sites

audio currently doesnt work from EFI partition.

 

the others... not sure. have you added OSBundleRequired root thing in the Info.plists?

 

are you sure they're not loaded? do kextstat in terminal.

Link to comment
Share on other sites

Doesn't anybody know a solution for the USB issue?

 

At the moment, for USB drives to be recognized, I need to kexload IOUSBMassStorageClass.kext.

 

Plus, my USB printer is not recognized if I turn it on after login.

 

preloading System.kext in the EFI partition doesn't work.

At the moment, I have:

AppleACPIPlatform

AppleDecrypt

AppleIntelPIIXATA

ApplePS2Controller

IntelCPUPMDisabler

SMBIOSEnabler

 

and modbin 9.4.0 kernel.

 

How would you solve such problem?!?!?

THANKS TO ANYBODY WANTS TO REPLY.

Link to comment
Share on other sites

audio currently doesnt work from EFI partition.

 

the others... not sure. have you added OSBundleRequired root thing in the Info.plists?

 

are you sure they're not loaded? do kextstat in terminal.

 

 

Hi, munky one more time very good job, everythings working.

 

I use at the same time an Extensions folder and an Extensions.mkext with any trouble.

Only Extensions.mkext is loaded

 

here is my tree:

 

/Volumes/EFI/boot

/Volumes/EFI/System

/Volumes/EFI/System/Booter

/Volumes/EFI/System/Booter/Extensions.mkext

/Volumes/EFI/System/Booter/Extensions

AppleACPIButtons.kext

IOStorageFamily.kext

IONetworkingFamily.kext

AppleSMBIOS.kext

AppleAHCIPort.kext

AppleIntel8254XEthernet.kext

AppleACPIEC.kext

AppleACPIPlatform.kext

IOAHCIFamily.kext

IOAHCIBlockStorage.kext

AppleACPIPCI.kext

IntelCPUPMDisabler.kext

dsmos.kext

 

With this set of kexts and EFI strings i get for me close to perfect results with my mobo and vanilla install,

only com.apple.Boot.plist is modded.

 

System profiler now reports correct data

 

Hardware:

 

Hardware Overview:

 

Model Name: Mac Pro

Model Identifier: MacPro3,1

Processor Speed: 2.4 GHz

Number Of Processors: 1

Total Number Of Cores: 4

L2 Cache: 8 MB

Memory: 2 GB

Bus Speed: 1.07 GHz

Boot ROM Version: MP11.005C.B08

Serial Number: CK034KMHK5B

 

Graphics/Displays:

 

Nvidia GeForce 7300 GT:

 

Chipset Model: Nvidia GeForce 7300 GT

Type: Display

Bus: PCIe

PCIe Lane Width: x16

VRAM (Total): 256 MB

Vendor: NVIDIA (0x10de)

Device ID: 0x0393

Revision ID: 0x00a1

ROM Revision: Nvidia GeForce 7300 GT OpenGL Engine [EFI]

Displays:

Display Connector:

Status: No display connected

L768:

Resolution: 1280 x 1024

Depth: 32-bit Color

Core Image: Hardware Accelerated

Main Display: Yes

Mirror: Off

Online: Yes

Quartz Extreme: Supported

Rotation: Supported

 

Disc Burning:

 

TSSTcorp CDDVDW SH-S202H:

 

Firmware Revision: SB00

Interconnect: ATAPI

Burn Support: Yes (Generic Drive Support)

Profile Path: None

Cache: 2048 KB

Reads DVD: Yes

CD-Write: -R, -RW

DVD-Write: -R, -R DL, -RAM, -RW, +R, +R DL, +RW

Write Strategies: CD-TAO, CD-SAO, CD-Raw, DVD-DAO

Media: Insert media and refresh to show available burn speeds

 

Memory:

 

CHAN A DIMM 0/J6H1:

 

Size: 1 GB

Type: DDR2 SDRAM

Speed: 800 MHz

Status: OK

Manufacturer: 0xAD00000000000000

Part Number: 0x0000FFFF

Serial Number: 0x48092D503537345336304350362D09352020

 

Serial-ATA:

 

Intel ICH7-R AHCI:

 

Vendor: Intel

Product: ICH7-R AHCI

Speed: 3.0 Gigabit

Description: AHCI Version 1.10 Supported

 

Network:

 

Ethernet:

 

Type: Ethernet

Hardware: Ethernet

BSD Device Name: en0

IPv4 Addresses: 192.168.0.10

IPv4:

Addresses: 192.168.0.10

Configuration Method: DHCP

Interface Name: en0

NetworkSignature: IPv4.Router=192.168.0.254;IPv4.RouterHardwareAddress=00:07:cb:c5:cb:d0

Router: 192.168.0.254

Subnet Masks: 255.255.255.0

 

At this time don't get a bug, need to check and use to see what happens but everything is working.

 

Will try to get Audio chip working, difficult with this mobo actually i use iMic.

Link to comment
Share on other sites

This methode is almost perfect, almost for me as i can't get some kext to load properly.

Here are the kexts witch still don't load :

- ALCinject.kext

- AppleHDA.kext

-JMicronATA.kext

-IOATAFamily.kext

-AppleAHCIPort.kext

 

I tried editing the Info.plis in the kexts but only Natit.kext worked so far with this methode... I also use the update.sh script without error but can see a lot of errors (the same as upon) in the log.

 

I boot without -f and have Extentions.mket (générated by script) in /Volumes/EFI/System/Booter/

 

Any help would be very apréciated,

 

PM!

I seem to be having the same issue...some kext not loading

I have no problem installing and booting with this method.........Munky, you're the best!

I have a ATI Radeion HD3650 1gb, that works great with driver this pkg.

When I install 10.5.0 there is no driver for this card, and I get just the generic display.

 

When I update to 10.5.3 or above the display comes up like a really busy carpet pattern.

From 10.5.3 on there is included the ATI drivers (what loads is ATIRadeonX2000.kext

 

When I updated to 10.5.5 from iATKOS 10.5.4 install I had to remove the ATI*.kext from extensions, and reload the driver pkg.

If the purpose is to keep the install EFI moded & install vanilla, I cannot do it that way

 

I have been installing with the kext from the gneric.iso on my Asus P5Q.....works great.

Tried adding the ATI kext from the zip, I tried copying them from my existing install, tried extracting to EFI with Pacifist.

 

Even before I update, the kext never load, and I never get past the lo-rez display

The best results is is the new "update.sh" with it (before update to 10.5.5) something loaded, as I got a blank white screen, (after update to 10.5.5) I got same screen as before.....some pattern.

 

I need to get this worked out, and I can't leave it alone, and I REALLY NEED to be doing other stuff. It's not in me to walk away. :thumbsup_anim:

 

Thanks for the work and the help

 

BTW, system is 100% under iATKOS 10.5.4 upped to 10.5.5

Link to comment
Share on other sites

hello

just a ( stupid ?) question:

how can I visualize the EFI partition to see what it contains ( if possible without the terminal or with of course if there is no other way ) ?

 

 

Really don't know Disk Utility and System don't see it, so EFI Partition won't mount in any way.

 

You have to mount it with terminal command, as far as i know this is the only way to go.

Link to comment
Share on other sites

hello

just a ( stupid ?) question:

how can I visualize the EFI partition to see what it contains ( if possible without the terminal or with of course if there is no other way ) ?

 

Mount:

mkdir /Volumes/EFI

mount_hfs /dev/diskXs1 /Volumes/EFI X=EFI drive)

killall Finder

 

Remove kext:

rm -rf /Volumes/EFI/System/Booter/Extensions/*.kext

or to drag

rm -rf

 

Unmount:

umount -f /Volumes/EFI

rm -rf /Volumes/EFI

Link to comment
Share on other sites

I seem to be having the same issue...some kext not loading

I have no problem installing and booting with this method.........Munky, you're the best!

I have a ATI Radeion HD3650 1gb, that works great with driver this pkg.

When I install 10.5.0 there is no driver for this card, and I get just the generic display.

 

When I update to 10.5.3 or above the display comes up like a really busy carpet pattern.

From 10.5.3 on there is included the ATI drivers (what loads is ATIRadeonX2000.kext

 

When I updated to 10.5.5 from iATKOS 10.5.4 install I had to remove the ATI*.kext from extensions, and reload the driver pkg.

If the purpose is to keep the install EFI moded & install vanilla, I cannot do it that way

 

I have been installing with the kext from the gneric.iso on my Asus P5Q.....works great.

Tried adding the ATI kext from the zip, I tried copying them from my existing install, tried extracting to EFI with Pacifist.

 

Even before I update, the kext never load, and I never get past the lo-rez display

The best results is is the new "update.sh" with it (before update to 10.5.5) something loaded, as I got a blank white screen, (after update to 10.5.5) I got same screen as before.....some pattern.

 

I need to get this worked out, and I can't leave it alone, and I REALLY NEED to be doing other stuff. It's not in me to walk away. :)

 

Thanks for the work and the help

 

BTW, system is 100% under iATKOS 10.5.4 upped to 10.5.5

 

 

Concerning in particular:

 

-IOATAFamily.kext

-AppleAHCIPort.kext

 

I guess your problem is that the /S/L/E original kext version is higher than the version you are using in EFI partition.

 

My question is why IOAHCIBlockStorage.kext version 1.1.1 is reloaded over version 1.0.9?

 

munky answer:

 

simply because it's a higher version.

 

One of the tricks u can do with this type of Extra extensions approach is to boost the version number of the kext u want loaded so it will be preferred.

 

Hope this help.

Link to comment
Share on other sites

hello

just a ( stupid ?) question:

how can I visualize the EFI partition to see what it contains ( if possible without the terminal or with of course if there is no other way ) ?

 

It is possible. First mount your partition on /Volumes/EFI. Then hold the command key (one with the Windows logo ) and right click the Finder icon on the Dock. The menu will show relaunch select that - it relaunches Finder. The EFI partition will show amoung your list of drives on the desktop.

Link to comment
Share on other sites

Concerning in particular:

 

-IOATAFamily.kext

-AppleAHCIPort.kext

 

I guess your problem is that the /S/L/E original kext version is higher than the version you are using in EFI partition.

 

My question is why IOAHCIBlockStorage.kext version 1.1.1 is reloaded over version 1.0.9?

 

munky answer:

 

simply because it's a higher version.

 

One of the tricks u can do with this type of Extra extensions approach is to boost the version number of the kext u want loaded so it will be preferred.

 

Hope this help.

 

I don't know if this will help you help me, but here it is 0930081438asj9.jpg

I have tried adjusting the version.plist in all the ATI related kext, and there is no difference in the IOGraphicsFamily

 

I think I'll delete one ATI?.kext at a time and see what one it causing the problem.

 

Any better ideas?

Kenny

Link to comment
Share on other sites

First things first. Nice Guide Munky.

 

Remember when I posted about using a disk built on a real Mac? Well, today I tried that.

 

Here's what I tried this on: Intel D975XBX2, Q6600, 8800GT, 4gig RAM, 250gig sata hd.

 

Here's what I did:

 

1) Put the 250gig hd into an external sata->usb case, and plugged it into my MBP.

2) Partitioned it to 1 Partition (GPT) with disk utility.

3) Rebooted MBP with Leopard DVD and installed Leopard to the external hard drive.

4) Applied all updates (10.5.5) with Software Update using the MBP (you know that's going to work, lol).

5) Applied your method in post #1 to the EFI partition.

6) Added kexts from BUMBY + IONetworkingfamily + NVKush + Patched AppleHDA (taruga).

7) Moved the hard drive to the Badaxe2 machine, and rebooted.

 

Bingo, booted, works.

 

Only 2 issues:

 

1) No Sound, AppleHDA taken from a previous install on the badaxe2 that worked.

2) No QE/CI on the 8800GT, NVKush also taken from a previous install on the badaxe2 that worked correctly.

 

Any help appreciated for these 2 issues.

 

Just Awesome, gonna have to do this for my other machines.

 

cheers

Link to comment
Share on other sites

Mount:

mkdir /Volumes/EFI

mount_hfs /dev/diskXs1 /Volumes/EFI X=EFI drive)

killall Finder

 

Remove kext:

rm -rf /Volumes/EFI/System/Booter/Extensions/*.kext

or to drag

rm -rf

 

Unmount:

umount -f /Volumes/EFI

rm -rf /Volumes/EFI

 

It works perfectly. you rock ! I could notice that one kext ( IOAHCI) couln't load correctly because it was local-root instead of root in the plist !

 

It is possible. First mount your partition on /Volumes/EFI. Then hold the command key (one with the Windows logo ) and right click the Finder icon on the Dock. The menu will show relaunch select that - it relaunches Finder. The EFI partition will show amoung your list of drives on the desktop.

 

thank you for reply, by " first mount your partitionon /Volumes/EFI" you meant with the shell ?

Link to comment
Share on other sites

It works perfectly. you rock ! I could notice that one kext ( IOAHCI) couln't load correctly because it was local-root instead of root in the plist !

thank you for reply, by " first mount your partitionon /Volumes/EFI" you meant with the shell ?

 

Yes. I think there is a method to run just a single command/shell script which would do nicely - can't remember it just now - never use it.

Link to comment
Share on other sites

One thing I forgot to mention in my previous post.

 

I used a Retail Leopard disk to create the installation on the hard drive.

 

The fact that I used a real mac (MBP), would mean I could have also used the disks that came with my MBP, without the requirement to use a retail disk.

 

cheers

Link to comment
Share on other sites

hey munky, great to see that you're actively involved in continuously developing a *perfect* method to run a clean/vanilla retail leopard install. :)

 

i've just revisited post#1 of this thread to take a look on the boot-turbo-munky.bin. i didn't find anything about (a copy) of com.apple.Boot.plist to be loaded at boot via from the EFI partition. does it mean that necessary EFI strings are still added in the orginal Boot.plist (i.e. /Library/Preferences/SystemConfiguration/com.apple.Boot.plist)?

Link to comment
Share on other sites

I don't know if this will help you help me, but here it is 0930081438asj9.jpg

I have tried adjusting the version.plist in all the ATI related kext, and there is no difference in the IOGraphicsFamily

 

I think I'll delete one ATI?.kext at a time and see what one it causing the problem.

 

Any better ideas?

Kenny

 

 

You clearly have a dependency(ies) problem and your ATIRadeonX2000 try to load or refer at something missing,

look at the included info.plist to see what is missing you will find this at the end of the info.plist.

 

Could be:

 

<key>OSBundleLibraries</key>

<dict>

<key>com.apple.iokit.IOGraphicsFamily</key>

<string>1.0.0b1</string>

<key>com.apple.iokit.IONDRVSupport</key>

<string>1.0.0b1</string>

<key>com.apple.iokit.IOPCIFamily</key>

<string>1.0.0b1</string>

 

When you find the missing(s) Kext(s) just try to add them.

 

Hope this help

 

It works perfectly. you rock ! I could notice that one kext ( IOAHCI) couln't load correctly because it was local-root instead of root in the plist !

thank you for reply, by " first mount your partitionon /Volumes/EFI" you meant with the shell ?

 

 

Open Terminal,

sudo -s >> your password

drag MountEFI >> return

 

The partition EFI will show up on your desktop.

MountEFI.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...