Nawcom’s 10.6.3 Legacy Kernel for Intel/AMD

Filed Under (Virtualization) by Brian Keith on 24-10-2010

Tagged Under : , ,

Nawcom’s 10.6.3 Legacy Kernel for Intel/AMD

If you owns an AMD machine and cannot boot up your Snow Leopard VM by using VirtualBox’s EFI (i.e. your VM can boot by using the EmpireEFI), this article is for you. For Intel CPU users (I am using Intel CPU too), I think this article will also provide you with valuable information.

According to Wikipedia, kernel is the central component of most computer operating systems. It is a bridge between applications and the actual data processing done at the hardware level. The kernel’s responsibilities include managing the system’s resources (the communication between hardware and software components).

For Snow Leopard, the default kernel is named as “mach_kernel” and placed under the root directory of the system partition. Apple has hard-coded some CPUID checks in the mach_kernel. It simply hangs if the detected CPU is a not “supported” CPU (i.e. the CPUs that Apple had been using in their original hardware).

Hopefully, the above issue can be resolved by using “hacked” kernels. The one that I know and have tested is from nawcom. Nawcom’s kernel is named as “legacy kernel” and the version for Mac OS X 10.6.3 can be downloaded here. You can also refer to nawcom’s post for more information and features about this kernel.

Installing the Legacy Kernel

I recommend taking a Snapshot of your VM before trying to install the Legacy Kernel,

  • Boot up your SL VM using the EmpireEFI disc.
  • Download nawcom’s kernel and double-click the downloaded package file.

    Simply click “Continue”.
  • Read the “Read Me”. It mentions that the vanilla kernel will be named mach_kernel.old.

    Click “Continue”.
  • In the “Select a Destination” screen, simply select your system partition and click “Continue”.

  • In the next screen, simply take the default value and click “Install” to kick off the installation.

  • Upon successful installation, the following screen will be displayed. Simply click “Close”.

  • Now, open a terminal and issue the following commands:

    cd /
    ls -al

    Check that the file “legacy_kernel” is there.

    • Note that there is a file named “mach_kernel” (which is the original kernel).
      I am not sure why it is not renamed as mach_kernel.old as stated in the Read Me of the installation package. Perhaps this is caused by the fact that I have started up my VM by using the mach_kernel.
  • Now, to configure Mac OS X to load by using the legacy kernel, we need modify by using the following command:

    sudo -s
    cd /Library/Preferences/SystemConfiguration/

    After invoking the editor, add the key-string pair value “Kernel – legacy_kernel”. The modified content is shown for your reference:

    <?xml version=”1.0″ encoding=”UTF-8″?>
    <!DOCTYPE plist PUBLIC “-//Apple Computer//DTD PLIST 1.0//EN” “”>
    <plist version=”1.0″>
    <key>Kernel Flags</key>

    Press “Ctrl-X” to save the changes and quit the editor.

  • Now, restart your VM.
    If the legacy kernel is being loaded, you should see to it as shown below:


If you use AMD CPUs, I hope this can help you (at least there are people reporting that this kernel works for AMD Phenom II X4).

I have tried the above installation on my machine which is using iCore5-750 CPU. After installing the legacy kernel, I have to specify a “1″ as the CPU Count in the VM settings. Otherwise, the VM will hang during boot up.

For more information about the problem that people have encountered in setting up SL on an AMD machine, you can refer to the posts “Windows + VirtualBox = MAC OS” in the InsanelyMac Forum. Do expect lengthly discussion and lots of posts there, perhaps post #583 is a good starting point for you to start with. LeXa2 has provided valuable information on this topic in his posts!