Jump to content

How to boost the OS X boot process...


1,027 posts in this topic

Recommended Posts

p.s. Do you plan to including your SMBIOS data like I did here?

I've tried from HD and the spin count is nearly the same as from USB in BIOS I have 2 HD active, so with F8 i can choose to load Revolution (on SATA2) or Chameleon (BIOS default on SATA1), and so from chameleon menu I can chose to start my SL install on SATA2

For the smbios data i'll try in next days and report the results.

I'm trying it right now, v0.6.20 working with my smbios data.

Nice, now i'll check the spins after some reboot...

I'm at 14-15 spin now, but i've parallels so it's a bit slower, need to try without it.

 

You need to add something like:
		<key>Graphics Mode</key>
	<string>1600x1200x32</string>

 

Done with my resolution value but still not working, it's not a problem just a cosmetic issue...

...

I'm trying it right now, v0.6.20 working with my smbios data. Nice, now i'll check the spins after some reboot...

I'm at 14-15 spin now, but i've parallels so it's a bit slower, need to try without it.

I still have Parallels installed, but not on my main boot drive anymore. The reason for this is that Parallels took too long to initialize – at boot time – and thus I moved it to a secondary boot drive. Let me know what it does with your boot time (after you moved the kexts).

 

Done with my resolution value but still not working, it's not a problem just a cosmetic issue...

I guess that it doesn't work with Chameleon either. Presumably because this has to match a supported VESA mode. No. This is not your desktop resolution, but merely the screen resolution at boot time.

I have 12 spin now without parallels

That's still twice as much (6.10 here) but maybe this is due to my stripped: /System/Library/Extensions/ folder

ALF.kext					IOAHCIFamily.kext
AppleACPIPlatform.kext				IOATAFamily.kext
AppleAHCIPort.kext				IOAudioFamily.kext
AppleAPIC.kext					IOBDStorageFamily.kext
AppleBMC.kext					IOBluetoothFamily.kext
AppleEFIRuntime.kext				IOBluetoothHIDDriver.kext
AppleFSCompressionTypeZlib.kext			IOCDStorageFamily.kext
AppleFileSystemDriver.kext			IODVDStorageFamily.kext
AppleGraphicsControl.kext			IOFireWireAVC.kext
AppleGraphicsPowerManagement.kext		IOFireWireFamily.kext
AppleHDA.kext					IOFireWireIP.kext
AppleHIDKeyboard.kext				IOFireWireSBP2.kext
AppleHPET.kext					IOFireWireSerialBusProtocolTransport.kext
AppleHWSensor.kext				IOGraphicsFamily.kext
AppleIntelCPUPowerManagement.kext		IOHDIXController.kext
AppleIntelCPUPowerManagementClient.kext		IOHIDFamily.kext
AppleKeyswitch.kext				IONDRVSupport.kext
AppleLPC.kext					IONetworkingFamily.kext
AppleLSIFusionMPT.kext				IOPCIFamily.kext
AppleMCEDriver.kext				IOPlatformPluginFamily.kext
AppleMIDIFWDriver.plugin			IOSCSIArchitectureModelFamily.kext
AppleMIDIIACDriver.plugin			IOSCSIParallelFamily.kext
AppleMIDIRTPDriver.plugin			IOSMBusFamily.kext
AppleMIDIUSBDriver.plugin			IOSerialFamily.kext
AppleMatch.kext					IOStorageFamily.kext
AppleMobileDevice.kext				IOStreamFamily.kext
ApplePlatformEnabler.kext			IOSurface.kext
AppleProfileFamily.kext				IOUSBFamily.kext
AppleRTC.kext					IOUSBMassStorageClass.kext
AppleSEP.kext					IOVideoFamily.kext
AppleSMBIOS.kext				LegacyHDAPlatformDriver.kext
AppleSMC.kext					LegacyYukon2.kext
AppleSMCLMU.kext				NVDANV50Hal.kext
AppleStorageDrivers.kext			NVDAResman.kext
AppleUSBEthernetHost.kext			NVSMU.kext
AppleUpstreamUserClient.kext			OSvKernDSPLib.kext
AppleVADriver.bundle				Quarantine.kext
AppleXsanFilter.kext				SMARTLib.plugin
ArcMSR.kext					Sandbox.kext
AudioAUUC.kext					System.kext
AudioIPCDriver.kext				TMSafetyNet.kext
BootCache.kext					autofs.kext
CellPhoneHelper.kext				cd9660.kext
DSACL.ppp					cddafs.kext
DSAuth.ppp					fakesmc.kext
DVFamily.bundle					iPodDriver.kext
Dont Steal Mac OS X.kext			iTunesPhoneDriver.kext
EAP-KRB.ppp					lspcidrv.kext
EAP-RSA.ppp					mcxalr.kext
EAP-TLS.ppp					msdosfs.kext
GeForce.kext					ntfs.kext
GeForce8xxxGLDriver.bundle			smbfs.kext
GeForceGA.plugin				udf.kext
GeForceVADriver.bundle				ufs.kext
IO80211Family.kext				webcontentfilter.kext
IOACPIFamily.kext				webdav_fs.kext

