As far as I know, System Profiler won't display information for any .kext's that are being loaded and are located somewhere else besides the /System/Library/Extensions/ folder.
To get comprehensive information about the kernel extensions which are currently loaded and in use on your Mac, you can use the kextstat
command line tool.
Open up the Terminal application (in the /Applications/Utilities/ folder), type the following at the prompt, and then hit return:
kextstat
You will get a large list of all the loaded kernel extensions. You'll primarily want to focus on the bundle identifiers of the loaded .kexts. (That's the backwards domain name string such as "com.apple...."). You should be able to eliminate the ones that include "com.apple", as those will be Apple's and should have a K64 version. Once you've gotten rid of those, you'll then need to go over the remaining ones to make sure they are built as universal K32+K64 versions, or whether you may need to make sure you have the latest updates.
For example, after eliminating all the Apple kexts on the output I get, I have the following kexts listed. Since I switched to K64 a year or so ago, all of these are in order so everything is fine.
MacPro:~ mdouma46$ kextstat
Index Refs Address Size Wired Name (Version) <Linked Against>
73 0 0xffffff7f8111a000 0x8000 0x8000 com.AmbrosiaSW.AudioSupport (3.2) <72 5 4 3 1>
81 0 0xffffff7f811bf000 0x9000 0x9000 jp.plentycom.driver.SteerMouse (4.0.2) <55 29 24 5 4 3>
105 0 0xffffff7f81499000 0x5000 0x5000 com.Cycling74.driver.Soundflower (1.5.2) <72 5 4 3>
115 0 0xffffff7f814bf000 0xd1000 0xd1000 com.vmware.kext.vmx86 (3.1.2) <7 5 4 3 1>
116 0 0xffffff7f81590000 0xc000 0xc000 com.vmware.kext.vmci (3.1.2) <5 4 3 1>
117 0 0xffffff7f8159c000 0x7000 0x7000 com.vmware.kext.vmioplug (3.1.2) <29 24 5 4 3 1>
118 0 0xffffff7f815a3000 0xa000 0xa000 com.vmware.kext.vmnet (3.1.2) <5 4 3 1>
119 0 0xffffff7f815ad000 0x2000 0x2000 com.nvidia.CUDA (1.1.0) <4 1>
64-bit Mac CPUs cannot boot 64-bit kernel due to one of the following reasons:
- The machine has 32-bit EFI.
- The machine’s model is prohibited from booting K64 through a hardcoded list
within the boot loader. (The list excludes "non-Pro" machines.)
Both limitations are artificial and imposed by Apple, although the first one is important because if a 32-bit EFI were allowed to boot the kernel wouldn't be able to use firmware services.
IF you really, really, really want to boot these machines with a 64-bit kernel, you'll need to perform hackery on /System/Library/CoreServices/boot.efi
. This is quite risky. More info:
http://osxbook.com/blog/2009/08/31/is-your-machine-good-enough-for-snow-leopard-k64/
Best Answer
Short answer: if your model of MacBook has a 64-bit capable CPU, you can run 64-bit apps under 10.5.8. You can check the CPU with the command
sysctl hw.cpu64bit_capable
(0
means no,1
means yes) or by looking up the model (if it has a "Core Solo" or "Core Duo" CPU it's 32-bit only; if it's a "Core 2 Duo" -- note the "2" -- it's 64-bit).Long answer: OS X doesn't have 32-bit and 64-bit versions; it uses a universal binary format which allows programs, system components, etc to be installed with both 32- and 64-bit code, and the system simply picks the "best" one to use based on the CPU you're on. Over different versions of OS X, what comes with the OS has gradually migrated from 32-bit-only (through 10.2) to having minimal support for background-only 64-bit apps (10.3 and 10.4), to full support for 64-bit Cocoa apps (10.5), to a full 32/64 OS including the kernel (10.6) to actually starting to drop support for 32-bit mode (10.7 shipped with many 64-bit-only system apps, and will not run on a 32-bit-only CPU).
The 64-bit-capable kernel that was added in 10.6 is cool, but basically irrelevant to user applications. OS X is unusual in that it can transparently run 64-bit apps under a 32-bit kernel as well as 32-bit apps under a 64-bit kernel. Since 10.5 has full support for 64-bit Cocoa apps, upgrading to 10.6 is not necessary.
Adendum: even if you do upgrade to 10.6, the kernel may not actually run in 64-bit mode -- Apple configured it to boot in 32-bit mode on most models by default. If your model uses 64-bit EFI firmware, you can configure 10.6 to boot in 64-bit mode, but if it's an older one that uses 32-bit EFI, even that's not possible. But again, it doesn't really matter, since 64-bit apps work fine either way.