23 June 2010

10.6.4 Update for Mac OS X Snow Leopard

NOTE: VoodooHDA when put anywhere else outside of /System/Library/Extensions will cause problem with internal mic not working. 

Just run MacOSX10.6.4ComboUpdate and before restarting, install package (this package also fixes system if you've done this experiment):

Note: This is for the HP Mini 311. I haven't been able to update my HP Mini 1000 to 10.6.4 yet. Having an "install failed" issue will try over the weekend perhaps
First of all, let me apologize for the confusion I may have spawned in the community. 

10.6.4 does NOT break anything at all.

But, to be on the safe side, if you're updating from a 10.6.2 system, skipped 10.6.3 right on to 10.6.4, you have at least to make sure that you do have meklort's latest SleepEnabler - it's that version that is 10.6.x independent. 

Then let met explain what HPM311DP_061810HF6RC3 actually is:
1. based on MowgliBook's Retail Pack 0.9
2. installs VoodooHDA in EFI - this kext has to be deleted from /System/Library/Extensions and Kext Utility needs to be run to fix things as this particular kext makes its exit from the said location in your system.
3. installs VoodooHDA's dependencies, IOAudioFamily and OSvKernDSPLib - the IOAudioFamily and OSvKernDSPLib that get installed are 10.6.4 version (at least so I think, cause it's after I had update to 10.6.4 that I got these kexts from /S/L/E to add "OSBundleRequired=Root" to their info.plist to enable loading them from outside /S/L/E - same stuff I did with VoodooHDA above)
4. new Extensions.mkext - created via Mkext Tool instead of automatically created via the "kextcache -a i386 -K /mach_kernel -m" which, as I discovered, is the root of my blank screen on wake issues from before.

So why did there have to be a new release?
Technically, HPM311DP_061810HF6RC3 is still not a release in the sense that it is still, well, as the name implies, only a release candidate "RC". That's why I needed testers. If it behaves well enough and it could be an official HF6 release.

Why only now in 10.6.4 (why let an experimental release candidate coincide with 10.6.4)?
It just happened that Apple released 10.6.4 to the greater public (i.e. non developer public who don't have access to the seed release of this point update) just after I got my HP Mini 311-1002TU back from the repair center.

Apple released 10.6.4 and I also got a machine to work with.

So why do we need to get to an HF6 release ?
Because we need to progress and find ways to improve the 311 Mini MacBook experience, (sorry in advance), duh?

I don't about you, but trying new things is what makes me tick. And the "new thing" being moving VoodooHDA to EFI /Extra/Extension does mean a lot to me - one less location to monitor and maintain from now on. Having additional stuff in /S/L/E requires me to create a package installer that not only puts the kext in that location but also to make sure other little details are taken care of accordingly - conflicting kexts that are also in /S/L/E (don't remind me of those PS2Controller that were put in there for testing but didn't quite cut it :-|), permissions, and system caches, etc. 

I refuse to play the hypocrite and say that working out the code to manage all that into a preinstall or postinstall PackageMaker script is not overwhelming at all. 

It's like a puzzle to solve - sometimes it's as trivial as putting in a line of command to mount a hidden partition (*wink wink*), other times, well, most of the times, it involves discovering how to perfectly formulate commands (*-m, -a, i386, -K, ring a bell?), from the kextcache in order to avoid having that nasty blank screen on wake issue, to get that com.apple.kext.caches in /Sytem/Library/Caches sorted. It does require some thinking and using one's brain. Specially that most tools like Mkext Tool sources are closed off - no way to know what it does under the hood but to figure it out on your own.

I thought we could attempt a clean new start, less complex stuff, and which better time to do it than with a point update such as 10.6.4? What it means to you, on the other hand, (ideally) should be a less problematic 311 Mini MacBook user experience.

P.S. This is more of like a monologue actually. Oh yeah, now I also talk to myself too. LOL.


Anonymous said...

how about the atom-kernel hack, teateam isn't back from vacation yet! don't we need to wait for that to ensure 100% compatibility?

jovy said...

where do we put merkloft's sleepenabler.kext?

LeMaurien19 said...

There's NO NEED for a hacked mach_kernel. We've been using meklort's Chameleon that patches the kernel for Atom processors on the fly during boot up. We've been using this version of Chameleon since some time after 10.6.2 was released. This is irrelevant to the HP Mini 311 Darwin Project.

It should be in EFI /Extra/Extensions.
My recommendation for you, just to be doubly sure, would be to
1. create the booter as mentioned in the post above.
2. update to 10.6.4 and then see if it boots fine.

If it boots up ok, then you're good to go. It's up to you if you want to test for me.

If it doesn't boot up, it means you may have the incorrect version of SleepEnabler. Use the booter to get into OS X and install the correct SleepEnabler as linked in post.

Anonymous said...

I am running F14 bios (hacked+full ION).
Would F15 bios be required, or is it irrelevant for 10.6.4 ?

성욱 said...

How about mini 1000 series?
It works with this too?

jovy said...

i always get an installation failed message when i upgrade to 10.6.4 using the combined upgrade software

jovy said...

just upgraded to 10.6.4, i was able to boot with no problems so far, just replaced the sleepenabler.kext with the one on your post.

will let you know if something bad happens, otherwise its fine so far.

jovy said...

i noticed that i lost audio in, before the upgrade to 10.6.4, i was able to use the built in mic for skype audio, now its totally not present.

Stephen said...

I am on 10.6.4 on my 1035nr, if I remember correctly I am using the mach_kernel from 10.6.2 and the VoodooHDA.kext. I do not have microphone and with Meklort's sleepenabler I have sleep problems (the machine goes to sleep, the screen comes back on and the system is frosen). It took some doing, but the upgrade itself (from 10.6.3) was rather seemless, I just had to make sure I replaced the mach_kernel before I did the restart.

LeMaurien19 said...

RE: HP Mini 311 10.6.4...
I'm afraid this experiment (drawing VoodoHDA out of /S/L/E) is a failure. If it is not in /S/L/E, the internal mic doesn't work.

So we're back with Retail Pack 0.9's Extra folder in EFI and VoodooHDA in /S/L/E.

For those who need assistance in setting things right, here's a how-to-guide.