Apple Event: May 7th at 7 am PT

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

MacBookPro3,1 + Snow Leopard = 32 bits.

The MacBookPro 3,1 should be capable of running the 64 bit kernel but it's not on the list.

Core2duo = 64 bit
Santa Rosa chipset = 64 bit (I have 4GB and it can use it all)

Yet with the 6+4 key press, the Boot.plist and nvram modifications this will not boot into 64 bit kernel.

My reason for wanting this is that I'm concerned with a 32 bit kernel mode then OpenCL drivers will only allow addressing of 2GB.

I know in the past that nVidia CUDA & ATI CTM GPGPU drivers only supported 32 bit on PC platforms until they decided to move forward.

So what reason is there? Is the MBP3,1 considered obsolete Apple?

MBP3,1 15" 2.4 SR, 4GB, 120GB SSD, Mac OS X (10.6)

Posted on Aug 29, 2009 4:37 AM

Reply
192 replies

Oct 2, 2009 2:21 PM in response to R C-R

R C-R wrote:
I may not be specialized in OSX but the concepts behind it are more or less the same like in any Unix system.


XNU is not just K32 or K64.


That says it all. Listen, I'm getting tired of this. Look:

<open terminal> (for the Unix dummies) and type:

BlueMoon:~ Michele$ lipo -info /mach_kernel
Architectures in the fat file: /mach_kernel are: x86_64 i386 ppc

Now, please, tell us: what x86_64, i386 and ppc means?

And best of all... what did I just type?

BTW Michele is the Italian name for Michael in English. Michel on Francais, Miguel en Espanol. Just for not getting confused.

Oct 3, 2009 12:38 AM in response to Michelasso

Now, please, tell us: what x86_64, i386 and ppc means?


It means the file mach_kernel is a "universal" (multi-architecture) file, supporting those three architectures. (See the Manual Page For arch(3) for a list of all currently known architectures & the Manual Page For arch(1) for more about universal binaries in general.)

And best of all... what did I just type?


Something that in no way contradicts the fact that XNU is not just the mach_kernel file?

Oct 3, 2009 1:01 AM in response to kaosdroid

kaosdroid wrote:
dude.. you aren't seriously saying this... right? that is now really really rough…


I'm seriously saying it & so is Apple. From Mac Dev Center: Porting UNIX/Linux Applications to Mac OS X: Glossary:

"XNU The Mac OS X kernel. The acronym stands for X is Not Unix. XNU combines the functionality of Mach and BSD with the I/O Kit, the driver model for Mac OS X."

If nothing else, look at the title of the parent document. Ask yourself why it would say porting UNIX apps to OS X if OS X was UNIX.

It's pretty obvious at this point that some of you have no interest in reading the material in the links I have previously provided, but maybe this one's title will stimulate more interest: What is Mac OS X?, especially the page XNU: The Kernel.

Oct 3, 2009 8:23 AM in response to R C-R

R C-R wrote:
Now, please, tell us: what x86_64, i386 and ppc means?


It means the file mach_kernel is a "universal" (multi-architecture) file, supporting those three architectures. (See the Manual Page For arch(3) for a list of all currently known architectures & the Manual Page For arch(1) for more about universal binaries in general.)


Correct. So before you basically wrote that XNU is not just the architecture it runs on. What was the need to stress such a trivial thing?

And best of all... what did I just type?


Something that in no way contradicts the fact that XNU is not just the mach_kernel file?


And who here has ever said that, or even worse that XNU is just K32 or K64 (which makes no sense at all as a definition)? It has been said that mach_kernel is the core of the kernel. Which is correct:

http://en.wikipedia.org/wiki/Xnu#Mach :

Mach
The core of the XNU kernel, Mach, [...]

If I remember correctly you denied this as well. Also it is the one that once we'll be able to run with the x86_64 architecture (present in SL only) will make the whole XNU running in 64 bit mode. This mode will discard all 32 bits device drivers because the stupid I/O Kit, which is JUST a framework, doesn't have a definition for having the 64 bits core kernel interfacing with device drivers (aka kernel extensions or kext) that are not 64 bits.

