Categories
Apple Hardware Mobile Technology Toys

Mac OS 10.5/Leopard on the Samsung NC10

Initially I ordered a Dell Inspiron 910/Mini 9, after reading about how easy it was to get Leopard running on these machines. However, after initially quoting 15 days delivery then then, on the 15th day, extended this to 30 days – at which point I cancelled the order.

Instead, due to its looks and frankly astonishing battery life, I ordered a Samsung NC10.

As it turns out, although all Atom netbooks are created equal, some are more equal than others – especially where OS X compatibility is concerned…

Note that I’m doing an install straight of my Leopard retail DVD – more success may be had with one of the various hacked install DVDs which can be downloaded from the usual places. Arr.

The Good (or, What Works)

  • Keyboard & Volume controls (but not brightness controls, the Euro key, or the pipe key which usually lives to the left of “Z”);
  • Trackpad;
  • All three USB ports (although I’ve not yet tried booting without any devices plugged in);
  • Integrated USB webcam;
  • Integrated Bluetooth;
  • Sleep – which unlike some other netbooks, just works perfectly. You do have to hit the power button to resume, though. Safe Sleep/Hibernate doesn’t seem to work right now, but one of the hacked drivers may have disabled it. The machine was in use for several hours yesterday and asleep overnight, but it still showing over 4 hours battery life 🙂
    This post suggests that this is now a solved problem
    I now notice that sleep only seems to work if the machine is running from batteries… if you tell it to sleep on mains power then it will do so, but then wake again a couple of seconds later. Odd.

The Bad (or, What Doesn’t Work out-of-the-box)

  • Intel HDA Audio (but it does with the AppleAzaliaAudio.kext, link below!);
  • Atheros AR424/5007EG 802.11a/b/g MiniPCIe wireless card;
  • Marvell 88e8040 on-board PCIe network interface;
  • Any resolution other than 800×600 on the GMA950 graphics adapter (but it does with the replacement AppleIntelGMA950 kexts);
  • Any way to alter screen brightness;
  • Leopard itself – after installing, the Welcome/Migration Assistant proceeds to where it tries to setup networking, finds no network interfaces, quits and reloads itself (but only if it cannot find any network interfaces – which is the case on a stock NC10 if no USB ethernet adapter is plugged in).

The Ugly (or, What Can Be Made To Work Possibly Involving The Use Of A Large Stick…)

  • I have a Dell 1490 MiniPCIe card arriving from eBay, as these are supported under OS X, which should hopefully largely solve the ethernet and post-install problems (although the on-board ethernet looks to be a bust);
  • The Intel Graphics can be convinced to work through the use of a hacked driver – although this is apparently also possible by changing a PCI Device ID string in the existing driver, which is a solution I’d be happier with. Once the replacement Wifi card arrives, I’ll reinstall and try this method.
  • Another string edit, or if I hook up a CD drive to run a Linux LiveCD and get a dump of the audio codec data, should make it possible to coax sound into working – although it appears that switching between headphones and speakers will still be (at best) a manual process…

So, not completely infeasible but there’s still quite a bit which needs fixing…

More as I run into it.

40 replies on “Mac OS 10.5/Leopard on the Samsung NC10”

Regarding boot-132, the standard distribution when I installed only allowed the screen to operate at a resolution of 800×600 (stretched to 1024×600), but did allow third-party WiFi cards (such as the Dell TrueMobile range) to operate.

I knocked-up a quick script to run against the EFI partition (which should live in /Volumes/EFI/Extensions/):

#!/bin/bash

DIR="$( dirname $0 )"
[ -z $DIR ] || cd "$DIR"

for DIR in *.kext; do
	if [ -e "/System/Library/Extensions/$DIR" ]; then
		diff -r "$DIR" "/System/Library/Extensions/$DIR" >/dev/null 2>&1 && echo "Default: $DIR" || echo "Changed: $DIR"
	else
		echo "New:     $DIR"
	fi
done

The output of which is:

