Spent a few hours discussing developer (content and software) relations issues with Mel this afternoon. While doing that (and before) I've been handling various other odds and ends. One of them was getting the pcnet32.ko driver built for the olpc kernel.
Did manage to get that done (eventually). It loads and I can ping the host machine in the VirtualBox machine. Unfortunately, the VirtualBox configuration's NAT doesn't seem to be letting the messages get out of the local private network. Sigh.
I'm also seeing the Journal and all other activities fail under VirtualBox emulation (flash for a few seconds, then die, no logs in the sugar directories). Still, here's the recipe for getting the kernel module built:
- Create a Fedora 7 vmware instance.
- Install the SRPM for the olpc kernel source.
- Build the kernel.
- Change the kernel-olpc-custom.config file, alter the PCNET32 line to be "=m".
- re-run make in the kernel directory
- tar up the .ko file and figure out a way to get it into your image (I used a Kubuntu image when using a mounted CD-ROM didn't work)
- run depmod inside the image to let modprobe find the module
- have eth0 automatically start at startup (/etc/sysconfig/network-scripts/ifcfg-eth0)
j5 says he'll ask to get the module enabled in the official builds at some point.
Also figured out a big part of the slowdown with the Cairo turtle-graphics engine, turns out Cairo doesn't like having "stroke()" called frequently. Somehow lost colour-setting while fixing that, though. Also seeing crashes with the "flowers" demo now, looks like I may be overwhelming something in the X client (the whole application dies because it loses it's connection with the X server).
[Update] With a clean VirtualBox conversion of the official 542 image the Journal doesn't crash. Most of the activities just flash once and disappear, however. Etoys sits flashing in the ring, but never shows up.
[Second Update] Just needed a reboot. Apparently something critical is dying if there's no external network interface present at boot. When there's an interface the emulator seems to work almost perfectly. Remining issues:
No audio (TamTam produces no sound). TamTam also doesn't like the smaller screen size (e.g. there's no way to close the activity). May be a problem with the OLPC customisations not being compatible with the "normal" hardware, alsamixer can't even load up inside the image, other images (e.g. Kubuntu) do have audio support in virtual box).
No neighbourhood visible (don't seem to get logged onto any jabber server, so can't see anyone else). Network connections (e.g. web browser) are working fine.
[Third Update] Looks like the audio is another case of a missing kernel module. This time a snd_intel8x0 driver (and the ac97 modules). Unfortunately, my messing about the create the pcnet32 driver in my Fedora7 install seems to have killed the initrd for that install, so I can't just boot that and compile the module. Sigh.
Anyway, it looks like a straightforward thing to fix, just a matter of rebuilding Fedora7 to get it done (last time took days and days with the upgrades after the install).