gentoo

Gentoo/MIPS O32: New binutils == new builds

Well, binutils-2.21 has been released. Amongst the changes were some fixes for Loongson 2E and 2F systems, and a whole host of MIPS related commits.

I tried experimenting with one of the binutils CVS releases, and had good success building Qt and the KDE desktop on the Yeeloong. I still have issues with JavaScript in Konqueror, and some other apps are glitchy, but the desktop is usable on MIPS, and is reasonably responsive.

It is my plan to fire up the MIPS systems for a new round of stagebuilds for the O32 port of Gentoo/MIPS. These will hopefully include the latest binutils release, latest Perl and gcc.

Gentoo/MIPS Progress update and LCA news

32-bit Gentoo/MIPS stages for both big and little endian systems are now available for MIPS-I, MIPS-III and MIPS-IV.  For now I’ve got these on my devspace, but I hope to get some of them out to mirrors as soon as possible.  I’d appreciate any feedback on this release.

The little-endian stages should work on Loongson systems.  All stages include a patched binutils binary (see bug #338405) which adds some fixes for errata in the Loongson 2F CPUs and the little-endian stages for MIPS-I and MIPS-III have this fix enabled in the CFLAGS, enabling their use on Loongson hardware.  They will also work on non-Loongson systems.

I’ve been doing quite a bit of testing with the little-endian stages in particular, and have had few problems with getting many software packages to work.

binutils-2.21 already includes the fixes needed, along with lots of other MIPS-related fixes… and so when that is released (they’ve already done a branch freeze for 2.21) I plan to build new stages based on this newer toolchain, and with the newer Perl release.  Current stages use Perl 5.8.8 since I found I hit a few snags at the time which I thought were better dealt with later (some package complained there was “something funny about this Perl version” and bombed out) as the primary concern for the Gentoo/MIPS port at the time revolved around gcc.

I downloaded and installed binutils last night, based on that day’s CVS snapshot.  I’m now trying to see if I can get qt-webkit to build (the biggest sticking point so far) using that, with the view of having a workable KDE-based desktop going on the Yeeloong and the Fulongs here before LCA 2011.  (For now I’ve got FVWM.)  In the meantime I’ll be keeping an eye on the binutils mailing list.

On the LCA front… I got formal confirmation of my payment on the weekend… so I’m definitely a go-er… I’m still trying to find out if I’ll be helping out with any stalls…

There’s a social meeting of the Brisbane Amateur Radio Club this Friday, wherein our involvement in LCA will probably be discussed — club president was supportive of the idea when we discussed it on our 2m net last Wednesday evening… we just need to figure out what we can do, who can do it, and what needs to be done.

I’ve managed to get fldigi going on Gentoo/MIPS, and so maybe interfacing one of the computers I have (either one of the Fulongs or the O2) to a radio transceiver… (perhaps one of the ships’ radios on the HMAS Diamantina… nice mix of old+new-er) decoding some RTTY or PSK31, is an option.  We’ll have to decide this formally.

Those who wanted to drop in… we meet at the Queensland Maritime museum this Friday (and every second and fourth Friday except fourth in December and second in January) at 7:30PM — entrance is via “Service Gate 2” off Lower River Terrace.  We meet in the lunch room under the bridge.  If anything is decided, we will likely make our final decision at the following business meeting, which happens a fortnight later.

BARC Meeting entry point

BARC Meeting entry point... via Service Gate 2 off Lower River Terrace

If Gentoo has a stall, it’d definitely be worth setting up one of the Fulongs there… and for that I’d want a reasonable desktop going (KDE, or maybe XFCE… I know people have done some stunning work with FVWM, but I’m not that good).  I look forward to LCA regardless… if neither Gentoo nor BARC are running a stall in the open day, then I’ll just have a look around and see what it’s all about.  I look forward to the event anyway. 🙂

LCA2011: I’m going… are you?

Hi all,

I’m in the process of registering for LCA2011… since it’s in my home town, I figure I may as well show up. 🙂 This will be the first LCA that I’ve attended, last one I was looking at going to was the one in Sydney a few years back … however at the time I just didn’t have the funds.

Now, with it in Brisbane (therefore no need for a hotel room), and having some money in the bank, there’s no excuse for me.

I’m not certain if Gentoo is organising a stall there or not this year, and there’s mention of the Brisbane Amateur Radio Club (of which I am a member), not sure what activities are going there either (this could be in error… I’ll inquire with the group and see what’s doing). If we have a stall… figured it’d be a good opportunity to get one of the Fuloong computers up and running as a bit of a demonstration of Gentoo/MIPS… maybe get my O2 running fldigi with my FT-897D decoding some PSK31 as well if BARC are involved. We shall see.

What is certain though, is that I’m taking the plunge this year… before the earlybird pricing expires in early November.

Gentoo/MIPS o32: Little-endian stagebuilds complete, Big-endian underway

Hi all,

The O32 stage builds for little-endian MIPS systems are now complete, and you will find the stages on my devspace for now at http://dev.gentoo.org/~redhatter/mips/cobalt/stages/.  There you will find stages for:

  • MIPS-I: Suitable for all little-endian MIPS hardware
  • MIPS-III: Best for Loongson-based hardware
  • MIPS-IV: Best for Cobalt Qube2 and RaQ2… Possibly the earlier Qube/RaQ as well.

Note that for the latter two, there are also N32 stages in the pipeline.  N32 overcomes a lot of shortcomings of the O32 ABI and offers better performance overall.  For many years, Gentoo/MIPS has primarily used O32 as the default ABI, with N32 being considered “experimental”.  Zhang Le and others have done a lot of work in the field, and now many applications run fine on N32.  Gentoo will therefore be transitioning over to this newer ABI, leaving O32 available for legacy system support and for experimental targets.

And yes, I’ll have to get to and update the documentation.

Some erratum notes however… These stages all feature a binutils patched for Loongson 2F support.  In the case of the MIPS-I and MIPS-III stages, these were also built with the -Wa,-mfix-loongson2f-nop set in CFLAGS so that these stages will work on Lemote hardware.  (And I needed to do that, otherwise we’d be waiting until Christmas for the Qube2 to finish building.)  So Loongson users should find these stages will work without further patching.  MIPS-IV was not built with the changes to CFLAGS, however these stages will also not run due to incompatibilities with ABI.

Secondly, the issue with /dev still exists… I’m not sure where the bug is, I’m still investigating this.  The following run inside the chroot should correct this issue:

# rm /dev/null
# mknod /dev/null 1 3
# USE=build emerge --oneshot makedev

I’d be naïve to think it probably won’t happen on the big-endian stages… we shall see. Stage 1 for MIPS-I big-endian is already up, with stage 2 well underway. The O2 is just a little quicker than the Qube2 in that regard. 😉 I hope to have big-endian stages up by November.

Qtel and svxlink in Gentoo

Hi all…

It’s been a long time since I took over the maintenance of svxlink in Gentoo, and to be frank, I’ve done basically nothing with it because for the most part, it worked. Much development has gone on upstream, however no newer releases have been made, the only way to get the latest stuff is via SVN. This includes the somewhat experimental Qt4 branch.

Since Qt3’s demise, we’ve had to drop Qtel from the package… prompting bug #336993. There are also issues with initialisation scripts (bug #335307).

Consequently, I decided to try out this new Qt4 branch from SVN. For those playing along at home, the installation instructions are simple enough:

$ svn co https://svxlink.svn.sourceforge.net/svnroot/svxlink/branches/qt4/
$ cd qt4/src
$ make
$ sudo make install

At first, I found it wasn’t working… completely deaf and mute.  Vox didn’t show any sign of hearing my audio from the microphone… and I couldn’t hear anything back.  I tried some other ALSA devices… at this point Qtel only supported one audio device at a time.  Some tinkering, I found I could get it to hear me, but audio was very scratchy.

I had noticed this with aplay too… the problem being that the audio CODEC on the Yeeloong runs at 48kHz, and does not support other rates.  I managed to set up dmix to enforce a 48kHz rate (and give me software mixing as a bonus), then set up a rate converter atop this… but a snag, you can’t record from dmix, and Qtel (or rather libasyncaudio) expected a two-way device.  I suggested to Tobias that having separate microphone and speaker devices would be a good idea.  In double quick time he had updated the Qt4 branch to support this.

Some tinkering, and I managed to get it to hear me, but I was still effectively deaf.  It took some more investigation to track down some of the other issues, but eventually this morning I cracked it.  I had working audio both ways… but received audio was still very scratchy.  Further testing with aplay, after thinking I had solved the problem confirmed this.  More fooling around with .asoundrc ensued.  I finally tried an upgrade of the kernel to 2.6.36-rc7 (linux-loongson-community git HEAD).  Voila, rate converted sound out of aplay came through crystal clear.

I started Qtel and tested it initially on *ECHOTEST*, then on a local repeater (VK4RBR-L node 284321 / 147.950MHz FM) listening via RF as well. No problems there, it seems to be able to make contacts no problems at all. I will have to try svxlink itself at some point to see if I can successfully construct a node using the software, but for now my own node is back on the air after a long hiatus… and I hope to have new ebuilds in the tree.

In particular, svxlink will be split into a few packages.

  • dev-libs/libasync: Asynchronous I/O Library
  • net-libs/echolib: Echolink Communications Library
  • media-radio/svxlink: svxlink and remotetrx
  • media-radio/qtel: Qt Echolink client

I should probably try it on the O2 as well, but Qtel, libasync and echolib will probably get keyworded ~mips too, since they work fine on the Yeeloong   The others… well, I’ve got the parts to make an interface cable for the FT-897D here, in fact, enough for two.  The plan is to make up this interface cable, and try setting up a node on FM simplex.

There’s a second ‘897D as well… however it has a burnt out microphone preamp after a storm blew it up (and a blown up DDS chip, so no SSB or AM TX on this rig).  Miraculously, its finals seem intact as it’ll happily blast out 50W RF on 2m (with no modulation).  If the data interface works okay though, it may work well enough for a temporary 70cm node on one of the local repeaters, VK4RBC Mt. Coot-tha.

In the meantime, my personal node is now up and running again after a long hiatus… Look for VK4MSL in your client or dial  37 37 40 via RF.

Obligatary screenshot of Qtel in action

Obligatary screenshot of Qtel in action on the Yeeloong

Gentoo/MIPS O32: MIPSel-I stages up, others underway

Hi all…

After a long wait, Gentoo/MIPS is on the comeback trail. Okay, I’ll stick my hand up and admit I did a bit of carnage by pulling keywords on vim-7.0 (which might’ve worked with older releases but did not work on this latest release) however we’ll soon have that cleaned up. We’re still in discussions whether to drop the stable keywords on the packages that depended on vim (probably a wise move considering the vim keywords I pulled were stable ones), or whether to promote vim to stable early (probably also fairly safe given the circumstances).

In the meantime, my builds have plodded on. Gentoo/MIPS O32 for MIPS-I little-endian is now complete, with the stage 3 due to finish uploading in 5 hours time… after which, the stage 2 for the MIPS-III little-endian port will begin its upload. Progress can be watched here if people so desire… the upload is throttled at 8KB/sec so that I have some bandwidth left-over for other tasks (it’s a 128Kbps uplink).

MIPS-IV little-endian builds are going slowly… with a snag hit when the Qube2 couldn’t download an amended patchset for binutils (basically patchset 1.1 + patches from bug #338405) because muggins forgot to copy across the envscript specifying my local GENTOO_MIRRORS.

The O2 is also happily compiling a seed stage, for what will be a round of stage builds for big-endian systems… no issues so far and stage builds will commence there in earnest shortly.

It is hoped that we will soon be offering N32 stages to compliment this release very soon. N32 will likely be the future direction for the Gentoo/MIPS port, with O32 being provided for legacy installations and for hardware unable to run 64-bit kernels reliably (or at all).

From here, the next step will be uClibc stages and installation media for the various platforms we support. This should include the newer Lemote systems which have previously enjoyed semi-official support in the past.

Gentoo/MIPS o32: Little-endian stagebuilds continue

Hi all…

Just to let you know, there will be new stages to replace the ones I uploaded recently. Having found a solution for the issues with building on the Lemote computers, I now have MIPS-I and MIPS-III builds going simultaneously on the two Fulong systems. MIPS-IV is being handled by my much slower Qube2. One of the hold-ups was a parallel-build with gcc-4.4.4 (and I note that distcc doesn’t seem to work under Catalyst anyway).

I hope to get big-endian ports bootstrapped soon, with my O2 up and running.

Gentoo/MIPS O32: Fuloong2E Errata

Hi all…

A little note regarding the usage of the latest MIPS-I stages on Fuloong 2E… I found I had a hard-lock compiling some applications which can be possibly traced back to an issue regarding the NOP instruction on the Loongson CPU.  I understood it to only affect 2F-series systems, and also assumed latest binutils had the patch, it seems I was wrong on both those fronts.

A workaround is described on Lemote’s site… compile the fix-nop.c then use it to patch up ld and as… then builds should go smoothly. Now that I know about this issue, I can use the faster Loongson2E machines to build the stages, which means I’ll address the other issues I’ve found and roll out a new set of stages, rather than waiting for the slow Qube2 to chug its way through the build queue.

Gentoo/MIPS: Little Endian MIPS-I stage3 up

Hi all,

Well, after a long plod the stage 3 for MIPS-I little-endian systems is uploaded. I’m working on MIPS-III and MIPS-IV stages, as well as equivalents for big-endian systems.

Two things with this stage 3 tarball. First and foremost, /dev seems to be empty. I think this is most definitely a bug, and I’ll try to rectify it, but in the meantime, just merge sys-apps/makedev. That should clear everything up.

The second is that somehow dev-vcs/git got pulled in. I guess this is a happy accident since many will probably want it for fetching kernel sources. I’m undecided whether to leave it there or not… I probably should see why it got in there and fix it as that’s probably related to makedev‘s absence. I don’t see it in the profile, so it’s a mystery why it wound up in the system. I’ll do some further checks, but for the most part, it’s harmless.

I’m just rebuilding one of the Fulong2E’s with it to check it out… and as always, feedback is appreciated.

Gentoo/MIPS: Incremental uploads commence

Observant viewers may notice that I’ve begun uploading some of the stage tarballs. The first of the stages built is the stage 1 tarball for MIPS-I little-endian. Stage 2 is building as I type this, hopefully by this weekend it’ll be uploaded and stage 3 will be on its way.

I’ll let you know when all the MIPS-I little-endian builds are done, that way you won’t wind up downloading a partially uploaded file. That said, should you jump the gun, you should be able to resume the download to fetch the remainder. I’ve started with MIPS-I since that’s the lowest-common-denominator … MIPS-III will be next, followed by MIPS-IV.

I plan to get onto the big-endian port shortly. SGI owners have not been forgotten, just I’ve been busy. 🙂