Changed: AppleACPIPlatform.kext
Changed: AppleAPIC.kext
Changed: AppleIntelGMA950.kext
Changed: AppleIntelIntegratedFramebuffer.kext
Changed: AppleSMBIOS.kext
Changed: IO80211Family.kext
Changed: IONetworkingFamily.kext
Default: IOAudioFamily.kext
Default: IOGraphicsFamily.kext
Default: IONDRVSupport.kext
Default: OSvKernDSPLib.kext
New:     AppleACPIBatteryManager.kext
New:     AppleAzaliaAudio.kext
New:     AppleDecrypt.kext
New:     AppleIntelPIIXATA.kext
New:     ApplePS2Controller.kext
New:     AppleSMBIOSEFI.kext
New:     IntelCPUPMDisabler.kext
New:     dsmos.kext

The ‘Default‘ kexts are dependancies copied directly from /System/Library/Extenions and are required for other overlay kexts to load. The other kexts are either supplied with boot-132 or found elsewhere (as with the Azalia driver).

Hi Stuart,

your report concerning the battery life sounds really encouraging! I’ve now started my first attempt at installing from a retail DVD and failed. The touchpad and the internal keyboard don’t work after booting from the boot-132 “generic” CD.

Did keyboard & touchpad work for you? I guess I have to borrow a USB keyboard from work tomorrow and get back on the install process. The retail DVD seemed to boot fine except for the keyboard/mouse issue. Obviously I couldn’t continue installing without the keyboard.

If xev actually recognises the function keys to be pressed could we map other functions to them? It would be useful in general to have these work. I remember from my previous attempts at installing OSX86 that you could use a software called “Ukulele” to create your own keyboard layouts. As long as we actually get back a keycode for the non-working keys we could map them in a new layout.

As for the display brightness, it is a pity that Samsung decided that they would have to have their own non-standard solution. Do you know anything about the brightness control how it works in other notebooks? I’m thinking about looking into writing a driver. I’ve never done any coding on the Apple platform but as long as it is a chip on the I2C bus or something similar it should be theoretically possible to talk to it… I guess Samsung won’t supply us with schematics for the mainboard and a parts list 😉

I’ll see what I can do tomorrow with the USB keyboard.

Curious… I have to say that I installed from a USB-connected hard disc with my Leopard retail DVD imaged on to it plugged into a left-hand port, and with the boot-132 loader installed onto a USB key plugged into the right-hand USB port.

Prior to this, I had gone through the BIOS settings to check that everything looked right (and that the USB key was the primary boot device) – but I didn’t record exactly what I changed. I definitely enabled NX/XD support, and there may or may not have been an option for HPET support.

Contrary to other reports, I have HyperThreading enabled without using the ‘cpus=1‘ boot-flag, and OSX appears to be happy with this (in that it works, and during software builds two processor cores are reported to be available).

I assume that the keyboard works when the boot-132 boot-loader prompts for the volume to boot from, as I believe that this doesn’t time-out. The bootloader should then deal with pre-loading the overlay kexts into the mach kernel in order that the system is sufficiently usable to perform an installation (right up until the end where the installer tries to change the default boot volume, which is presumably an EFI callback).

I’m not sure that remapping keys will help – the Euro key actually generates six key events rather than just one (which I can’t imagine can be remapped without rewriting the input driver), and xev generates no events for the dead-keys. I had a brief play with Ukelele, but it seems to assume a US keyboard layout, and so didn’t look to be helpful for a UK layout. Having said that, it did come with some XML keymaps, so it’s entirely possible that a quick XML edit could greatly improve the keyboard. It is my strong suspicion that the Euro (and possibly brightness) issue could only be fixed with a keyboard-controller firmware update or a customised input driver. I’m not sure no relevant it is due to the multiple levels of filtering, but ‘xev‘ only reports events for Fn-F1 (“Help”) and Fn-F12 (Numlock). Fn-F6 (Mute) and the cursor-key volume controls work without generating an event… perhaps a native application is needed to see what OSX actually sees.

