Mac Pro Classic, Snow Leopard, and 64-bit kernel

Discussion in 'Mac Pro' started by bozz2006, Jul 12, 2009.

  1. bozz2006 macrumors 68030

    bozz2006

    Joined:
    Aug 24, 2007
    Location:
    Minnesota
    #1
    Hello, and thanks in advance for your thoughts and your help. A question was brought up on the macrumors forums about the shortcomings of the 2006 mac pro. Basically someone said that he would not get a used 2006 mac pro because "it can't boot into Leopard in 64-bit." I asked him what he meant and he said that he didn't think it was "true" 64 bit because in his system info it says "64 bit kernel and extensions - no". I poked around a little bit and found a good article:

    RIGHT HERE

    detailing that Leopard runs on a 32 bit kernel, mainly because every extension must be 64 bit in order to run on a 64 bit kernel, and that Leopard can run 64 bit applications even though it runs on a 32 bit kernel. The article states that Snow Leopard will be the first operating system on a 64 bit kernel.

    Now, my question. Since my Mac Pro runs on 32 bit EFI instead of the new EFI 64, will I be able to have a similar 64 bit Snow Leopard experience? Will my EFI on my antique mac pro really limit the 64 bit Snow Leopard experience? Will my aluminum macbook be able to "do" more with snow leopard than my mac pro? and lastly, I am currently running the Radeon 4870 in my mac pro, since the guys at ATI snuck the 32 bit EFI onto the card as well as the 64 bit EFI, somehow. I wonder what's going to happen with all this when Snow Leopard drops. This question was brought up in a thread a few days ago and it got me thinking. I asked this question at the apple boards but have gotten no feedback. So, all of you smart folks, I look forward to your sage words on the matter.
     
  2. gugucom macrumors 68020

    gugucom

    Joined:
    May 21, 2009
    Location:
    Munich, Germany
    #2
    I would not be too concerned. EFI and BIOS are fairly basic pieces of software that have no other purpose than getting a operating system started. Once the OS runs the EFI has done its job and isn't needed any more. You can compare it with the boost stage of an intercontinental rocket. The booster doesn't care if a single payload or a multiple payload sits on top of it. Currently EFI32 can start Vista 64-Bit which is a full 64-Bit system in every regard. Why should it not be capable of doing this with Snow Leopard?
     
  3. netkas macrumors 65816

    Joined:
    Oct 2, 2007
    #3
    try the trick to force efi bootloader to boot 64-bit kernel

    install xcode to get lipo app

    open terminal and run this commands:

    sudo -s
    <type your password>
    cd /
    mv mach_kernel mach_kernel.old
    lipo -thin x86_64 mach_kernel.old -o mach_kernel


    of course you can do it only in snow leopard

    good luck, and report plz if it works

    4870 rom is nor 32-bit neither 64-bit, it's Efi ByteCode (EBC), architecture independent.
     
  4. bozz2006 thread starter macrumors 68030

    bozz2006

    Joined:
    Aug 24, 2007
    Location:
    Minnesota
  5. AdvocateUK macrumors regular

    AdvocateUK

    Joined:
    Jan 10, 2008
    Location:
    Billingham, United Kingdom
    #5

    If I do this and it doesn't work, what will my MP boot into? Will it even boot?
     
  6. JPamplin macrumors 6502

    JPamplin

    Joined:
    Mar 12, 2009
    Location:
    Nashville, TN
    #6
    Thanks, guys, I was wondering why the SL beta wouldn't load the 64-bit kernel - now I know, the beta isn't 100% 64-bit clean yet, with drivers and everything. A-ha.

    I really do hope the SL ATI driver will be 64-bit capable. It would be a shame to drop in a 3870/4870 and have that one thing hold you back.

    When is that %^&**(( ATI driver upgrade for 10.5.7 going to be corrected? My VMWare is hobbled in 3D until it does. Drat!

    Anyone heard anything?

    JP
     
  7. bozz2006 thread starter macrumors 68030

    bozz2006

    Joined:
    Aug 24, 2007
    Location:
    Minnesota
    #7
    But since the 2006 Mac Pro runs 32-bit EFI, I'm not confident that it will load 64-bit kernel... I just don't know. And I'm not clear on what that would mean as far as how the machine performs.
     
  8. gugucom macrumors 68020

    gugucom

    Joined:
    May 21, 2009
    Location:
    Munich, Germany
    #8
    You are probably aware that Apple have said only the 4870 is fully SL compatible. I also have the 3870 (with Akasa cooler though) and I hope that ATI will issue a driver update for SL.
     
  9. JPamplin macrumors 6502

    JPamplin

    Joined:
    Mar 12, 2009
    Location:
    Nashville, TN
    #9
    Eek. That's not good - I thought the boot code didn't determine what kernel is loaded (I thought it was the CPU), but I have no idea what determines it.

    lowendmac.com even stated that the 2006 Mac Pro was the first 64-bit Intel Mac.

    Here's a question: Are the 2008/2009 Mac Pros loading the 64-bit kernel with 10.6 build 402? Anyone care to report?

    JP

     
  10. hyram macrumors regular

    Joined:
    Jun 15, 2009
    #10
    From the article Bozz points to... does the 10.6 case (picture on the right revrt to the 10.5 case (picture in the middle if 64 bit drivers aren't (or can't be) loaded because EFI32 hampers the process in some way???

    hyram
     

    Attached Files:

  11. bozz2006 thread starter macrumors 68030

    bozz2006

    Joined:
    Aug 24, 2007
    Location:
    Minnesota
    #11
    I'm not understanding your question. That picture doesn't seem to point to evidence about EFI32 preventing the 64-bit kernel from loading. I'm not saying that EFI32 does or does prevent loading 64-bit kernel, but rather that the picture you linked doesn't seem to indicate one or the other. To be clear, I don't know whether or no EFI32 will prevent loading 64-bit kernel, and that is precisely what I want to know.
     
  12. bozz2006 thread starter macrumors 68030

    bozz2006

    Joined:
    Aug 24, 2007
    Location:
    Minnesota
    #12
    From what I understand, the releases of Snow Leopard to this point are not based on 64-bit kernel.
     
  13. netkas macrumors 65816

    Joined:
    Oct 2, 2007
    #13
    ATI and NVidia drivers already 32/64-bit in snow leopard

    32-bit EFI should be able to run 64-bit kernel jsut fine

    64-bit kernel has own code to switch from 32-bit to 64-bit mode

    stop being so afraid to try the trick, your mac will not die, in worse case boot from dvd, mount your sl partition, then remove mach_kernel from SL partition, and rename mach_kernel.old to mach_kernel.

    hell, even my 32-bit bootloader on pc loads 64-bit kernel just fine.
     
  14. hyram macrumors regular

    Joined:
    Jun 15, 2009
    #14
    Sorry... a little toio vague I guess. I'm not suggesting that the EFI32 in the mp1,1's will prevent the loading of 64 bit drivers. Like you, I don't know. I'm just wondering IF 64 bit drivers can be loaded via the EFI32. In the sturcture on the right, (10.6), the driver and kext layer shows these as 64 bits along with the 64 bit kernel. And I've seen a few reports that the 64 bit kernel won't load if the drivers aren't 64 bits as well.... I don't see any provision for mixin'-and matchin' 32 and 64 bit kernels, kext's, and drivers; and if can't your stuck with the 10.5 structure; 32 bit kernel, kexts, and drivers.

    I for one won't be a very happy camper if this occurs. I know, I've read it a hundred times here already... "it won't matter, it's the future 64 bit apps that matter". Yeah, right. If that is the case, then why is apple even offering a 64 bit kernel??? A 32 bit kerel should be good enough for everyone right???

    I agree with gugucom that the EFI32 boot shouldn't mater. But what if it does??? Color me paranoid.

    hyram
     
  15. netkas macrumors 65816

    Joined:
    Oct 2, 2007
    #15
    well, you are completly wrong.
     
  16. hyram macrumors regular

    Joined:
    Jun 15, 2009
    #16
    I'll be that gladly. But can you please elaborate???

    hyram
     
  17. netkas macrumors 65816

    Joined:
    Oct 2, 2007
    #17
    when you see spinning wheel at boot, there is no more efi, kernel controls all.

    drivers doesnt care what efi you have.

    bootloader(boot.efi) is responsible for loading kexts/mkext for startup, and it perfectly knows about 32/64-bit kexts/mkext and kernel
     
  18. hyram macrumors regular

    Joined:
    Jun 15, 2009
    #18
    Ok, but by the time you get to that point aren’t the drivers… specifically, the video drivers already loaded from the video card??? So don’t you have to have the driver match the version of the EFI??? I’ve seen many a thread where some of the newer video card’s can’t be used in the mp1,1 because the drivers are 64 bit. The GTX285 comes to mind. If the EFI version doesn’t matter then someone running SL on a mp1,1 should be able to get one of these new cards to work. If not, what am I missing here???

    hyram
     
  19. netkas macrumors 65816

    Joined:
    Oct 2, 2007
    #19
    you have no idea what you a talking about.

    efi rom needed for efi, osx drivers never use it
     
  20. Peace macrumors P6

    Peace

    Joined:
    Apr 1, 2005
    Location:
    Space--The ONLY Frontier
    #20
    With all due respect. Neither do you. Had you been a paid member of ADC you would know the Mac Pro 1,1 64-bit kernel isn't supported on the current iteration of Snow Leopard. Pre-release software is not something you want to go messing around with..Please don't tell a person who obviously doesn't know what he's doing to do something that is not advised by Apple.
     
  21. netkas macrumors 65816

    Joined:
    Oct 2, 2007
    #21
    why do u think it will not run ?

    because Apple told you ?

    well, apple said iphone2g cant support mms. and bah. it supports it.

    stop believing marketing ********

    I many times inspected snow leo kernel in ida, and i can tell that 64-bit kernel support 32-bit efi and can be run by it, the only possible problem is pointer to efi runtime-services, so need to check it by doing what i already wrote
     
  22. gugucom macrumors 68020

    gugucom

    Joined:
    May 21, 2009
    Location:
    Munich, Germany
    #22
    So to make a long story short. There is no technical reason why EFI32 should not be able to boot SL 64-Bit kernel. It may not do it at the current iteration but the capability is there. And even if Apple castrate SL it would not be a huge act to overcome that limitation. Is that what Netkas is telling us?
     
  23. Tesselator macrumors 601

    Tesselator

    Joined:
    Jan 9, 2008
    Location:
    Japan
    #23
    Mmm I think it's not too bad in this case but there are kinda a lot of folks here who may not know what this:
    mv mach_kernel mach_kernel.old
    lipo -thin x86_64 mach_kernel.old -o mach_kernel​
    is nor what it does - but who are silly enough to try it anyway. I don't want to discourage netkas from giving great tips nor others from the same but how about some short notes so they will at least be able to figure out how to undo it.

    Maybe like:
    sudo -s
    <type your password>
    cd /
    .This will give you sudo-root privledges

    mv mach_kernel mach_kernel.old
    .moves/renames your kernel file for safety

    lipo -thin x86_64 mach_kernel.old -o mach_kernel
    .strips out all but the 64-bit architecture and saves it as the new kernel
    .If you can't boot at that point then do ______________ (I dunno I guess
    .log-in single user and do a "mv mach_kernel.old mach_kernel" or something?)​
    That way we learn and no one is bringing their machine to Apple to be "fixed". LOL

    You might be surprised at how many people don't know the behavior of even mv. ;)
     
  24. hyram macrumors regular

    Joined:
    Jun 15, 2009
    #24
     
  25. netkas macrumors 65816

    Joined:
    Oct 2, 2007
    #25
    efi rom runs in efi enviroment, sets some keys for gfx device and initializes card, boot.efi passes these keys to kernel, where they parsed by AppleACPIPlatform.kext and injected into ioreg,
    then according to this keys systemchooses what driver to use with vga card.

    my injector does initializing and injecting keys to ioreg, two things that needed for card to work in osx (third thing is drivers itself)
     

Share This Page