Contribute
Register

Hyperfast Boot!

Status
Not open for further replies.
Joined
Nov 11, 2010
Messages
326
Motherboard
Arch Linux x86_64
CPU
I5 2410m
Graphics
Intel 3000 HD 6490m Amd
Mac
  1. 0
Classic Mac
  1. 0
Mobile Phone
  1. Android
I've modified recently my Kexts configuration and my pc boot in 6 seconds after pressing the button :eek:
No sleep, FULL shutdown! :headbang:

Spec:
i5 2410m 2300mhz
8GB ram 1333mhz
Intel3000 + Ati
SSD 120GB Vertex 2

I removed VoodooBattery cause with a DSDT patch (Credit Zaffe!) it's no longer needed!
The boot speed significantly increase! :D
Also, i compiled extra SSDT tables to optimize them (about 30 optimization with DSDT editor) and added in /extra (USE AT YOUR OWN RISK, i dumped from my pc)

Kext i use:
/System/Library/Extensions/AppleACPIBatteryManager.kext
/System/Library/Extensions/AppleACPIPlatform.kext
/System/Library/Extensions/AppleACPIPS2Nub.kext
/System/Library/Extensions/AppleHDADisabler.kext
/System/Library/Extensions/AppleIntelCPUPowerManagement.kext
/System/Library/Extensions/ApplePS2Controller.kext
/System/Library/Extensions/ATAPortInjector.kext
/System/Library/Extensions/FakeSMC.kext
/System/Library/Extensions/RealtekRTL81xx.kext
/System/Library/Extensions/VoodooHDA.kext

(Also binary patched the BlockStorage Kext for SSD Trim vanilla)

This is my org.chamaleon.boot.plist

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CSTUsingSystemIO</key>
	<string>No</string>
	<key>EthernetBuiltIn</key>
	<string>Yes</string>
	<key>GUI</key>
	<string>No</string>
	<key>GenerateCStates</key>
	<string>Yes</string>
	<key>GeneratePStates</key>
	<string>Yes</string>
	<key>GraphicsEnabler</key>
	<string>Yes</string>
	<key>Legacy Logo</key>
	<string>No</string>
	<key>Quiet Boot</key>
	<string>Yes</string>
	<key>UseKernelCache</key>
	<string>Yes</string>
	<key>Wake</key>
	<string>Yes</string>
	<key>system-type</key>
	<string>2</string>
</dict>
</plist>

This is the Readme allegated with Zaffe's pack

DSDT Fixes:

DSDT Auto-Patcher Fix

1. USB EHCI Fix
2. TIMR/RTC/HPET Fix
3. Add PNLF for Brigthness
4. Shutdown
5. SMBUS

Fixes by me

1. Change RMV meted to Zero for Express Card/Card Reader
2. Delete HDEF from DSDT for forget about delete AppleHDA with VoodooHDA or using AppleHDADisabler //Masso912 i re-added HPET just in case we need it.
3. Add PRW method to AC adapter for native AC works
4. AC to ADP1
5. Fixed 3 warnings
6. Add method for Atheros 9285 for use vanilla IO80211Family.kext
7. Change WNIC to APRT
8. Change GFX0 to IGPU

I enclosed the DSDT and the SSDT tables. DSDT should work fine with all pc with i5.
Used latest chameleon with champlist! :thumb up:
I am also using the bluetooth fix.
 

Attachments

  • dsdt.aml
    136.9 KB · Views: 182
  • SSDT.zip
    1.7 KB · Views: 112
Nice :headbang:

I might test it just for the fun of it on the standard 640gb drive. Normaly it boots around 45seconds.
 
I found out something more interesting.
Not only cutting out VoodooBattery sliced down the time, but it seems that the command to rebuild the system cache has some issue.

The caches is stored on /System/Library/Caches/com.apple.kext.caches (it's a folder).

Inside the folder is stored the cache of the system.
Here's where is getting interesting.

A ) If i let Lion rebuild the caches automatically, the only folder i get inside com.apple.kext.caches is "Startup" and inside this folder there's only a file named "Kernelcache"

B ) If i rebuild cache with the terminal command, it creates me 2 directory inside it, one named "System", one named "Startup".
The "System" folder contains (after opening all subfolder) the list of ALL Kext, which is really don't needed... we need only the Kext to get loaded in cache.
Also, the "startup" folder has a lot of file in add...

So, i decided to benchmark the 2 solution and i found out that the A) boot at least 5/6 second faster than normal cache refreshed with terminal (that was the one that sliced my boot time to 6 seconds).

How can this be possible? :?
 
Changing GFX0 to IGPU actually allows me to boot Lion with my ATI 6490M enabled in the BIOS. Investigating further...
Anyways: You, sir, are a genius!
 
da_beidl said:
Changing GFX0 to IGPU actually allows me to boot Lion with my ATI 6490M enabled in the BIOS. Investigating further...
Anyways: You, sir, are a genius!

Really?? how does it work????
 
masso912 said:
I've modified recently my Kexts configuration and my pc boot in 6 seconds after pressing the button :eek:
No sleep, FULL shutdown! :headbang:

Spec:
i5 2410m 2300mhz
8GB ram 1333mhz
Intel3000 + Ati
SSD 120GB Vertex 2