In fact, I’ve probably misrepresented how I was able to install my system:

boot-132 is an older project to allow overlay kexts to be pre-loaded on boot;
Built upon this was a project to allow this overlay to exist on the 200Mb EFI partition rather than a distinct Disk Image.

My system is built on version 5.1, the latest is 6.1. The installation instructions are here:

http://forum.insanelymac.com/index.php?showtopic=127330

Just to clarify, the keyboard did work after the boot-132 CD booted since I could press a key after inserting the retail DVD to get to the boot prompt.

Are you saying that the built-in keyboard/touchpad did work for you? This would be very strange indeed. I’ve checked my BIOS settings but there doesn’t seem to be any setting which could cure this. I remember I had “USB legacy devices” enabled but I guess that wouldn’t do anything to the PS/2 peripherals.

Did you have your laptop connected to the mains when installing? I’m just asking because on my old laptop the installation wouldn’t even boot up without the laptop connected to mains. I guess ASUS screwed up the DSDT – they’re another company lacking a bit of common sense when it comes to conforming to a standard.

I have to boot again with “-v” to see what actually goes wrong with the PS/2 keyboard/touchpad. Yesterday evening I just assumed it was a common problem which you encountered too.

Yes – I had no problems whatsoever with the integrated keyboard/trackpad. What keyboard layout does your machine have? Mine, as mentioned, is UK. I can’t imagine that enabling USB Legacy devices would have any effect – but I’d also assume that I have that set too.

I’ve also heard it said that the white units are a slightly earlier revision than the black and blue units – so there may be an issue there (although I’d be surprised).

I’m pretty sure that my laptop was unplugged when I installed – although I may be misremembering. I did read that the 6.1 bootloader (which I’m now using – the upgrade was very smooth) includes a DSDT fix (although I’m not sure how this can be generic rather than manufacturer- (and BIOS-) specific.

It’s well worth booting with “-v” and seeing what is output – I do remember that during my first attempt at setup I did have a problem which went away when I rebooted with “-f -v”… although I’ve reinstalled since then and I didn’t encounter the problem a second time.

Well, here I am – not one bit further. The external DVD drive used for the installation attempt on Sunday had to be given back to work and I had to borrow a different one. With my luck it won’t read double layer DVDs even though it claims to do that.

Anyways, I’ve noticed a couple of strange things:
a. My very first attempt at booting the retail DVD was stopped by the non-working keyboard. I used the plain boot-132 ISO from the insanelymac forum thread. It does not have dsmos.kext in the initrd.img as I found out today but still the installation DVD booted at least into the first screen after connecting a USB mouse. Maybe dsmos.kext is only needed later on. I thought it was some sort of holy grail of the OSX86 scene that made the whole PC-to-MAC conversion possible in the first place. I remember it being called a on-the-fly decrypter for the mach kernel but I can hardly imagine that since the kernel booted on my NC10 without dsmos.kext being on the boot-132 CD.

b. I came to the conclusion that I’d have to boot using the “-f” flag since the PS2Controller and PS2Nub kext which seem to be doing the job for all other keyboards were inside the initrd.img. It just seems they were not loaded correctly.

Since I had bad luck with my choice of external DVD drive today I will try to borrow the original one tomorrow and I’m quite hopeful that booting the retail DVD with the force flag should overcome any issues I’ve been having so far…

I’m confused now. If I’m not mistaken you used the boot-132 loader to boot from a USB key to boot into your retail DVD which you had imaged to a USB hard disk – right?

The boot loader that your linked to earlier in a comment is to make the installed OS X actually boot from the harddrive if I don’t get that wrong.

Well, I’ll find out later if I’m lucky today. Booting with “-f” should hopefully solve any problems.

I think I’m confusing myself too… 😉

The link is to an alternate approach to booting a system which is based on boot-132.

I then used a USB key based on this new approach – the instructions for which are here and here.

This boot method may contain different/updated drivers, and so you may have more luck with them.

Leave a Reply