PDA

View Full Version : Lion Brings 64-bit kernel to systems previously incompatible?




rossip
Aug 3, 2011, 02:11 PM
I recently noticed that my iMac7,1 appears to be running a 64-bit kernel since upgrading to lion. This is interesting since my mac was previously incompatible with a 64-bit kernel in Snow Leopard. Can anyone else confirm this about the iMac7,1 and / or other previously incompatible macs? To tell if you are running a 64-bit kernel:

http://support.apple.com/kb/HT4287

Also, my apologies if this was previously reported. If so, could one kindly provide the link, thanks!



miknos
Aug 3, 2011, 02:18 PM
I have a macbook 4,1.

It continues to be 32bit kernel.

spidey3
Aug 3, 2011, 02:23 PM
I have a macbook 4,1.
It continues to be 32bit kernel.

Ditto on MacPro1,1 - still 32bit kernel.

cinematicme
Aug 3, 2011, 02:33 PM
I have a macbook 4,1.

It continues to be 32bit kernel.

Hold the 6 and 4 keys on your keyboard on boot to get to 64bit, at least thats how it worked in Snow Leopard.

BTW 64bit compatibility is based on your processor. If you have a 64bit processor....you can do 64bit.


Ditto on MacPro1,1 - still 32bit kernel.

Same thing for you, the MacPro 1,1 processor is 64bit.

Original Poster: Draeconis http://forums.macrumors.com/archive/index.php/t-1165995.html

You can use the command uname -a in terminal to see what kernel its using.

RELEASE_i386 i386 is 32bit and RELEASE_X86_64 x86_64 is 64bit.

Im running a hackintosh setup with a core i5 and it defaulted to 32 bit.

Add 'arch=x86_64' to the kernel flags in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist, that'll force boot that 64bit kernel.

Heres a screenshot of my macbook pro 4,1 after holding the 6 and 4 keys on boot

http://f.cl.ly/items/240w3M1g1O472G3K1R3G/Screen%20Shot%202011-08-03%20at%204.27.16%20PM.png

rossip
Aug 3, 2011, 04:20 PM
Hold the 6 and 4 keys on your keyboard on boot to get to 64bit, at least thats how it worked in Snow Leopard.

BTW 64bit compatibility is based on your processor. If you have a 64bit processor....you can do 64bit.




Same thing for you, the MacPro 1,1 processor is 64bit.

Original Poster: Draeconis http://forums.macrumors.com/archive/index.php/t-1165995.html



Heres a screenshot of my macbook pro 4,1 after holding the 6 and 4 keys on boot

