Checking 32 or 64-bit Kernel Boot Mode in Snow Leopard

| How-To

By default, even on fully 64-bit Macs, Snow Leopard boots into a 32-bit kernel. This is because not all kernel extensions are 64-bit ready. This short HOW-TO explains how to tell which mode you've booted into.

With the introduction of Snow Leopard, there is a some confusion about 32/64-bit apps and 32/64-bit Extensible Firmware Interface (EFI) and 32/64-bit kernel extensions. We'll be sorting all that out in the coming weeks, piece by piece, to make it understandable.

Apple knows best on this. By default, your Snow Leopard system (except for Xserves) boots into a 32-bit kernel, even on the latest Macs. That doesn't keep you from running 64-bit applications and addressing more than 2 GB of RAM.

The problem is that you may have some kernel extensions that are not 64-bit capable. You can try booting into the 64-bit kernel by holding down the 6 and 4 keys together at boot, but not everything may work correctly. To get a feel for some extensions that would be a problem, take a look at: About This Mac -> More Info -> Software -> Extensions. On my system, several are still flagged as 32-bit only.

 

Extensions

System profiler shows whether kernel extensions are 64-bit

For now, you may be wondering how to tell if your system was booted into 32 or 64-bit kernel mode. Just take the same route above, but stop at Software, and look for the "64-bit Kernel and Extensions" flag, circled in red below.

 

64-bit mode?

System profiler shows mode booted into

There's really no stigma attached to running in the 32-bit kernel mode, and, in time, all our kernel extensions will be 64-bit. It's just one more step in the roadmap to a full 64-bit Mac.

Sign Up for the Newsletter

Join the TMO Express Daily Newsletter to get the latest Mac headlines in your e-mail every weekday.

Comments

deasys

I’m hard-nosed about it: If it’s not 64-bit, it’s gone.

MOSiX Man

Hmmm… I found a few old 32-bit extensions via the System profiler. The Kensington Mouseworks extensions are all 32-bit and, as disappointing as it may be, I’m betting that Kensington will not be updating it to 64-bit. Even the drivers for their latest SlimBlade trackball have not been updated since 2007.

I tried restarting and holding down the 6 and 4 keys, and that didn’t boot me into 64-bit kernel mode. Shutting down and then cold-booting, while holding down the 6 and 4 keys, didn’t work. I wonder why my Mac Pro won’t boot into 64-bit kernel mode. The only 32-bit extensions I have left are BSDKernel6.0, IOKit6.0, Libkern6.0, Mach6.0, and System6.0. So, what’s preventing me from booting into 64-bit kernel mode?

John Martellaro

MOSiX : I believe that only the Nehalem-based Mac Pros will boot into 64-bit kernel ->  MacPro 4,1.  What type is yours?

-JM

cb50dc

Very helpful. Thank you.

MOSiX Man

Thanks John M. I’ve actually found the answer to my own question. It appears that only Macs with 64-bit EFI can boot Mac OS X 10.6 in ‘64-bit mode’.

Easy way to tell if your Mac has 32-bit or 64-bit EFI, is to run the following command in the terminal:
ioreg -l -p IODeviceTree | grep firmware-abi

(BTW: that first switch is a lower-case L, not a 1.)

Unfortunately, on my Mac, the answer to that command is “firmware-abi” = <“EFI32”>, so no 64-bit kernel for me! Maybe once enough time has passed for most devs to update their drivers/extensions to 64-bit, Apple will update Mac OS X 10.6.x to allow it to boot with a 64-bit kernel on a 32-bit
EFI. Or, maybe we can hope that they’ll put out 64-bit EFI/firmware updates for those Macs that currently have 32-bit EFI could run a 64-bit EFI. I know my Mac Pro1,1 is hungry for 64-bit EFI! smile

BAP

Glad to know this, I had been hitting myself for not picking up one of the older Xeons on refurbish - this could have issues down the line. Also means that some of my hardware may need to be updated later.

Still waiting on FW3200 - I believe this is why all Macs now have 800 as it is supposed to be compatible. Therefore all Macs have FW3200 waiting for product !

by the way, please change word to word and number

rpaege

Easy way to tell if your Mac has 32-bit or 64-bit EFI, is to run the following command in the terminal:
ioreg -l -p IODeviceTree | grep firmware-abi

I ran this on my MacBook Pro and I got <?EFI64?>.  I still can’t boot into 64bit mode by holding down the 6+4 keys at startup.

MOSiX Man

I ran this on my MacBook Pro and I got <?EFI64?>.? I still can?t boot into 64bit mode by holding down the 6+4 keys at startup.

Sorry about that. From other information I’ve more recently read, there are actually only a selection of models that support booting into 64-bit mode.

Here’s a link to the article with the information:

http://www.osnews.com/story/22009/Snow_Leopard_Seeds_Use_32bit_Kernel_Drivers_by_Default

rpaege

Thanks for the info.  It looks as if my MBP may be enabled some time in the future because it has one of the “artificial” limitations even though it has EFI64.

DarkHorseMBA

I tried the 6+4, on my MacBook Pro 4.1 and the system booted into 64bit.
Not sure if there is perceivable difference.  Why would I want to run this way?  I can already see my full 4GB of ram in 32Bit.

Can anyone enlighten me?

Brian

This is a great idea to see what people need to update before their systems are completely ready for a 64bit kernal :D im one down with litle snitch. next up soundflower

Jason

I’ve boot Snow Leopard in the 64 Bit Kernel mode, and the 32 Bit Applications STILL work.  What is the fear of most users using 64 bit kernel boot up if that is so?  Is it because some EXTENSIONS are not 64 bit (most of those seem like for older systems anyways) but that APPLICATIONS in 64 bit mode would still work even if the application is still only in 32 bit mode?

John Martellaro

Jason,
I think the motivation to boot into full 64-bit mode is what might be called purity of spirit. It’s an obsession or fetish, and it light of what Apple has done to make this migration painless, isn’t really necessary for the home user.

iJack

It may be on obsession, John, but this is definitely NOT what Apple promised.

Deny

Here’s why some of you can’t boot the 64-bit kernel:

Although the new MacBook line no longer uses the X3100, Mac OS X 10.5 (Leopard) ships with drivers supporting it that require no modifications to the kext file. Mac OS X 10.6 (Snow Leopard), which includes a new 64-bit kernel in addition to the 32-bit one, does not include 64-bit X3100 drivers. This means that although the MacBooks with the X3100 have 64-bit capable processors and EFI, Mac OS X must load the 32-bit kernel to support the 32-bit X3100 drivers.

Source: Wikipedia
http://en.wikipedia.org/wiki/Intel_GMA#Mac_OS_X

PS. I also want to run my kernel in 64 bit mode. It doesn’t matter why, my Macbook is capable of doing it and I’ll be VERY upset if it doesn’t JUST BECAUSE APPLE DIDN’T BOTHER TO RELEASE THE APPROPRIATE DRIVERS FOR A COMPUTER THAT IS NEARLY ONE YEAR OLD.

Jim

Yep, none of my 3 recent 64 bit EFI macs will boot in 64 bit mode, and it seems that the reason is that the actual Snow Leopard installer selectively loads the 64 bit extensions into a list of macs of Apple’s choosing absent of a known technical reason. So no 64 bit kernel here regardless of the compatibility.

I feel like I was hoodwinked.

Log-in to comment