That's still twice as much (6.10 here) but maybe this is due to my stripped: /System/Library/Extensions/ folder

Can be also the quad core CPU instead of mine dualcore, maybe in part, or not?

 

I'll try to reduce mine /S/L/E folder...

 

I guess that it doesn't work with Chameleon either. Presumably because this has to match a supported VESA mode. No. This is not your desktop resolution, but merely the screen resolution at boot time.

Yes it's the screen resolution at boot but with Chameleon adding the right resolution worked, with Revolution v0.6.20 at boot it's the apple that is not in center but the resolution looks right, desktop resolution is ok.

Can be also the quad core CPU instead of mine dualcore, maybe in part, or not?

Must be.

 

I'll try to reduce mine /S/L/E folder...

Good. It helped here so...

 

Yes it's the screen resolution at boot but with Chameleon adding the right resolution worked, with Revolution v0.6.20 at boot it's the apple that is not in center but the resolution looks right, desktop resolution is ok.

Please check function showBootLog in bootlogo.c and open boot.h where you should find:

#define APPLE_LOGO_X	736 // ((1600 - 128) / 2)
#define APPLE_LOGO_Y	536 // ((DEFAULT_SCREEN_HEIGHT - 128) / 2)

#define APPLE_LOGO_WIDTH  128
#define APPLE_LOGO_HEIGHT 128

Set for my boot screen resolution of 1600 x 1200. You do have this in your version of Revolution, do you?

in bootlogo.c my function showBootLogo is this:

void showBootLogo()
{
uint8_t *bootImageData = NULL;
uint8_t *appleBootLogo = (uint8_t *) decodeRLE(appleLogoRLE, 686, 16384); 
convertImage(APPLE_LOGO_WIDTH, APPLE_LOGO_HEIGHT, appleBootLogo, &bootImageData);

uint16_t x = APPLE_LOGO_X; // (VIDEO(width) - 128) / 2; 
uint16_t y = APPLE_LOGO_Y; // (VIDEO(height) - 128) / 2; 

drawDataRectangle(x, y, APPLE_LOGO_WIDTH, APPLE_LOGO_HEIGHT, bootImageData);

free(bootImageData);
free(appleBootLogo); 
}

and in bootlogo.h I have only this:

#define MIN(x, y) ((x) < (y) ? (x) : (y))
#define MAX(x, y) ((x) > (y) ? (x) : (y))

#define VIDEO(x) (bootArgs->Video.v_ ## x)

const unsigned char appleLogoRLE[] =
{
0xff, 0x01, 0xff, 0x01, 0xff, 0x01, 0x50, 0x01, 0x01, 0x02, 0x01, 0x17,
....
0xff, 0x01, 0xb3, 0x01
};

While this works, it is far too complicated. Period. Thus what we need is a simple tool to dump and convert our SMBIOS data. I would opt for an OS X specific tool. A tool that let's us work with the SMBIOS data [add/change/remove] would be a plus to me. That would be cool. Any takers?

Here's something that might be useful: http://www.insanelymac.com/forum/index.php?showtopic=153582

After 10.6.3 update...

 

I have a slower boot time.(earlier was 12 spins, now is 21 spins after the 10.6.3)

 

When I remove AppleHDA.kext - no matter which version (10.6.2 or 10.6.3, the same rezult) , the boot time is 12 spins again.

As soon as I put AppleHDA.kext in S/L/E, the boot time get slower , and it is 21 spins

Strange, a?

After 10.6.3 update...

 

I have a slower boot time.(earlier was 12 spins, now is 21 spins after the 10.6.3)

 

When I remove AppleHDA.kext - no matter which version (10.6.2 or 10.6.3, the same rezult) , the boot time is 12 spins again.

As soon as I put AppleHDA.kext in S/L/E, the boot time get slower , and it is 21 spins

Strange, a?

 

