linux

Gentoo/MIPS: Notes for upcomming release 2008.0

Well… since 2007.1 got cancelled, officially, it was decided that 2008.0 would be much earlier than usual to compensate.

A few days ago I had my O2 busy compiling big endian stages — these were based on the cancelled 2007.1 snapshot,  and I compiled them to ensure that we, as an architecture team, didn’t slip too far behind. Those who are doing fresh installs onto MIPS4-based SGI hardware, may wish to look here.  Note that while they are labelled as “2007.1”, they are not official release media for that release.

At present, I’m building seed stages for the 2008.0 release for both big and little endian, and should start on proper stages shortly after a 2008.0 profile is added to the tree.

Due to a lack of manpower, the MIPS port of Gentoo is moving back to being an experimental architecture.  This means, starting with 2008.0, profiles will accept ~mips keywords.  There won’t be any keywords dropped on mass, the plan is we’ll just gradually let the stable keywords disappear over time (the ones that are there, stay, we won’t add any new ones).   Present users may wish to consider setting ACCEPT_KEYWORDS=”~mips” in their make.conf files if they have not done so already.  As always, any breakage, please report it.

The Loongson LiveUSB image that I mentioned earlier — is still in the pipeline.  It too, is marked 2007.1 as it was built with those stages.  It consists of a 870MB SquashFS image, which gets loaded from a netboot kernel.  The first netboot image for Loongson is now available, you’ll find it, and a rough guide on how to boot it on my devspace.  I haven’t put the LiveUSB image itself on my site yet, as it’s a whopper, and I suspect the Infrastructure team will rightfully frown on me distributing it from there.  It’s presently sitting in the staging area waiting to be pushed out to mirrors.  I’ll let you all know when this happens.

Gentoo/MIPS for Loongson — LiveUSB image comming soon

Well… there have been rumours about Gentoo dying… it certainly is alive and well from where I sit.

The last few days have been spent polishing off what will become the first LiveUSB image for the Lemote Fulong computer based on the Loongson2E processor.  The image consists of a netboot image (which can be used on its own to perform a rescue or installation), and a 870MB SquashFS image, which contains the full live OS.  I’ve set it up to be a demonstration of Gentoo on the Fulong, as well as being a useful installation environment.

Software Included:

  • Complete KDE 3.5.8 desktop environment
  • Mozilla Firefox 2.0.0.11 (Bon Echo)
  • KOffice productivity suite
  • Konversation IRC client
  • Amarok music player
  • Video playback software (mplayer with Mozilla plugin, Kaffeine Player, kmplayer)
  • Quake II qmax (bring your own game files, yes … it’s quite playable on these systems, even without 3D accel.)

The desktop is available in two languages, English and Chinese (Simplified) — you select the language at the login prompt by logging in as the appropriate user (gentoo-en or gentoo-zh) — both are password-less logins.

I’ll leave putting up screenshots until I actually release it… there’s still some kernel tweaking to do… and of course being a first ever release, the distribution should be considered alpha-grade.  I’d like to release it with at least a 2.6.23 kernel, probably 2.6.24-rcX, which should allow OpenGL capability (nice framerates in Quake II, the present kernel lasts about 5 seconds before crashing with hardware OpenGL) .  The entire build has been constructed by hand at this stage, since I’m yet to learn how to produce proper LiveCDs in catalyst

But in short, I hope to have this up before the month’s end.  It’s based on the 2007.1 stages I built at the end of last year.

2008: Hopefully better than 2007

Well, 2007 is slowly drawing to a close. As I write this, I’m lying on my bed, winding down for the evening, I can’t help but think back over this year.

For me, 2007 was great academically. I hit some quite high scores at uni, and even this semester, managed to score a 7 in an engineering subject. 7s for me are very rare, and usually only occur with IT subjects — the subject this time around was on communications between embedded systems — specifically, it centred around an Allen Bradley SLC5/03 PLC, and a Rabbit Semiconductor RCM4000-series 8-bit microcontroller.

Amongst other things at uni, this year really drained me. Gentoo took a major back seat, along with many projects I’ve been working on, and my entire focus was on getting through the semester. My stress levels this year got to dangerously high levels, to the point I was at the brink of suicide. The only thing that stopped me, is that for better or worse, I’m needed, and there are things I need to do before I disappear off the scene.

