MSI Wind U100 netbook: How to update to 10.6.2

Because Apple didn’t release the Darwin 10.2.0 XNU sources (the kernel in Mac OS X 10.6.2)  yet (as of 11-14-09), there’s no way to re-enable Atom CPU support on the MSI Wind (and other Atom based netbooks) once you update to 10.6.2. I’ve seen some russian bin-hacks (Tea’s kernel) but they don’t work on the Wind, the kernel panics while booting. Once the XNU sources are out it will be pretty easy to compile a modified kernel with Atom CPU support but for the time being, you might as well re-use the kernel that came with your 10.6.0 Snow Leopard installation. So far, I haven’t seen any limitations using the older kernel in 10.6.2.

All you need is the USB stick you initially installed Snow Leopard from and some basic Terminal skills.

Before updating to 10.6.2

Open Terminal

diskutil list
⁣⁣⁣⁣⁣⁣⁣

Now you have to determine your Mac OS install partition on your netbook’s internal hard drive. Usually, the output looks like this:

Jans-MacWind:~ jan$ diskutil list
/dev/disk0
   #:                     TYPE NAME              SIZE       IDENTIFIER
   0:   GUID_partition_scheme                   *160.0 GB   disk0
   1:                     EFI                    209.7 MB   disk0s1
   2:               Apple_HFS Macintosh HD       159.7 GB   disk0s2
Jans-MacWind:~ jan$
⁣⁣⁣

In this case, the installation partition identifier is /dev/disk0s2. The output may vary if you use multiple OS on your netbook.

sudo cp /mach_kernel /mach_kernel.old
⁣⁣⁣

Close Terminal and install 10.6.2. From now on you’re unable to boot from your netbook unless you complete the steps below.

Once the update to 10.6.2 is completed

Boot from your installation USB stick (using F11 on the Wind) you used to install Snow Leopard on your netbook and restart in single user mode. If you used Chameleon as EFI bootloader, you have to enter the -s flag (see screenshot below) to start in single user mode (which is just a Terminal in full screen mode).

Chameleon GUI

Select the USB stick’s partition like you did when you first installed Snow Leopard, do not select the internal hard drive in the Chameleon GUI! Wait until single user mode is ready to use.

See the line below that says /dev/disk0s2? If disk0s2 is not the Mac OS install partition on your netbook’s internal drive you have to replace it with another identifier (which you found out using diskutil).

mount -w -t hfs /dev/disk0s2 /Volumes
cp /Volumes/mach_kernel /Volumes/mach_kernel.new
cp /Volumes/mach_kernel.old /Volumes/mach_kernel
reboot
⁣⁣⁣

That’s it. You just replaced the new Darwin 10.2.0 kernel with the older 10.0.0 kernel that came with 10.6.0 (10.6.1 itself didn’t bring a new kernel).

Remember to replace the old kernel with a new, recompiled kernel with Atom support once it becomes available in a few days/weeks from now. In that case just copy the mach_kernel file over the existing file using Terminal or OSX86Tools.

12 thoughts on “MSI Wind U100 netbook: How to update to 10.6.2

  1. I tried this, but it did not work. On reboot, the wind shut itself down (physical power off) not far into the boot process. Using “-s” to boot hangs the machine with no particular error, with “-v” shedding no particular light on the matter. Safe boot with “-x” shuts off the machine, too.

    I tried repairing permissions and even re-running netbook installer, with no change.

  2. You’re booting the wrong partition. Please re-read my post carefully. You have to boot from the USB boot stick that you (hopefully) used to install SL in the first place. I wasn’t referring to a third party installation program, which I presume this netbook installer is. I have no idea what this script does, I’m always using an as vanilla as possible installation process.

  3. No, I’m not booting the wrong partition, and I DID read your post carefully. To clarify, I should have said, “on reboot after replacing the kernel”.

    There is no possibility of booting the wrong partition because I physically removed the USB drive on reboot after replacing the kernel.

    I did not use a third-party installer in the process of following your instructions. I made a copy of the 10.6.0 kernel, went through the 10.6.2 upgrade, booted from the original installation medium into single-user mode, mounted the relevant partition as writable, found the new kernel from the 10.6.2 upgrade, issued “cp mach_kernel mach_kernel.10.6.2″, issued “cp mach_kernel.10.6.0 mach_kernel” to copy the old kernel over the new one, checked permissions and file size to make sure mach_kernel was the one from 10.6.0, then issued a sync and rebooted.

    Certainly, the behaviour is like what I might anticipate from a kernel without atom support, but I checked and double-checked that I was booting a 10.6.2 installation with a 10.6.0 kernel.

    I only mentioned that I re-ran netbook installer for the purpose of indicating that I replaced the kexts and rebuilt the kext caches after installing 10.6.2, in case something about the upgrade replaced my original, working kexts or caches, or possibly messed up chameleon.

  4. Hmm… odd. I applied this method to 2 different 10.6.1 Winds and it worked right away! As you already mentioned, it looks like you’re still booting the new kernel. It’s a proven fact (not just by me) that the old kernel works in 10.6.2 and that the kernel is replaced exactly the way described above once you’re unable to boot from the internal partition. Are you 100% sure you made a backup / replaced the kernel on the right partition, the one you mounted using the mount command into /Volumes? Did you cd to /Volumes? I’m still trying to figure out where you left the beaten path.

  5. My Wind is running 10.6.2 now. Though I had to change the identifier to /dev/disk0s5 because I have an Ubuntu partition as well. Thanks!
    Karim

  6. Here’s some output of the Wind’s boot partiton’s root directory:

    -rw-r–r–@ 1 root wheel 18672224 Nov 12 21:01 mach_kernel
    -rw-r–r–@ 1 root admin 18676624 Nov 10 20:30 mach_kernel.new
    -rw-r–r–@ 1 jan admin 18672224 Nov 10 06:57 mach_kernel.old

    The active mach_kernel should be 18672224 bytes, not 18676624 bytes.

    @nasKar: Have you been using a distro or some install scripts to install 10.6.0?

  7. I just installed the modified 10.6.2 kernel from http://insanelywind.com/forum/.....#038;t=449 and it works great! Make sure you deactivate SleepEnabler.kext unless you like to get kernel panics. There’s a working SleepEnabler.kext in that thread available too. The new SleepEnabler kext won’t work with the old kernel so make sure you don’t apply it before replacing the kernel.

  8. There is no need to boot into single user mode.
    Just this:

    sudo cp /mach_kernel /mach_kernel_old

    Do update to 10.6.2.
    On reboot, while camaleon appears, type:

    mach_kernel_old

    And it will boot flawlessly.
    After this, login in your 10.6.2 and just rename old kernel to default kernel:

    sudo mv /mach_kernel_old /mach_kernel

  9. I give a try to this. Thanks.
    There is another possibility, for those who have dual boot with Linux: you can mount HFS partition from Linux.
    Normally it’s mounted read-only, but you can use some “force” option to mount it with write permission (as this is journaled filesystem).
    In this case you

  10. from Linux just do: mount -o force /dev/sdX /mnt/blabla
    Now you can rename the file, unmount and reboot to leopard.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>