Wednesday, April 14, 2010

OS X working on a Dell 9200

Yes, the three year old Dell 9200 (C2D 2.13 GHz, 4GB RAM, nVidia G210 512MB) which was almost consigned to the scrapheap after its previous nVidia GeForce 7900 card burnt out, is truly experiencing a most spectacular rejuvenation.
With the additional RAM, Vista boots in 70 seconds while Ubuntu Karmic boots in 40 seconds.
Over the last few days, I managed to get the Kalyway 10.5.2 version of OSX86 working well on the same machine. It boots through Ubuntu's Grub2 and thus forms the third element of a triple boot system.
Incidentally, OS X boots in a spectacular 20 seconds. This is way faster than the 35 second boot for Snow Leopard on my MacBook.
However, can't say that it was completely straightforward to get this working.
Ironically, though, my very first attempt was successful when I tried iATKOS v7. Unfortunately, I couldn't quite remember which drivers/fixes/patches/etc that I included in the install. So, when I found I could only get 1024x768 screen res and no internet, I decided to try again.
However, for this and at least 40 subsequent attempts, I could not get anything other than kernel panics. Indeed, it's quite remarkable, and definitely statistically improbable, that I was so unable to come even close to my initial success.
So, I gave up iATKOS and tried iPCOSX86. This was equally unsuccessful and again I gave up after about 5 or 6 attempts.
Next came Kalyway 10.5.2 and this worked first time.
The only changes I made to the default setup were:
Kernel=kernel vanilla_92
Graphics Driver=NVInject.
To get it to boot, because I set it up on the slave drive (D:\ in Windows and /dev/sdb in Linux), I had to go to BIOS and turn off the first (or master) SATA drive.
Now, I was given the option to add boot options. In fact to overcome a problem with the first run, or registration, getting stuck on the "Do you already own a Mac?" section, I found I had to use the boot option "Graphics Mode"="640x480x32" which prevented the registration from running, so it went straight through to the usable system.
Doing this however, also means your username and password didn't get registered and the only user is Administrator with a "null" password (IOW a blank password).
You can easily add your user in System Preferences>>Accounts later.
Next, I booted to Ubuntu and ran update-grub (as root) to regenerate /boot/grub/grub.cfg whereupon a boot entry for OS X was formed.
This booted fine but there were some problems still.
First, the only screen res available was 1024x768 which is much smaller than the monitors capability of 1680x1050.
However, if I went back to boot from Darwin (after turning off the master drive in BIOS), I could add the boot option "Graphics Mode"="1680x1050x32" which worked perfectly.
In an effort to get over this problem and cause OS X to boot from Grub2 with the screen res I wanted, I tried to modify the Library/Preferences/SystemConfiguration/com.apple.Boot.plist file by adding the following

"Graphics Mode"="1680x1050x32"
in between the <string></string> directly under the line
<key>kernel flags</key>

but no change resulted when booting from Grub2
I also added
gfxmode=1680x1050x32
to the OS X section of Ubuntu's /boot/grub/grub.cfg file with an equivalent lack of success, although I learned later that this is only intended to alter the resolution of the Grub Menu screen.

The change I made to com.apple.Boot.plist di, however, give me the required screen res when I booted from Darwin (without boot parameters).
It seems that Grub2, in booting OS X, ignores com.apple.Boot.plist while Darwin uses it.
At present, I haven't overcome this problem but believe it must be straightforward.
Additionally, there was no internet but setting this up was very easy.
First, download the intel82566MM.kext (zipped) from here, unzip, and then open a terminal and issue the following commands:

1. cd /Path/to/kext/
2. sudo cp -R KextName.kext /System/Library/Extensions/
3. cd /System/Library/Extensions/
4. sudo chmod -R 755 KextName.kext
5. sudo chown -R 0:0 KextName.kext
6. sudo rm /System/Library/Extensions.mkext

After this, OS X will pick up the driver and you can configure the network.

Now, I tried updating the software and was offered five updates. Two of these, to do with Airport Utility, installed and operated without problem.
However, while installing a 759 MB bundle of packages to bring the software from 10.5.2 to 10.5.8, the update procedure froze during the install. When I hard rebooted (no other way out) I couldn't get OS X to boot as it always kernel-panicked.
So I had to re-install.
However, this time instead of NVInject I tried NVInject_512 as I have a 512MB nVidia G210 card. I thought that a different driver might allow more display options.
In fact, it wouldn't even boot (kernel panic).
So, back to NVInject.

OSX86 works well on the Dell 9200 although there are some limitations. For the moment, I want to get it to boot from grub2 into 1680x1050 and into dual monitor mode.
However, this may require a suitable kext for my G210 video card.

No comments:

Post a Comment