Now that the university year is over for now (except for the mugs doing a summer semester), I’m able to relax somewhat. I was away from home for the last 5 days, sporadically jumping online via a dialup link to check on things. I worked on stuff that pleased me for once.

I did some testing for Gentoo whilst I was at it. My laptop wouldn’t dial out to the internet for some reason, but I soon discovered, the Lemote Fulong I took with me, worked fine. By disabling the getty on ttyS0 (I normally have it for when I use the box headless) and plugging a 56Kbps PSTN modem in, and using KPPP via X-over-SSH (xorg-server 1.4 segfaults, there’s some patches I need to forward-port), I had an internet link up first go. Hence, net-dialup/ppp got a bump. Sadly I had to USE-mask atm, because that needed net-dialup/linux-atm, which isn’t yet stable. If I find a way to test this, I’ll do so, and mark it stable too.

Looking around though, I see I’m not the only one feeling the pressure. Gentoo 2007.1 has been delayed this year quite significantly, with most of the people involved having other issues to contend with. In the developer community as a whole, everyone seems to be on edge. In fact, everyone seems to be on edge. No idea what the cause is, it’s just something I’ve noticed.

Now… 2007 as I say is almost over. Presently, boxing day will be over for me in less than 2 hours. My hopes for 2008…

  • I hope linux.conf.au goes well for all involved. Mark Kowarsky has done a lot of work to organise Gentoo’s presence at this event. Sadly, I won’t be involved (lack of funds and time prevent me from attending) but I’ll try to help out from a distance.
  • I hope that over this new year period, people get a chance to unwind and relax a bit. Some de-stressing is badly needed IMHO, and should help ensure everyone is ready for the new year.
  • I hope that university for me, will now start to taper off a bit as I enter my final year. This year sees a reduction from 48 credit points a semester, to 36, which should leave me more time to dedicate to each subject, and therefore less stress & anxiety.

For the next few days, I’ll be uncontactable, as I’ll be out of mobile range camping at Gibraltar Ranges National Park (northern NSW, half way between Glen Innes and Grafton on the Gwydir Highway). It’s a nice spot, away from technology. See, as much as I like computers, I also like to run away from them for a little while. 😉

Those who are travelling long distances, I wish you all a safe journey. Take it easy on the roads, there’s no point in rushing to a funeral. Here in Queensland, our christmas/new year road toll is already one death higher than it ought to be, and while I really do hope it doesn’t increase, my gut feeling is that it probably will. Take it easy though, and the chances of you becomming another statistic are greatly reduced.

I may not get a chance before the new year to make another post. So whatever you’re doing…

I wish you all, a happy 2008.

Holidays

Well, it’s that time of the year again, and I for one will be going bush like I normally do between Christmas day and the new year.

As far as Gentoo/MIPS is concerned, I’ve still got to get around to rebuilding my Qube2… I’ve tested my MIPS1 builds and everything seems to work, but I’ve been slack on my MIPS4 builds.  That said… the delays in this release seem to be Gentoo-wide, as everyone seems to have been caught on-the-hop.

From this Friday morning (before 10:00AM UTC+10) until Boxing day, I’ll be away from home, sporadically online via PSTN dialup to check for emails.

I’ll have my Qube2 and one of the Lemote boxes with me, so I’ll be able to do some package testing at least, as well as work on a LiveUSB image for the Lemote systems.

After boxing day, I’ll be in Gibraltar Ranges National Park, on the Gwyder Highway, halfway between Glen Innes and Grafton.  No mobile phone reception or phone services of any kind there… so if you need me for something please get in touch before then, or it’ll have to wait until I get back in the new year.  And no, I won’t be bringing any desktop or laptop computers with me. 😉

This year has been very trying on my patience.  The stress levels have been quite high, and I’ve been quite apathetic in regards to Gentoo’s issues as a result.  I’m hoping 2008 will be a better year — for all of us. 🙂

ObsoleteToo: Gentoo for obsolete computers

I had a bit of a crazy idea today. Some would think I had a little too much spare time on my hands … but maybe there’s a point to this insanity.

Many of us have old computers laying about. Now, “old” is a subjective term. As goes the Weird Al song, “All About the Pentiums”…

You say you’ve had your PC for over a week?
Throw it away man — it’s an antique!

