On my way to meet the wife for dinner last night, I stopped by the local Apple retail store in Southlake, Texas to pick up a copy of OS X “Snow Leopard”. The packaging and even the website for the OS proudly claims this version of OS X is “The world’s most advanced operating system. Finely tuned.”
My expectations were high after reading all of the hype over the past few months. I was also anxious to see if Apple had really delivered a 64bit operating system for my relatively new MacBook Pro. What a let down.
Like many people, I popped the DVD into my Mac and kicked off the upgrade. The setup program informed me it would be about 45 minutes until it was complete. The upgrade was painless. All of my applications still worked. I have a short list of apps on my Mac so I wasn’t too surprised.
I decided at this point to see if the 64 bit OS would do what I really want. Virtualization. So I removed the 4GB of memory and replaced it with 8GB of DDR2 PC2-5300 667MHz memory. It appeared at first that all was well but as it turns out, that would not be the case.
Since I own a copy of VMWare Fusion, I figured I’d see what happens when I allocate a bunch of the memory to a Windows 7 Enterprise x64 virtual machine. I started off with a crazy allocation, 6GB. That didn’t work well. In fact, I started backing down the allocation all the way back to 1GB and still had problems. This seems familiar. Time for bed. Investigation to proceed later the next morning.
64 Bit Kernel Mode
Much to my surprise, my Mac was not running the 64 bit Snow Leopard. I give Apple a break up to this point because if they had converted from a 32 bit OS to a 64 bit OS via an in-place upgrade, that would have been magic. But they didn’t so there’s the first strike for the “most advanced” title.
As usual I started digging around the internet via bing.com and google.com to see what I could uncover. I eventually stumble across http://mygrotto.org/2009/06/boot-64-bit-snow-leopard-kernel.php which does the best job of spelling out some of the tricks to force OS X 10.6 to load the 64 bit kernel. I had already checked my EFI version and knew it was EFI64. I implemented the nvram boot-args AND the Kernel Flags in the /Library/Preferences/SystemConfiguration/com.apple.Boot.plist file.
Neither worked. In fact, holding down the 6 and 4 keys at boot don’t force the 64 bit kernel to load either. WTF? Sorry, a little cussin is warranted at this point. I got tired of messing around with this and figured it might be time to change direction. So I flattened the box.
Flatten the Box
This particular figure of speech is in common usage among geeks. In operating system parlance, it means to reinstall the OS after first repartitioning and formatting a hard drive. It’s a really destructive step and one that “normal” users don’t do very often, if ever. Most users have no clue how to really backup and restore a machine, so the notion that you are going to wipe a hard drive is a scary thought. I do it frequently so I am well aware of the implications regardless of the OS.
Most of the instructions on the internet imply that a clean install of OS X 10.6 isn’t possible with the $29 DVD unless you already have 10.5 present on the target disk. I tested this theory. Sure seems like the theory is wrong. I purposely whacked 10.5 with a hard drive wipe, powered off mid stream, wiped again, etc. I was still able to boot from the Snow Leopard DVD and install.
Where’s my 64 bit kernel?
After the clean install completed, I set out again to force the 64 bit kernel to load. None of the techniques worked. Neither did the program at http://www.macdownloads.com/info.php/id/32252/32--or-64-bit-kernel-startup-mode-selector.
The world’s most advanced operating system? Bull crap. Here I have a rather expensive MacBook Pro that isn’t even two years old and STILL can’t run Apple’s premier operating system in full 64 bit mode. By comparison, the Lenovo ThinkPad T61p I am typing this on is six months older and runs 64 bit versions of Linux, Windows Server 2008, Windows Server 2008 R2, Windows Vista, and Windows 7. In fact, R2 on my recent SSD drive is nothing short of breathtaking. OS X 10.6 is not the most advanced operating system by my standards and I hold a really high bar.
Some Good News – Exchange mail support
After spending way too much time screwing around with trying to get the 64 bit kernel to load, there were some bright rays of light in my OS X 10.6 journey. The new Mail program and it’s support for Microsoft Exchange is rather good at first glance. Setup was easy and the sync process was ultra fast. The preview pane sucks. It only displays at the bottom and reminds me of a circa 1996 email program. It’s threaded discussion view is pretty decent, so there are some aspects I like. It’s also “free” with the OS.
I installed a number of other applications on Snow Leopard. I first re-installed Office:Mac 2008. After that, I headed over to http://www.microsoft.com/mac/downloads.mspx and grabbed Entourage Web Services Edition, Messenger 7 and the latest RDP client.
The Entourage experience was much improved over prior versions I’ve used. The initial sync was fast compared to the positively glacial speed of prior versions. I like the Erage UI and like the OS X Mail client, setup was really easy.
I would hardly call OS X the most advanced operating system in the world. Sorry, it just isn’t. The 64 bit stuff should just work and I shouldn’t have to try and hack kernel settings via configuration files and non volatile boot args. We kick Apples ass in that regard on a much wider array of consumer hardware, at a lower cost. There is no debate on that.
If someone figures out why my Mac won’t run the kernel in 64 bit mode, let me know. I’m probably going to take it to the local store and let the “Geniuses” there take a shot at it. And by the way snarky people, don’t bother sending me a screenshot of your unibody Mac working perfectly. My MacBook Pro hasn’t burned through it’s first Apple “Cares” agreement so this should not be happening on a Santa Rosa based mac.
Could it be that a brand new system boots in 32-bit mode just for maintain a compatibility with third party software that was not upgraded to 64-bit yet?
Could it be that a future system update will switch automatically the boot from 32 to 64-bit mode?
Or could it be that you just wrote only crap?
Keith, I think Apple has a listing of which of their computers will run specific SL features. Even my 2008 BlackBook won't run them all. But, my experience with VMware Fusion before and after the update is positive....noticeably faster for XP SP3 afterwords with 4 gigs of ram and half of that allocated to Windows.
Whether it's the most/least/Sort-Of-Middle 'Advanced OS' is irrelevant to my use (marketing hype)...SL is a fine upgrade that sets the table for hardware and software advances still down the road. Ironically (perhaps), the least snappy app on my system is MS Office 2008....go figure.
AJX, I call it like I see it. SL should be running the full 64 bit kernel on my MBP and it doesn't. The processor and chipset in my MBP is nearly identical to my ThinkPad, yet the ThinkPad runs a bunch of 64 bit operating systems without issue.
This is clearly Apples doing. Sorry, upgrading to a new machine already isn't in the cards so I hardly think my observations about Apples implementation of their hardware and software is crap.
Snow Leopard runs well enough on my MacBook Pro but it's really annoying that I can't use 8GB of RAM in it and do what I want. Something the machine sitting next to it does without blinking an eye.
You're right, that is crap.
Brian, yea I agree it's a fine upgrade for most peoples purposes and it certainly appears to run more quickly than 10.5. Anyone that has made the Apple investment in hardware and software will be happy with their $29 OS upgrade. Certainly the majority of Apple users.
Let's hope down the road Apple decides my generation MacBook Pro is 64 bit kernel worthy.
"The worlds most advanced operating system"
Oh does this mean they finally fixed Packet Signing? Something that Windows has done since 2000.
Does their Active Directory plugin ACTUALLY work, without flaw, yet?
Can you use it for more than 8 hours without needing to pop in disk warrior and rebuild permissions?
Apple needs to be sanctioned by the courts for their uncontrolled false advertising.
BTW, AJX, I got windows 7 RTM 2 weeks ago and it doesn't suck. :)
Yo, Jordan...I had been running Win 7 RC on my MacBook prior to RTM release. It certainly holds promise for PC users (compared with Vista). That said, I personally found it lacking in a number of ways compared with Leopard. I think it depends on what you need/want to do in your workflow.
I know many Mac users who aren't aware of the power of DiskWarrior...good to know that you may be. IMHO, Apple's false ads are no more lame than Microsoft's Laptop Hunters ads, which are truly a laughable display of the clueless being put together by sales guys in polyester suits.
Brian, what do you find lacking?
Keith, aside from the welcome ways that Win 7 cleans up Vista's act, I continually get the sense (as a user) of change made for the sake of change (Apple has been guilty of the same). I still find that for my Windows use, the Win 2K paradigm is superior, although Win 7 is easily advanced in technical ways.
You should see Windows Server 2008 R2 running without Aero and the eye candy, on my ThinkPad T61p with 8GB of memory using the new gen two Intel SSD I just received. Floored me how fast it is. It has me contemplating a SSD drive now for my virtual machines.
I bet the same SSD drive in my Mac would be a killer experience as well.
The technology jumps are interesting and cause you to pause and reflect on where we've come from. The leap from WinXP to Win7 is a nice jump. I’m sure the jump from Tiger to Snow Leopard is similar.
I'm sure I would be very happy with a new unibody 17" MacBook Pro, 8GB of memory, SSD, and a version of Fusion designed to work with it all on Snow Leopard. I just can’t afford to buy a new MacBook Pro every two years. If my job required tools that only ran on OS X, it might be different but I like to get three or more years out of my machines.
The Windows world isn't impervious to that problem. I talk to people all the time that have machines 5 years old that want to run a new OS.
I don’t think any of this makes Windows 7 lacking. Apple probably had a good reason to block running SL in full 64 bit kernel mode on my machine. I’d just like to know what it is. Or more importantly, how to force the kernel to run.
I too have a mid-2007 MacBook Pro 17" (MA897LL/A, "MacBookPro3,1" Santa Rosa) and am interested in getting the full 8GB to work. My MBP has dedicated VRAM, not shared. There are actually several threads on various forums where others are speculating on this issue. However, only a select few actually *have* 2 x 4GB sticks to test with; the rest are waiting around in their armchairs.
I have 2 x 4GB on order, and my MBP is in for repairs now so I can try testing later in the week after both come back.
In the interim, take a look at:
The release notes directly from Apple omit the mid-2007 MBP ("MacBookPro3,1") from the list. The next one up the "MacBookPro4,1". Maybe there are compatibility reasons, or maybe they forgot. Actually, technically the release note says "The 64-bit kernel can be tested on the following configurations" which *could* be a closed list or an open list (i.e., it could work with others but Apple did not test them). If it is a closed list, then most likely the kernel queries the EFI to make sure the hardware string is on a whitelist. Either your EFI firmware would need to be hacked to report "MacBookPro4,1", or the string that the kernel is looking for should be hacked to "MacBookPro3,1" on disk.
Have you run Boot Camp (3.0) with an x64 version of Windows or Linux--not in VMware or anything but directly on the bare hardware with Boot Camp? Try doing that with the full 8GB of memory in place, and see if Windows/Linux freak out after a certain point, or if they can address and use the full 8GB. If they can, then the hardware itself should (in theory) be fine. I do not think I have seen a full post yet where anyone has tried this (unless you have, but if so I missed it).
The last thing to try in any of Windows/Linux/OSX is to use the full 8GB, but to permanently reserve, say, the upper 1GB. The theory is that this particular Santa Rosa chipset is trying to reserve the upper range between 6GB-8GB for hardware I/O apertures, so you might be able to trick OSX to only using the lower 6 or 7GB for software memory. In that case, OSX would not consider the upper 4GB to be in conflict with the other hardware I/O ranges. You would lose some space but this would still allow the sticks to run in full double-data-rate. (Again, a lot of speculation on the Net, but nothing confirmed.) This could either be done by modifying what EFI reports to the OS, or by using OS-specific functions. I know Linux can knock out memory ranges with BadRAM, but I have never actually tried it. You might get some traction with pcefiv10.1 on a USB stick (this may also be a method to change the product name information to MacBookPro4,1).
Your Macbook is probably not on the list SeanTek linked. My 2/09 Macbook booted fine into 64bt with the 64 keys. The first boot took longer than normal but it was fine after that. You can edit a plist so that it will always boot in 64bit mode.
[Keith Combs] As I indicated above, I edited the plist. Doesn't work on my legacy 22 month old Mac.
There are few articles floating around as to why Apple forced non servers into 32bit mode. Its to support applications and drivers that cant run under 64bit. This makes sense. The #1 problem with XP64, then Vista 64 was drivers and some apps just would not run. I personally had to "flatten" my HP notebook that was on 64bit Vista because a few apps would not run. It was NOT fun. Had Vista worked in this hybrid mode I could have just held down 3...2 and booted into a 32bit kernel, instead of rebuilding.
[Keith Combs] Building the ability to boot either Vista x86 or x64 is pretty easy. Sorry you had issues. What applications did you have issues with? I've been using the 64 bit versions of Vista and now Windows 7 for going on two years and have been pretty impressed with their ability to run 32 bit apps with relatively few issues.
Lastly even if you had got it working in a 64 bit mode, Fusion cant currently work in that mode:) Which is a perfect example of why Apple did this. Fusion and Parallels both cant run with 64bit kernel. Both are working on updates.
[Keith Combs] Yes, I know. Looking forward to the updates.
I think if you step back and look at, and do some research, I find Apples approach to 64bit better. You have one OS to install, no choice, no rebuilding if you made the wrong choice, all for $29. Imagine you as a Vista user could purchase a hybrid version of Windows 7 Ultimate for $29???
[Keith Combs] Here we go again. I DID do my research. And regarding the $29 and the value it brings, I'll save that discussion for later. I really haven't explored all of the new stuff in Snow Leopard yet. But I plan to. At the moment I'm feeling a little slighted because I know the hardware is capable of doing what I want to do. If Apple would only let me.
Keith...Some fast notes and your "solution":
[Keith Combs] This wasn't a solution article so I don't know where you come up with that remark
I have been running 12GB of ram in my Mac Pro happily for quite some time now on a 32-bit kernel. VMWare's happy to tap into it, almost as happy as Windows 7 is to gobble up whatever i give it.
[Keith Combs] Good for you Nick. Doesn't work on mine. Sorry, that's a fact.
OS X in general has been running 64-bit applications side by side with 32 bit applications, seamlessly, since Tiger.
2 minutes on google shows me that your machine (MacbookPro3,1) isn't in the table of capable machines for a 64-bit kernel:
Also, why can't you run 8GB of RAM? Because the hardware doesn't support it, regardless of the kernel. Its even in the Technote YOU link to in the article.
[Keith Combs] The same CPU and chipset from Intel supports 8GB of RAM in all of the "Santa Rosa" chipset class machines. It is not widely published because at the time that chipset came out, there were no 4GB SoDIMMs on the market.
The max RAM of that particular series of MBP's is 4GB. I believe that is the line of machines you can do some tricks to bypass that, but the official party line is they have a 4GB cap. And even IF you get it enabled, and use a supported 8GB stick, you STILL don't need the 64-bit kernel to utilize it, the 32-bit kernel works just peachy.
[Keith Combs] Doesn't work peachy on my machine.
And as to why they boot to a 32-bit Kernel by default, for the same reason that Windows 7 still has legacy code in it dating back to Windows 3.1. 64-bit kernels break stuff. VMWare refuses to start under a 64-bit kernel. Mouse drivers that use kernel extensions, etc, ALL of which break under a 64-bit kernel, UNTIL the ISV's recompile them for 64-bit (which they should have been doing since Tiger anyway, but whatever).
[Keith Combs] Yes, I know. I look forward to future versions of Fusion and with any luck, an update from Apple to support the full 64 bit capabilities that are already in the CPU and chipset.
But, much like Apple does with EVERY major change like this, they stabilize the feature, and put it out there for the geeks and the tweakers under the assumption that anybody who knows enough to CARE to run in 64-bit mode will know how to enable it. Everybody else will be happy cooking along with their already bad ass operating system.
[Keith Combs] Seems reasonable. By why block it on my machine?
Please, before you knock something, do your homework. I'm running 64-bit kernels just peachy on my Pro and my 13" Macbook Pro. I have been compiling and running 64-bit software for 3 years now.
[Keith Combs] Now you are getting unprofessional, again. I did my homework. That was obvious by the links an information I provided.
And lets face it, NOBODY out there expects you to find 10.6 to be the most advanced operating system. Especially when the one time i've seen you not tow the party line on this blog, the post was removed within the week. Google can forget, but my NetNewsWire cache is forever.
[Keith Combs] We all have to make choices in life. I decided the blog post wasn't worth the potential hassle and trouble it could get me into. Let's chat about it in say 15 years when you have more responsibilities to think about other than yourself.
Its awfully ironic that nick peelman is asking Keith to do homework when he obviously doesnt understand which chipsets and processors support what.
And his macbook can run 7 64, Vista 64, 2008 64....but because Snow Leopard blows and doesnt boot into 64 then magically his macbook "isnt in the table of capable machines for a 64 bit kernel" ??
I gave a few, very small, reasons as to why OSX is a terrible OS. Try disproving those and then move on to why its better than anything else out there, including free linux stuff.
"The same CPU and chipset from Intel supports 8GB of RAM in all of the "Santa Rosa" chipset class machines. It is not widely published because at the time that chipset came out, there were no 4GB SoDIMMs on the market."
and for that reason I would guess, there was very little testing done on timings, clock speed, etc., which is why Apple just capped it at 4GB and never bumped it.
"Doesn't work peachy on my machine."
Nobody ever said it would. As a matter of fact, Apple says in Black and White that it WILL NOT. Both on the 8GB of memory AND the 64-bit kernel front. I understand that you're machine isn't quite two years old and its not supported, and I understand that it sucks. Trust me, i've been screwed by this as well, by Apple, several times. But Apple designs for next-gen hardware, and cuts off older platforms with every revision. There are more than a few pissed off PPC owners out there right now who can't run Snow Leopard. It stands to reason there will always be somebody unhappy with it, but I don't think that unhappiness justifies your words here. Is there really any difference between the ground you're arguing here, and what ground somebody with a Pismo G3 would have to argue on? Its _not_suppored_ by Apple. They're not hiding the fact, and they're not making claims that it will work and won't.
"Seems reasonable. By why block it on my machine?"
See above. Cutoffs have to be made. Maybe Intel's Santa Rosa 64-bit support wasn't flawless and there were kinks that couldn't be (or shouldn't be) straightened from a software standpoint.
"Now you are getting unprofessional, again. I did my homework. That was obvious by the links an information I provided."
The links and information you provided didn't support your conclusion. I wasn't trying to be unprofessional, but c'mon man, you were using Bing.The nvram args is a bit geekish, the easier way would be to set the kernel flags in /Library/Preferences/SystemConfiguration/com.apple.Boot.plist:
mizar:cups peelman$ cat /Library/Preferences/SystemConfiguration/com.apple.Boot.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
"We all have to make choices in life. I decided the blog post wasn't worth the potential hassle and trouble it could get me into. Let's chat about it in say 15 years when you have more responsibilities to think about other than yourself. "
Hey, its your party, well, not technically true i guess, its Microsoft's...but anyway, I understand WHY you took it down, and I can't really fault you for it, however, i can fault your boss, your boss's boss, etc., all the way up the chain, for making you think you HAD to remove it otherwise your job and/or career would be in jeopardy. Apologies for the long-windedness.
It was a few things, the ones I remember most were AV software, and I had bought a Sony Hard Drive Camcorder in Aug of 07.
Movie Maker could not natively read the video on camcorder. So I had to install the Sony software. There were no 64bit drivers, and it does not look like there are today....
"The Windows Vista Starter edition and Windows XP 64-bit operating systems are not supported."