Jump to content

Forcing 64 bit Kernel on 10.6; Macbook Pro


16 posts in this topic

Recommended Posts

I installed Snow Leopard on a Macbook Pro (2.4 GHz core 2 duo "penryn"), and was surprised to find that it was running the 32 bit kernel despite the machine being 64-bit capable...

uname -a showed the i386 kernel was running

I really wanted to try the full 64 bit kernel and there exists no force64 kernel flag...After a bit of hacking I've figured out how to force 64-bit boot with Snow Leopard...

---

EDIT:

Due NDA issues/affiliations, can't have those instructions on the blog...so they're HERE:

---

0. Backup whatever kernel you're using. Just in case.

1. in a super user shell (or sudo)

cd to /

#lipo -remove i386 mach_kernel

[you could specify the output file, but whatever.

2. Reboot

--

Basically I removed the i386 kernel from the universal binary, causing it to select the remaining x86_64 kernel (can't choose PPC) and run it. Note that no 32-bit kexts work.

good luck

 

man lipo

Link to comment
Share on other sites

  • 9 months later...

Previously, one was able to press the keys "6" + "4" on the keyboard on boot to force using the 64-bit kernel, or "3" + "2" to force using the 32-bit kernel.

 

I haven't tried it in a *long* time, but I would assume that Apple hasn't removed this functionality in the later builds.

 

~Adrian

Link to comment
Share on other sites

The real question will be whether I could force a 32-bit kernel and make my DisplayLink graphics card work under Snow Leopard. I know that DisplayLink graphics cards do not work under the 64-bit kernel as no module has been written yet, and I am addicted to the whole 3 displays thing...

 

While I *love* Snow Leopard's performance, I am much too tied to screen real estate to justify making the move on my primary laptop.

 

Plus, what fun is having Snow Leopard set up on a Mini that I only ever VNC into???

 

~Adrian

Link to comment
Share on other sites

The 6 + 4 key combo doesn't seem to work for me, so I am interested in this hack but cannot find it on your blog :rolleyes:

 

Can you edit your "com.apple.boot.plist"

try the kernel flag "-x64"

for me it is working, but then I have a problem with dsmos.kext

so only 32bit mode enable :) in 10A335f on my hakintosh

 

Sorry for my english

 

AUSTRIA - high montains, no kangurus

Link to comment
Share on other sites

  • 3 weeks later...

I have a 2008 iMac with a Penryn and have to do the same thing to enable the 64-bit kernel.

 

My main question is, why is Apple so determined not to let my iMac run 64-bit software? It even complains that "64-bit is not supported on your system" when I try to install Boot Camp drivers on Windows 7 x64. After hacking the installer MSIs, the drivers install fine!

 

So what's the point? Why not just designate my system as supported out of the box? :huh:

Link to comment
Share on other sites

Eh, yeah. I just figured that out. Running the kernel in 64-bit mode made some basic tasks like launching apps about 20% faster, but after that, the apps ran either in 32 or 64-bit mode regardless of which kernel is used. For some reason, since the kernel is part of a lower layer of the operating system, I thought everything running on the application level would be limited to a subset of whatever architecture the kernel was. I don't know how OS X is completely structured, but I guess that, if this isn't the case, Applications might have more direct access to hardware so they can use whatever architecture they need regardless of the kernel.

 

Losing 32-bit extensions was a blow though. I can't stand my mouse's crazy acceleration unless USBOverdrive is loaded to help control it. Back to the 32-bit kernel for now.

Link to comment
Share on other sites

Whether anyone got build 10A380 of Snow Leo (WWDC'09) successfully running on 64-bit kernel?

 

If 'yes' - please share your method.

 

I've tried every approach that i know: "6+4" keys, arch=x86_64 flag specified for both nvram and com.apple.Boot.plist, lipo command against mach_kernel.

 

Nothing helps.

Link to comment
Share on other sites

it's funny cos on Hackintoshes it's only a matter od adding -x64 during boot :P but 64-bit kernel doesn't work cos we must use custom 32-bit only (atleast yet...) kexts :P

 

I must use 32-bit dsmos.kext and applenforceata.kext and apple3com????.kext for network and get "Still waiting for root device..." in x64 mode (probably of lack 64bit applenforceata.kext) :censored2:

Link to comment
Share on other sites

6+4 worked for me on my UMBP 15".

it booted in 64-bit mode, but my keyboard would not work :-s maybe some problem with the 64-bit kext for keyboard....

i am running the 10A380 build.

 

EDIT: i managed to boot into 64-bit mode. held 6+4 and it booted into 64bit. unfortunatelly, parallels does not run in 64-bit mode, so i can not run my windows 7 virtual machine...

Link to comment
Share on other sites

  • 3 weeks later...

Hello all,

 

Here is some information that was requested. Overall, slightly better memory performance, but slightly lower performance across the board. Still in beta - still press 6 and 4 (where available).

 

32bit:

Results 199.63

System Info

Xbench Version 1.3

System Version 10.6 (10A402a)

Physical RAM 2048 MB

Model MacBookPro5,5

Drive Type FUJITSU MJA2160BH FFS G1

CPU Test 160.47

GCD Loop 263.85 13.91 Mops/sec

Floating Point Basic 127.17 3.02 Gflop/sec

vecLib FFT 107.34 3.54 Gflop/sec

Floating Point Library 252.72 44.01 Mops/sec

Thread Test 294.84

Computation 389.98 7.90 Mops/sec, 4 threads

Lock Contention 237.02 10.20 Mlocks/sec, 4 threads

Memory Test 185.02

System 219.33

Allocate 302.81 1.11 Malloc/sec

Fill 177.31 8621.35 MB/sec

Copy 211.14 4361.10 MB/sec

Stream 160.00

Copy 153.02 3160.52 MB/sec

Scale 150.61 3111.65 MB/sec

Add 169.51 3610.92 MB/sec

Triad 168.76 3610.14 MB/sec

Quartz Graphics Test 171.07

Line 150.50 10.02 Klines/sec [50% alpha]

Rectangle 193.78 57.85 Krects/sec [50% alpha]

Circle 165.27 13.47 Kcircles/sec [50% alpha]

Bezier 175.28 4.42 Kbeziers/sec [50% alpha]

Text 176.47 11.04 Kchars/sec

OpenGL Graphics Test 85.28

Spinning Squares 85.28 108.19 frames/sec

User Interface Test 206.77

Elements 206.77 948.95 refresh/sec

Disk Test 45.26

Sequential 61.36

Uncached Write 73.14 44.91 MB/sec [4K blocks]

Uncached Write 59.70 33.78 MB/sec [256K blocks]

Uncached Read 43.29 12.67 MB/sec [4K blocks]

Uncached Read 85.74 43.09 MB/sec [256K blocks]

Random 35.85

Uncached Write 13.65 1.44 MB/sec [4K blocks]

Uncached Write 81.31 26.03 MB/sec [256K blocks]

Uncached Read 64.46 0.46 MB/sec [4K blocks]

Uncached Read 95.46 17.71 MB/sec [256K blocks]

 

64 bit:

Results 118.74

System Info

Xbench Version 1.3

System Version 10.6 (10A402a)

Physical RAM 2048 MB

Model MacBookPro5,5

Drive Type FUJITSU MJA2160BH FFS G1

CPU Test 148.97

GCD Loop 264.54 13.94 Mops/sec

Floating Point Basic 130.09 3.09 Gflop/sec

vecLib FFT 89.54 2.95 Gflop/sec

Floating Point Library 237.28 41.32 Mops/sec

Thread Test 316.68

Computation 435.20 8.82 Mops/sec, 4 threads

Lock Contention 248.90 10.71 Mlocks/sec, 4 threads

Memory Test 190.49

System 236.19

Allocate 428.71 1.57 Malloc/sec

Fill 177.48 8629.31 MB/sec

Copy 211.20 4362.32 MB/sec

Stream 159.61

Copy 154.08 3182.48 MB/sec

Scale 150.28 3104.66 MB/sec

Add 168.55 3590.37 MB/sec

Triad 167.11 3574.88 MB/sec

Quartz Graphics Test 168.45

Line 152.35 10.14 Klines/sec [50% alpha]

Rectangle 193.47 57.76 Krects/sec [50% alpha]

Circle 165.09 13.46 Kcircles/sec [50% alpha]

Bezier 177.40 4.47 Kbeziers/sec [50% alpha]

Text 159.87 10.00 Kchars/sec

OpenGL Graphics Test 85.45

Spinning Squares 85.45 108.40 frames/sec

User Interface Test 224.68

Elements 224.68 1.03 Krefresh/sec

Disk Test 46.00

Sequential 61.17

Uncached Write 72.57 44.55 MB/sec [4K blocks]

Uncached Write 61.01 34.52 MB/sec [256K blocks]

Uncached Read 42.79 12.52 MB/sec [4K blocks]

Uncached Read 84.39 42.41 MB/sec [256K blocks]

Random 36.86

Uncached Write 14.28 1.51 MB/sec [4K blocks]

Uncached Write 81.75 26.17 MB/sec [256K blocks]

Uncached Read 63.70 0.45 MB/sec [4K blocks]

Uncached Read 94.74 17.58 MB/sec [256K blocks]

 

Talk to you later,

 

-Loren

Link to comment
Share on other sites

 Share

×
×
  • Create New...