(Well, that’s how I remeber it… I might be paraphrasing a little.)

Not everybody needs a fancy box to do simple tasks. Pentium-class systems, and high-end i486 systems make quite decent X-terminals. As slow as early 486s and 386s are, they still are useful in situations where you just need a router or DHCP server (for example) to service a small home network.

I’m planning to put my 386 into active service. My Qube2 sits in my laundry, which is great. It’s cool, it’s a headless box with no need for direct interaction.

But interacting with the serial console is a pain, I have to get my laptop out, and plug it in. Thus I probably don’t do as much kernel testing as I should.

The 386 should be fast enough for this task — all it needs to run, is sshd and minicom. For a single user. Gentoo using uClibc sounds like an ideal platform. Why?

  • Minimum bloat: I merge what I need, and nothing more
  • uClibc is targetted at low-memory, low-processing-power computers
  • Gentoo gives me fine-grained control regarding what features I enable and disable.

Now the box is rather slow booting Gentoo. If I boot root-over-NFS, it takes about 30-35 minutes. I can reduce this to about 20 minutes when loading from a local HDD (narrow SCSI, as it happens), but I haven’t got far installing it due to problems with flakey disks. The kernel reports a BogoMIPS reading of about 3.9~4.2 when running at full-speed (33MHz), and about 1.6 with the “turbo” feature disabled.

Once I get it going however, it should simply be a matter of re-merging dropbear sshd (the default one in the Gentoo/uClibc stages dies with a SIGILL), merging minicom and a bootloader, and voila.

Any updates can be done via a chroot on a faster box, then the binaries shipped to the 386. Bootup time isn’t an issue, since the box can just sit there running — 386s don’t chew that much power.

This is quite low down in my priorities, at the moment I’m concentrating more on getting Gentoo/MIPS 2007.1 out the door, hopefully with some newer netboot images for Cobalt, and maybe some first ever boot images for Loongson.

But after that, I may look at what the Gentoo/Embedded people have (particularly GNAP) and see if that can be adapted to suit the needs of older computers.

I see no reason why this can’t be done — I’d much rather see the code in Gentoo streamlined to work better on older computers, than to see the specs increased, as this streamlining benefits all — not just those with few CPU cycles to spare. 😉

Gentoo/MIPS: Little Endian MIPS 4 stages ready for testing

Hi All…

After much waiting, the MIPS4 stages for little-endian MIPS systems are finally built. These are targeted at Cobalt users, but may also work for users of other MIPS4 and MIPS64 systems. The 2007.1 snapshot has seen a few changes in the time it’s taken me to compile this, so I may upload some updated stages later, but in the meantime, I’d appreciate any feedback on how well these stages work.

I plan to use them to rebuild my Qube2, whose root fs has accumulated many cobwebs over the years.

You’ll find the stages on my devspace for now.

Gentoo/MIPS: Little Endian MIPS 1 stages ready for testing

Hi All…

Well, it seems I’m done building the MIPS1 stages for little-endian MIPS well ahead of time. I used one of the Lemote Fulong systems to build these, and had stage 1, 2 and 3 done in about a day and a half — which is a record for me — the Qube2 normally takes about a week, and it’s still chugging away at stage 1.

You’ll find all the generic stages on my devspace for now. I’d greatly appreciate it if some brave users could give them a try and let me know how they go. I’m doing some tests now, and things look promising, apart from guile failing a “make check”, everything seems to be going fine. These will work on any MMU-equipped little-endian MIPS box with sufficient RAM (~128MB… 64MB if you’re absolutely desperate, but you won’t be able to rebuild system packages like gcc and glibc).

The MIPS4 builds will be a little while, since the Lemote boxes only implement up to MIPS3, I can’t use them to directly build the Cobalt stages, thus they’re being done on the Qube2. I’ll let you know as things progress, but I expect it’ll be tomorrow before I have a stage1 tarball available for MIPS4.

Gentoo/MIPS Cobalt: 2007.1 Builds start soon

Hi All…

I’ve started building the seed stages that will eventually become release 2007.1, once the release engineering release their snapshot. Not sure exactly when that will occur, but I expect some time in the next fortnight or so, the builds will start in earnest.