Image (http://f.cl.ly/items/240w3M1g1O472G3K1R3G/Screen%20Shot%202011-08-03%20at%204.27.16%20PM.png)


What's also interesting is that I don't have to hold down 6 and 4 during boot, my iMac is running the 64-bit kernel by default automatically. In snow leopard, even if I held down 6 and 4, the iMac7,1 would still boot the 32-bit kernel.

CyBeRino
Aug 3, 2011, 04:24 PM
What's also interesting is that I don't have to hold down 6 and 4 during boot, my iMac is running the 64-bit kernel by default automatically. In snow leopard, even if I held down 6 and 4, the iMac7,1 would still boot the 32-bit kernel.

That's because the SL kernel didn't support your system in 64-bit mode. Lion's kernel does. It just means they added the support, not that some miracle happened.

Some Macs still run the kernel in 32-bit mode in Lion. In theory they (Apple) could run the 64-bit kernel on any CPU since the C2D, but they'd have to write (or at the very least adapt) the platform drivers for it, which they haven't done for all models.

rossip
Aug 3, 2011, 04:42 PM
That's because the SL kernel didn't support your system in 64-bit mode. Lion's kernel does. It just means they added the support, not that some miracle happened.

Some Macs still run the kernel in 32-bit mode in Lion. In theory they (Apple) could run the 64-bit kernel on any CPU since the C2D, but they'd have to write (or at the very least adapt) the platform drivers for it, which they haven't done for all models.

lol, I never thought it was a miracle, merely interesting. It was my understanding that the issue is more complicated than just having a 64-bit processor, that the EFI firmware of some early 64-bit intel macs would only boot a 32-bit kernel.

hexonxonx
Aug 3, 2011, 05:12 PM
I too have a 4,1 MB. It runs only in 32 bit kernel even when starting up holding the 6 and 4 keys on startup.

When I installed bootcamp and Windows 7, I too had to install W7 32 bit. 64 bit was incompatible with this MB.

cinematicme
Aug 3, 2011, 05:17 PM
If anyone in this thread is terminal savy, theres a command to write to the boot.plist foricing 64bit

sudo systemsetup -setkernelbootarchitecture x86_64

hexonxonx
Aug 3, 2011, 05:18 PM
If anyone in this thread is terminal savy, theres a command to write to the boot.plist foricing 64bit

sudo systemsetup -setkernelbootarchitecture x86_64

Correct but that still doesn't force startup in 64 bit on the 4,1 early 2008 black MB. I tried that command weeks ago.

cinematicme
Aug 3, 2011, 05:51 PM
Correct but that still doesn't force startup in 64 bit on the 4,1 early 2008 black MB. I tried that command weeks ago.

Thats because for that model you need to patch the boot.efi

Here's how to do it.

http://netkas.org/?p=189


it's because the machine’s model is prohibited from booting K64 through a hardcoded list within the boot loader. From what I've read, it's because 64bit is reserved for "Pro" machines, and "non-pro" machines get the 32bit.

This is possibly why Apple discontinued the white Macbook, as the EFI prohibits 64bit, which would suck for Lion.

fisherking
Aug 3, 2011, 05:55 PM
my late-2008 macbook (the aluminum one where apple forgot to keep firewire..:roll eyes: ) now runs 64bit apps (like logic...woohoo!).
didn't do that in snow leopard...

tkermit
Aug 3, 2011, 06:19 PM
my late-2008 macbook (the aluminum one where apple forgot to keep firewire..:roll eyes: ) now runs 64bit apps (like logic...woohoo!).
didn't do that in snow leopard...

While Lion should actually boot into the 64bit kernel on your machine, I don't see what that has to do with the ability to run 64bit apps?

cinematicme
Aug 3, 2011, 06:24 PM
While Lion should actually boot into the 64bit kernel on your machine, I don't see what that has to do with the ability to run 64bit apps?

Your throttled by the 32bit kernel and extensions, raw performance wise.

CyBeRino
Aug 3, 2011, 06:33 PM
This is possibly why Apple discontinued the white Macbook, as the EFI prohibits 64bit, which would suck for Lion.

Uh. Who do you think writes the EFI in these machines?


Your throttled by the 32bit kernel and extensions, raw performance wise.

No, you aren't. In fact, raw performance-wise 64-bit is often slower than 32-bit, unless the application actually needs the (extra) 64-bit registers and the extra memory space. Why? Because 64-bit data takes more time to shuffle around.

And even if you were, it'd only be the OS running in 32-bit mode. Applications compiled as 64-bit binaries still run in 64-bit, with all the extra registers and memory space available.

rossip
Aug 3, 2011, 09:08 PM
I too have a 4,1 MB. It runs only in 32 bit kernel even when starting up holding the 6 and 4 keys on startup.

When I installed bootcamp and Windows 7, I too had to install W7 32 bit. 64 bit was incompatible with this MB.

I had the same problem as you with windows 7 64-bit not working on my iMac7,1. The issue seem to be with the file system used with the windows 7 64-bit install dvd's and early 64-bit intel mac EFI's inability to boot them. You can install windows 7 64 bit after making a custom boot disk. Here are the instructions:

https://discussions.apple.com/thread/2372797?start=0&tstart=0

Note that you will get an error message when you try to install the Boot Camp x64 drivers. It's no big deal as you can force the proper drivers to install using these instructions:

http://blog.andersonshatch.com/2009/01/11/windows-7-x64-on-a-macbook-pro-guide/

Enjoy!

MartiNZ
Aug 3, 2011, 09:48 PM
Interesting. My 4,1 MBP is defaulting to 64-bit after Lion fresh install, I'm quite excited to find that out - there's life in the old dodgy logic board yet :).

cinematicme
Aug 4, 2011, 12:47 AM
Uh. Who do you think writes the EFI in these machines?

And who do you think has to devote the resources and time to rewriting the firmware on discontinued legacy devices? Apple is scaling down support for legacy hardware and software, Lion even requires you to use Windows 7 for bootcamp, with no support for XP or Vista. If you haven't noticed apple is all about NEW.


No, you aren't. In fact, raw performance-wise 64-bit is often slower than 32-bit, unless the application actually needs the (extra) 64-bit registers and the extra memory space. Why? Because 64-bit data takes more time to shuffle around.

And even if you were, it'd only be the OS running in 32-bit mode. Applications compiled as 64-bit binaries still run in 64-bit, with all the extra registers and memory space available.

I can notice the difference, not to mention the majority of apps I use benefit from it, as i use Pro editing/compositing/3D studio/audio apps and tools all the time.