With 10.6.2 I was using the AppleHDA.kext submitted by MC in the P5K Pro thread, it was edited to have a faster boot time, with 10.6.3 I've reinstalled it 'cause the AppleHDA.kext used in 10.6.3 wasn't working (I have integrate also the legacy ket needed to make it work)

With 10.6.2 I was using the AppleHDA.kext submitted by MC in the P5K Pro thread, it was edited to have a faster boot time, with 10.6.3 I've reinstalled it 'cause the AppleHDA.kext used in 10.6.3 wasn't working (I have integrate also the legacy ket needed to make it work)

I copy all the 10.6.2 AppleHDA.kext into 10.6.3 AppleHDA.kext , exept the info and versio.plist, and get back to 12 spins

  • 2 weeks later...

I've been following this thread with interest. My system is a Badaxe2 with Q6600 overclocked to 3GHz. SL10.6.3 is on an SSD and the configuration I had (AseseBLN1.19 bootloader with nullcpu/fakesmc/sleepenabler/AHCIPortInjector in E/E and VoodooPowerMini in S/L/E was taking between 5.20 and 6.05 revs to boot (each segment as 5 minute chunk). I've been playing with my DSDT fixed a few issues but never got speedstep working until now, so kept reverting back to the above setup.

 

There are quite a few samples of working PR DSDT sections for Q6600 and I think I've tried most of them. Now I just have fakesmc/AHCI... in E/E and no VoodooPowerMini in S/L/E. AppleIntelCPUManagement is starting up, AppleLPC is loading and now I'm down to less than 1 rev - usually 0.50-0.55 - superfast. Sleep and shutdown/restart work fine. The problem is LPC loads but isn't initialised, so the CST isn't set up. CPU temps have risen about 8-10 deg - not to horrendous levels from around 36-42 to 47-52 in normal use, so it seems that VoodooPowerMini was enabling CST, as the P state values are pretty much identical. DropSSDT=Yes doesn't make any difference to the problem - I still get the 'ACPI_SMC_PlatformPlugin::pushCPU_CSTData - _CST evaluation failed' message in the kernel log.

 

In the hope that someone can cast an eye over my DSDT and tell me where I've gone wrong, I've attached it below. Obviously, the problem may not be in the DSDT, but at least it will steer me to looking elsewhere.

 

Something else is that CPU0 is consistently 5/6 deg hotter than the rest. Is this normal?

dsdt.zip

ntsmkfob

 

I have a X48 based board with Q6600 also overclocked to 3GHz i have looked at your DSDT and added what i changed to make the SpeedStep work on my board a few things to note are that i believe you should have smbios plist set to mac pro 3.1 otherwise the speedstep wont work properly also since we are running different intel based chipsets and also different q6600's the voltages that mine are set to may make yours unstable as i actually have set mine to custom undervolted voltages as my chip turned out to be a good-un :thumbsdown_anim: so if any instability occurs just substitute the voltages and you should be set i believe the VID for the q6600 G0 revision is set at 1.2875 according to my motherboard however i can overclock it to 3GHz and undervolt it to 1.21675 and it is absolutely stable yours may not be also yours may be the B3 stepping of the Q6600 which ran hotter and probably takes more voltage to reach 3GHz however give this a go and report back there is no harm in trying as the voltages are lower than your board would set at stock to be safe i have the DSDT voltages set to 1.292 which should be very compatible with all but the worst batches of Q6600's

DSDTQ66003GHZ.zip

Weird! I put a long reply in here that seems to have disappeared. Anyway, I am pretty sure the _PR section of the DSDT is being ignored, as if I add DropSSDT=Yes into cabp, speedstep stops working - speed and voltages are maxed out. This is with any of the several _PR sections I've tried. Otherwise, speedstep works, but the voltages didn't change when I used your DSDT. Other stuff from the DSDT is working fine, and I can easily screw the boot process by getting something wrong in the DSDT.

 

Thanks for your help.

Weird! I put a long reply in here that seems to have disappeared. Anyway, I am pretty sure the _PR section of the DSDT is being ignored, as if I add DropSSDT=Yes into cabp, speedstep stops working - speed and voltages are maxed out. This is with any of the several _PR sections I've tried. Otherwise, speedstep works, but the voltages didn't change when I used your DSDT. Other stuff from the DSDT is working fine, and I can easily screw the boot process by getting something wrong in the DSDT.

 

Thanks for your help.

Is that [probably] because this isn't about Intel's SpeedStep nor DSDT hacking?

×
×
  • Create New...