Booting Gentoo/FreeBSD/SPARC64

First of all, a service note regarding my previous ALSA post. Seems like I was lucky, and the ALSA code in the current repository is good enough to at least build and work on 2.6.18 and .19, so now there are alsa-driver-1.0.14_pre20061130 in the tree that will work until upstream releases a new version.

Tonfa, sorry if the words about mercurial were a bit too harsh than they needed to be, I was pretty much pissed off by it giving up on me when I needed it, although I’m still not sure why it continue crashing, it’s a memory corruption problem, so the backtrace won’t be useful, I’ll try to build it with minimal CFLAGS and see if perhaps it’s that creating the problem.

Now, on a more Gentoo/FreeBSD related note, today I received two packages by mail, the first was an Amazon package (only reported as “From an happy user”, that I thank even if I have no idea who he is :) ) containing Rhapsody’s Live in Canada 2005 that I’m listening to right now, and Gibson’s Count Zero that I’ll surely read as soon as possible; the second was the IDE-CF adaptor I ordered.. the shipping was well handled, very little package and not much waste in advertising and whatnot, I like that; the thing itself is pretty minimal, although it supports two compact flash cards, and it was easy to set up, being just a standard IDE device, OpenBoot recognised it correctly.

The problem after this was to actually get the partitioning done, as the bsdlabel command didn’t work… a quick check around shown me that being SPARC64 architecture, I should have used sunlabel command instead, and the problem was easily solved. After booting and setting up the partition, I tried to find a way for the loader there work with a partition that contains /boot without a “boot” directory.. it didn’t like that.

The solution should be to pass the string “/loader” to boot1 (the first stage loader, the equivalent of boot0) but to do that I need to change the property “bootargs” of the “/chosen” OpenBoot device.. which is not possible from the OBP console. I looked around, and found ioctls to actually do the job, so I decided to try writing a simple software to write to the settings, an “ofwedit” considering “ofwdump” exists already, and it has already code for writing to the openfirmware interface. Unfortunately, my easy program that should just set the value of the property I named, well, panics the kernel :|

Another problem is that the rootdev parameter on loader.conf is simply ignored, so I still have to find a way to properly tell the kernel to use /dev/ad1a as root partition, and it continue asking me for it at boot… at least with the serial console is easy to do so.

The problem with Catalyst I talked about previously seems to be again the same problem Roy found initially, kldload leading to kernel panic when called, as it tries to load the nullfs module; this means that I need to fix that bug, but also that catalyst can be used to build the stages, you just need to build nullfs in kernel rather than as a module.

I also found some other minor problems, like some manpages being installed in arch subfolders like sparc64, but I’ll fix that later with some more time. Emacs unfortunately does not want to build, first there’s a problem as it tries to use /usr/lib/crtbegin.o and /usr/lib/crtend.o, that are instead in a completely different location for us (inside gcc’s directory) since I removed it from freebsd-contrib. Also, once I fixed this trouble, it gave me a SIGILL during elisp building, which is all but promising.

And yes, I know there’s a KOffice bump to do, I just need the time to handle that, as right now I’m working on VLC’s release candidate, with the nsplugin support thanks to the information provided by Tavin Cole in bug #156067. Kaffeine 0.8.3 is in the tree now with a build patch as it didn’t build for me on three boxes already.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s