Which is what people asking for the 64 bits kernel have said since the beginning of this discussion, and I still don't understand what's to argue about that. As soon as the x86_64 arch of mach_kernel loads and takes control, the kernel will be at 64 bits. 32 bits kext will be ignored. If 64 bits kext for all I/O devices are present the Mac will be fully functional (unless of bugs in the device drivers, sure), otherwise some devices will be like "turned off" (I can't think now a better English term. Sorry if English is my second language). Which is what happens to some devices in hackintoshes that are not compatible.

That works, and it has been proved all over the Internet, for ALL Macs with EFI64. I admit that it may be impossible *right now* for Macs with EFI32 to execute the x86_64 arch of mach_kernel for the simple reason that mach_kernel may not be able to "suck in" the device tree from EFI32 (via boot.efi? That is the one still obscure to. Now if yoy have the answer I'll be grateful), producing a kernel panic.

That's why the only way to perform such task could be to have an extra 64 bits layer for the EFI that takes the device tree from EFI32 and passes it to mach_kernel, in the same exact way the hackintoshes via PC EFI cheat the kernel making it thinking that the BIOS (even the 32 bits ones) is instead an EFI64 (also it pretends to be a Mac not in the black list and force the boot option to be x86_64). Netkas claimed that PCEFI should work for EFI32 Macs as well, but I'm pretty sure that it doesn't. After all PCEFI is made for BIOS machines. Making it running over EFI may simply be not compatible with the program.

I would be glad if you explain what doesn't make sense in all of the above and why. I also would be glad to understand why there are BIOS machines with GMA 950 (netbooks) running SL at 64 bits and instead my Mac shouldn't have the hw to do the same thing.

Message was edited by: Michelasso

Oct 3, 2009 8:42 AM in response to R C-R

R C-R wrote:
kaosdroid wrote:
dude.. you aren't seriously saying this... right? that is now really really rough…


I'm seriously saying it & so is Apple. From Mac Dev Center: Porting UNIX/Linux Applications to Mac OS X: Glossary:

"XNU The Mac OS X kernel. The acronym stands for X is Not Unix. XNU combines the functionality of Mach and BSD with the I/O Kit, the driver model for Mac OS X."

If nothing else, look at the title of the parent document. Ask yourself why it would say porting UNIX apps to OS X if OS X was UNIX.


1. XNU is not OSX either, and that acronym just generates confusion.
2. Darwin is compatible with the Single UNIX Specification version 3 (SUSv3) and POSIX UNIX applications and utilities
3. The article you mentioned says "porting Unix/LINUX applications...". The simple point is that most Unix public domain apps are first written for Linux and then ported to other Unix systems.

Anyway, please check this: http://www.apple.com/macosx/what-is-macosx/

... "Mac OS X is the world’s most advanced operating system. Built on a rock-solid UNIX foundation"... "Power of UNIX. Simplicity of the Mac".

Unless you wanna say that Apple ads cheat people... Seriously, why do you argue about things like these? OSX is based on a Unix system. Even Apple says so. There isn't much to doubt about it.

Oct 4, 2009 1:12 AM in response to Michelasso

Seriously, why do you argue about things like these? OSX is based on a Unix system. Even Apple says so.


Short answer: "based on" is not the same as "is."

Longer answer: Until you understand that the OS X kernel is substantially different from the traditional kernels of other UNIX-like OS's & how it is different, you aren't going to understand much of what I've been talking about in all these posts. I've provided more than enough links for that.

If nothing else, read the article by Amit Singh about XNU ( XNU: The Kernel). (This is the same author that posted Is Your Machine Good Enough for Snow Leopard K64?, the seminal discussion of that topic.)

Oct 18, 2009 5:57 AM in response to Nick 1066

Nick 1066 wrote:
The MacBookPro 3,1 should be capable of running the 64 bit kernel but it's not on the list.


If you are a bit adventurous, I found a solution and I posted it at netkas.org.

I reckon this forum is not the right one to post hacks 🙂

But to answer the original thread, yes the MacBook Pro 3,1 can boot with 64bit kernel if you patch boot.efi

So MacBook Pro 3,1 + Snow Leopard = 64bit 🙂

Jan 8, 2010 3:48 PM in response to Nick 1066

I have a MacBookPro 3,1 and now I am running in 64 bit.

Go here - http://netkas.org/?p=189#comments

and

Look for a comment written by jakudlaty[-at-]gmail.com

Make sure you backup and know how to fix in case something goes wrong.

After a successful restart, I emptied caches and repaired Disk Permissions, then restarted again.

All are working perfectly fine.

Thanks, rex_4539.

Feb 1, 2010 6:22 AM in response to juno kang

so what's the conclusion? we have 10.6.2, all the drivers are there in 64bit, but we still cannot boot the 64bit kernel on a mbp 3,1 without hacking the bootefi.
that's a little irritating.

juno kang wrote:
I have a MacBookPro 3,1 and now I am running in 64 bit.


what are your experiences? any improvements over the 32bit kernel? is it worth the hacking effort?

Feb 15, 2010 4:44 AM in response to borad

I run some of most CPU intensive softwares for signal processing, and I found (felt) that running 32 bit apps aren't faster at all with 64 bit kernel. It also seemed like these apps crashed more than usual, so after using it for about a month, I decided to switch the kernel back to 32 bit. No real difference here when used with 4GB of ram.

MacBookPro3,1 + Snow Leopard = 32 bits.

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.