hexonxonx
Aug 4, 2011, 01:00 AM
Thanks for the help on the 4,1 64 bit and Windows 7 links. I'll work on them in the next in the morning and see how it goes.

rossip
Aug 4, 2011, 09:29 AM
Interesting. My 4,1 MBP is defaulting to 64-bit after Lion fresh install, I'm quite excited to find that out - there's life in the old dodgy logic board yet :).

That is interesting considering it contradicts other 4,1 MBP users who still boot a 32-bit kernel by default. I failed to mention earlier that I too did a clean install from boot disk on my iMac7,1. Perhaps this has something to do with it. Miknos, cinematicme, and hexonxonx, how did you install lion on your macbook pro's (clean install, in place upgrade, etc.)?

hexonxonx
Aug 4, 2011, 09:39 AM
That is interesting considering it contradicts other 4,1 MBP users who still boot a 32-bit kernel by default. I failed to mention earlier that I too did a clean install from boot disk on my iMac7,1. Perhaps this has something to do with it. Miknos, cinematicme, and hexonxonx, how did you install lion on your macbook pro's (clean install, in place upgrade, etc.)?

Mine is a MB 4,1, not a MBP. That may be what enables the 64bit kernal on this persons is that it's a MBP.

Draeconis
Aug 4, 2011, 10:06 AM
Hold the 6 and 4 keys on your keyboard on boot to get to 64bit, at least thats how it worked in Snow Leopard.

BTW 64bit compatibility is based on your processor. If you have a 64bit processor....you can do 64bit.


Same thing for you, the MacPro 1,1 processor is 64bit.

Original Poster: Draeconis http://forums.macrumors.com/archive/index.php/t-1165995.html


Heres a screenshot of my macbook pro 4,1 after holding the 6 and 4 keys on boot

Image (http://f.cl.ly/items/240w3M1g1O472G3K1R3G/Screen%20Shot%202011-08-03%20at%204.27.16%20PM.png)

Unfortunately, it doesn't quite work like that, as I learnt in a previous conversation with hexonxonx.

Compatibility with the 64bit kernel is more hit and miss than I previously thought. For example;

MacPro1,1, EFI32, 64bit CPU, won't run 64bit kernel.
iMac5,1, EFI32, 64bit CPU, won't run 64bit kernel.
MacBook4,1, EFI64, 64bit CPU, won't run 64bit kernel.
MacBookPro4,1 EFI64, 64bit CPU, runs 64bit kernel by default. (I'm typing this on one!)

Clearly, Netkas does provide some method of hacking to enable 64bit support, but to be honest, unless you're using your machine for something that requires more than 4Gb, you're probably better off sticking with the 32bit kernel, as the 64bit demands more resources, so will be slower for most 32bit tasks (not by much, but still).

rossip
Aug 4, 2011, 02:11 PM
Mine is a MB 4,1, not a MBP. That may be what enables the 64bit kernal on this persons is that it's a MBP.

Oops, you're right, my bad, I guess there is no contradiction then. :)

CyBeRino
Aug 4, 2011, 03:50 PM
And who do you think has to devote the resources and time to rewriting the firmware on discontinued legacy devices? Apple is scaling down support for legacy hardware and software, Lion even requires you to use Windows 7 for bootcamp, with no support for XP or Vista. If you haven't noticed apple is all about NEW.


If there is a good reason for Apple to support the 64-bit kernel on those slightly older machines, they will do it.

However it so happens there is no benefit at all, so indeed it's not worth the time doing it. But don't think they're being held back by EFI. They write the EFI. They could make it run on a toaster if they'd want to.


I can notice the difference, not to mention the majority of apps I use benefit from it, as i use Pro editing/compositing/3D studio/audio apps and tools all the time.

As I said, it depends on the application. If it benefits from the much enlarged memory address space, yes you'll notice the difference immediately. If it's more of a CPU calculation thing, it's an entirely different deal. It then depends on what exactly it's doing.

But I'm not kidding: 64-bit operations take slightly more time to do than 32-bit operations. This is why most of Solaris still comes as 32-bit binaries, even current versions don't actually run on non-64-bit processors (we think 64-bit things are newfangled, but in reality SPARC processors have been fully 64-bit for over a decade now.)

Now, in x86_64 you get a bunch of extra registers compared to IA32, so there is indeed some good potential for speed increase there if they are used appropriately. SPARCs already have those extra registers (as do PowerPCs and POWERs btw, the same applies for these) so there's generally no benefit to compiling as a 64-bit binary unless you need the larger memory address space or ability to natively handle the larger ints.