Lion Brings 64-bit kernel to systems previously incompatible?

Discussion in 'Mac OS X Lion (10.7)' started by rossip, Aug 3, 2011.

  1. macrumors regular

    Joined:
    Feb 13, 2011
    #1
    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!
     
  2. macrumors 6502

    miknos

    Joined:
    Mar 14, 2008
    #2
    I have a macbook 4,1.

    It continues to be 32bit kernel.
     
  3. macrumors regular

    Joined:
    Jul 1, 2010
    #3
    Ditto on MacPro1,1 - still 32bit kernel.
     
  4. cinematicme, Aug 3, 2011
    Last edited: Aug 3, 2011

    macrumors member

    cinematicme

    Joined:
    Aug 2, 2011
    #4
    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

    [​IMG]
     
  5. thread starter macrumors regular

    Joined:
    Feb 13, 2011
    #5

    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.
     
  6. macrumors 6502a

    Joined:
    Jun 18, 2011
    #6
    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.
     
  7. thread starter macrumors regular

    Joined:
    Feb 13, 2011
    #7
    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.
     
  8. macrumors 601

    Joined:
    Jul 4, 2007
    Location:
    Denver Colorado
    #8
    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.
     
  9. macrumors member

    cinematicme

    Joined:
    Aug 2, 2011
    #9
    If anyone in this thread is terminal savy, theres a command to write to the boot.plist foricing 64bit

    Code:
    sudo systemsetup -setkernelbootarchitecture x86_64
     
  10. macrumors 601

    Joined:
    Jul 4, 2007
    Location:
    Denver Colorado
    #10
    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.
     
  11. macrumors member

    cinematicme

    Joined:
    Aug 2, 2011
    #11
    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.
     
  12. macrumors 68030

    fisherking

    Joined:
    Jul 16, 2010
    Location:
    brooklyn
    #12
    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...
     
  13. macrumors 68030

    tkermit

    Joined:
    Feb 20, 2004
    #13
    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?
     
  14. macrumors member

    cinematicme

    Joined:
    Aug 2, 2011
    #14
    Your throttled by the 32bit kernel and extensions, raw performance wise.
     
  15. CyBeRino, Aug 3, 2011
    Last edited: Aug 3, 2011

    macrumors 6502a

    Joined:
    Jun 18, 2011
    #15
    Uh. Who do you think writes the EFI in these machines?


    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.
     
  16. thread starter macrumors regular

    Joined:
    Feb 13, 2011
    #16
    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!
     
  17. macrumors 65816

    Joined:
    Apr 10, 2008
    Location:
    Auckland, New Zealand
    #17
    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 :).
     
  18. macrumors member

    cinematicme

    Joined:
    Aug 2, 2011
    #18
    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.

    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.
     
  19. macrumors 601

    Joined:
    Jul 4, 2007
    Location:
    Denver Colorado
    #19
    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.
     
  20. thread starter macrumors regular

    Joined:
    Feb 13, 2011
    #20
    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.)?
     
  21. macrumors 601

    Joined:
    Jul 4, 2007
    Location:
    Denver Colorado
    #21
    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.
     
  22. macrumors 6502

    Joined:
    May 6, 2008
    #22
    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).
     
  23. thread starter macrumors regular

    Joined:
    Feb 13, 2011
    #23
    Oops, you're right, my bad, I guess there is no contradiction then. :)
     
  24. macrumors 6502a

    Joined:
    Jun 18, 2011
    #24
    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.

    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.
     

Share This Page