This is the first release where I’ve used the Loongsons to do much of the compiling work. My Qube2 is in bad need of a rebuild, so it may get one this year. My experimental box, zhenghe has already compiled the stage1 and stage2 pre-release tarballs in the last day — a task that would’ve normally taken me several days on the Qube2.

The MIPS4 builds will still need to be done on the Qube2 (since the Loongsons only implement MIPS3), so I anticipate I’ll have MIPS1 builds available ahead of the MIPS4 builds, but hopefully builds for both CPU types will be available for testing by the end of the month.

At the moment I’m off-line as far as IRC and IM contact is concerned — this is because I really need to concentrate on my studies. I’m repeating one telecommunications subject that I failed last year, and things are looking really bad this year — in short, I cannot afford another 3 mark or fail if I’m to continue at uni. (If I drop out, I shall have to discontinue my work with Gentoo … a bit difficult to power a PC when you don’t have a house to call home.) So my priority is definitely with my exam studies for now.

After my exams are over, I’ll certainly be back into the swing of things… I’ve got some preliminary crude images that could form the basis of a LiveUSB image to boot a Lemote Fulong PC, and I’m starting to piece together a newer µClibc-based environment for newer netboot images on Cobalt systems. Since these require much more direct intervention (I build them by hand presently) they have to wait until then.

But for now, things are plodding along nicely, Gentoo-wise. As always, if you need to get in touch, I can be reached via email for now… and I’ll let you all know as things progress. See the front page of my devspace for a progress summary.

OpenGL on Loongson: so close… yet so far

Hi All…

Lately I’ve been having some fun with the Fulongs… The other day, I managed to port Quake II to Gentoo/MIPS, and whilst I’m yet to test it on big-endian MIPS… it works great on the Fulong minicomputers.

Frame rate isn’t spectacular, it can only handle 400×300 when using software mode… but it’s playable. This would have to be one of the first commercial games to be ported to Gentoo/MIPS.

Now comes the fun bit of getting OpenGL going. Thanks to Lemote, I’ve got some patches that almost get things working correctly. I have hardware-accelerated 3D for about 5 seconds, before the following message is emitted by the kernel:

[code]Oct 9 00:21:17 [kernel] [drm:drm_lock_take] *ERROR* 3 holds heavyweight lock[/code]

After that, it’s game over… X freezes up, and I have to reboot the computer (via SSH) before I get local control back. But it’s a start. The full details are on the Lemote forums where I’m working on solving the problems… but certainly things are looking up. 🙂

Gentoo/MIPS for Loongson: LiveUSB images coming soon

Hi All…

Some good news on the Loongson front. I’ve managed to figure out unionfs, and udev enough to construct a kernel and minimal userland that’s capable of mounting a SquashFS volume from a USB HDD, then lay a tmpfs volume over the top of it, making it writable.

The LiveUSB images will likely come in two forms:

  • A minimal image, that’ll just provide a basic system capable of performing an installation of Gentoo
  • A complete desktop image, with KDE, Firefox, Thunderbird and all the usual conveniences.

The boot procedure will go something like this:

  1. Download the LiveUSB kernel and your chosen OS image to a USB HDD, or burn them on a CD (if you have a USB CD-ROM drive) naming the files ‘kernel’ and ‘gentoo-mipsel-root.sqfs’ respectively in the root directory of the disk.
  2. Plug the USB HDD or CD-ROM into the Lemote Fulong computer and power it up
  3. Hit ESC to break into the PROM, then type (substituting vfat with the appropriate driver… I might have the vfat wrong too):
    PMON> load /dev/fs/vfat@usb0/kernel
    PMON> g console=tty

Gentoo will then start automatically booting from the USB HDD. Ultimately I want to construct something equivalent to the Gentoo 2007.0 x86 Installer CDs which have the Gentoo Linux Installer, but I figure even there, it’ll be a similar procedure to boot them — first though, the installer needs some MIPS love.

On my TODO list, is to figure out how the livecd target in catalyst works … at present I’m doing everything by hand. I’d also like to try and fix µClibc so it doesn’t die when the kernel page size is bigger than 4KB (on Loongson, one needs to use a page size of 16KB).  Time will tell here, at the moment I’m a bit busy to go delving into the depths of the µClibc dynamic linker to fix things, so I’m just using the rather bloaty glibc library.

In short though… we’ll soon have the very first install images for Gentoo/MIPS on this platform available.