I removed VoodooBattery cause with a DSDT patch (Credit Zaffe!) it's no longer needed!
The boot speed significantly increase! :D
Also, i compiled extra SSDT tables to optimize them (about 30 optimization with DSDT editor) and added in /extra (USE AT YOUR OWN RISK, i dumped from my pc)

Kext i use:
/System/Library/Extensions/AppleACPIBatteryManager.kext
/System/Library/Extensions/AppleACPIPlatform.kext
/System/Library/Extensions/AppleACPIPS2Nub.kext
/System/Library/Extensions/AppleHDADisabler.kext
/System/Library/Extensions/AppleIntelCPUPowerManagement.kext
/System/Library/Extensions/ApplePS2Controller.kext
/System/Library/Extensions/ATAPortInjector.kext
/System/Library/Extensions/FakeSMC.kext
/System/Library/Extensions/RealtekRTL81xx.kext
/System/Library/Extensions/VoodooHDA.kext

(Also binary patched the BlockStorage Kext for SSD Trim vanilla)

This is my org.chamaleon.boot.plist

Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>CSTUsingSystemIO</key>
	<string>No</string>
	<key>EthernetBuiltIn</key>
	<string>Yes</string>
	<key>GUI</key>
	<string>No</string>
	<key>GenerateCStates</key>
	<string>Yes</string>
	<key>GeneratePStates</key>
	<string>Yes</string>
	<key>GraphicsEnabler</key>
	<string>Yes</string>
	<key>Legacy Logo</key>
	<string>No</string>
	<key>Quiet Boot</key>
	<string>Yes</string>
	<key>UseKernelCache</key>
	<string>Yes</string>
	<key>Wake</key>
	<string>Yes</string>
	<key>system-type</key>
	<string>2</string>
</dict>
</plist>

This is the Readme allegated with Zaffe's pack

DSDT Fixes:

DSDT Auto-Patcher Fix

1. USB EHCI Fix
2. TIMR/RTC/HPET Fix
3. Add PNLF for Brigthness
4. Shutdown
5. SMBUS

Fixes by me

1. Change RMV meted to Zero for Express Card/Card Reader
2. Delete HDEF from DSDT for forget about delete AppleHDA with VoodooHDA or using AppleHDADisabler //Masso912 i re-added HPET just in case we need it.
3. Add PRW method to AC adapter for native AC works
4. AC to ADP1
5. Fixed 3 warnings
6. Add method for Atheros 9285 for use vanilla IO80211Family.kext
7. Change WNIC to APRT
8. Change GFX0 to IGPU

I enclosed the DSDT and the SSDT tables. DSDT should work fine with all pc with i5.
Used latest chameleon with champlist! : up:
I am also using the bluetooth fix.

Those last 8 changes, what does the first, third, and fourth do?

Did 6 work for you?

And do the last two matter?

Also, what exactly does the SSDT do, and how can I get them for my i3?
 
blueking said:
Those last 8 changes, what does the first, third, and fourth do?

Did 6 work for you?

And do the last two matter?

Also, what exactly does the SSDT do, and how can I get them for my i3?

1) I don't really know lol.
3) Add the PWR method inside the AC
Something Like this

Code:
AC
{
 AC istruction
 PWR 
    {
     PWR Istruction
    }
}

4) Renamed method AC to ADP1. (To match apple DSDT)

SSDT Table are ACPI table which include some instruction for DSDT. If dumped all and correctly, we don't need to have chameleon to generate P and C states. Sadly, SSDT-1 and SSDT-2 won't compile without fixing them, and i don't know how :think:
 
Does the wifi fix make it work vanilla for you?

Which fix exactly is the ac fix?

Is it this?
Code:
Device (ADP1)
        {
            Name (_HID, "ACPI0003")
            Name (_PRW, Package (0x02)
            {
                0x18, 
                0x03
            })

And does changing the two names to match apple dsdt actually make a difference?

EDIT: I just realized (lol) we haven't been using voodoo battery. When I was experimenting with the voodoo battery kext, I accidentally must have deleted it. Not many people should have it that are using the installer.

So I am not convinced your DSDT does anything besides fix wifi.

I am going to release a new dsdt editor with the wifi added and HDEF patched to the best of our abilities (well not mine, lol).

Do any of the other DSDT changes matter where I should actually take the time to add them to the patcher?

eedit2: or could that dsdt fix let you remove the first, and not roll back the second? /System/Library/Extensions/AppleACPIBatteryManager.kext
/System/Library/Extensions/AppleACPIPlatform.kext
 
I think it's only to match apple names that my dsdt has different name. The only one that matter is iGpu which actually makes me boot with 6490m and the vanilla IONetworking. The other fixes are just to match apple dsdt and avoid possible error ;)
Yup. wifi work with vanilla.
 
2. Delete HDEF from DSDT for forget about delete AppleHDA with VoodooHDA or using AppleHDADisabler //Masso912 i re-added HPET just in case we need it.

ZAFFE deleted HDEF and you re-added HPET?
ZAFFE has an i5 processor too as we.
ATAPortInjector.kext - why we need it? ZAFFE don't use it.
 
Status
Not open for further replies.
Back
Top