Archive for the 'Linux Development' Category

Camping this long-weekend

Wednesday, March 19th, 2008

Hi all,
Just to let you all know, I’ll be camping over the Easter long-weekend (Good Friday through to Easter Monday), on a private property outside Tenterfield, NSW.

There’s no internet link or mobile phone coverage here, so I won’t be online. If you happen to be around the Tenterfield area, you might get me on the 2m standard simplex frequency, 146.500MHz. (There aren’t any repeaters in the area at all, let alone IRLP/EchoLink connected ones.)

If you strike problems, best to contact me by email, and I’ll get back to you when I return on Monday. If release engineering put out another snapshot before Thursday evening (UTC+10) then I’ll try to get the boxes here building it whilst I’m away.

Both Loongson boxes will remain online, vapier has root access to both, so after getting approval from the senior MIPS devs, see him for actual access to the boxes in my absence.

Anyway… there will of course, be the obligatory posts with pics of the trip when I return. ;-)

Happy Easter all.

Gentoo/MIPS: 2008.0 Beta1 Stages available for testing

Monday, March 17th, 2008

Hi All,

I have made available, stages based on the Gentoo 2008.0 Beta1 snapshot, for you to test on your hardware.  New in this release, is the introduction of big-endian stages compiled for MIPS1, as well as little-endian stages for MIPS3.  This should suit generic big-endian users, and Loongson users respectively.  (Of course, if you’re using hardware other than SGI, Cobalt or Lemote hardware, you’ll have to figure out most things yourself — we can’t offer support for other hardware.)

For now, you’ll find them on my devspace.  If you strike problems, please let me know and I’ll try to get the problems fixed for the final 2008.0 snapshot. :-)

I’ll be taking them for a spin to make sure everything is fine, but I’d appreciate any feedback from users.  These stages are experimental, as they’re based on a beta snapshot — if you’re setting something up for a production environment (if you are, you’re braver than I am), I’d recommend using the older 2007.1 stages instead.

Open Standards

Thursday, February 28th, 2008

People who know me, will know I’m quite a keen supporter of open source projects. I’m not nearly as fanatical about it as others, such as Richard Stallman, but I try to support open source as much as I can.

However, I suppose I’m a much bigger supporter, of open standards, than open source. I don’t mind if a project implementing a standard is proprietary commercial software — if the underlying standards it is built on, are open, that makes it possible for an open source implementation to be created. This gives users a choice — they may choose for various reasons to go for a commercial solution, or they may choose open source, it’s entirely up to them.

Now I realise that many of you will be reading this on planet.gentoo.org, and thus I’m likely preaching to the converted. I’m mainly aiming this at organisations that are completely blind to the issues faced. I’m hoping some of those might see this post.

Some might ask, what’s wrong with closed standards? There are a number of issues regarding closed standards.

  • Vendor lock-in: it locks people in to buying from particular vendors, for better or worse.
  • Inflexibility: If you don’t know how it works, how can you modify it to make it do what you want?
  • Control: Who controls what you do with the application? Or the data produced?

If you’re using some closed system, and you run into technical difficulties, the only people who can help, are the makers of that product. You can’t easily switch to another product, and you’re completely at that vendor’s mercy. Some charge extortionate rates to fix even trivial problems, if they help at all. Now granted, there are some good players out there, and if you strike one, great… but if things change for the worse, you’re stuffed.

The ability to understand how a system works is particularly important. Not just with troubleshooting… but also with experiments. Users of a system may have ideas that you as a company have not even considered. Now if it’s open, they can either modify themselves, or hire someone to modify, the system to suit their needs.

Experimentation in one’s spare time is a great way to learn too — university can’t teach you everything. But if the system is closed, how can they experiment? The ability to learn about a system is greatly stifled, when you can’t play with the deep internals at the protocol level.

Control over what you can do with the data produced by a system is a hassle. Remember that you, as the vendor, do not own the data produced by someone using your product. As far as the user is concerned, it’s their data. If I put an audio or video clip of my own work up on my site (which I have done on occasions), it’s not companies like Fraunhofer, or Microsoft, or Apple that own the content, it’s me. And I want the right to be able to share that clip under my terms.

The only reason why the Internet is popular today, is because of open standards. You would likely not be reading this, had it not been due to open protocols such as IEEE802.11b, OpenVPN, Ethernet, TCP/IP and HTTP, and open formats such as HTML. Look at what happened to Compuserve… The Microsoft Network… AOL… Ring a bell? They were all closed networks, that died out because the open wild of the Internet was more appealing to their users.

It isn’t just an issue in the information technology realm. Allow me to look at the problem in another context. Amateur radio, would not exist today as a hobby, if it were not for open communications standards.

If you look past the obvious social and competitive aspects of amateur radio, you see there’s another aspect, the experimentation side. As defined by the ACMA LCD (I’m sure it’s similar in other countries) …

6. Use of an amateur station

The licensee:

  1. must use an amateur station solely for the purpose of:
    1. self training in radiocommunications; or
    2. intercommunications; or
    3. technical investigations into radiocommunications; or
    4. transmitting news and information services related to the operation of amateur stations, as a means of facilitating intercommunication

The two points I’ve highlighted in bold above, are rather important. Put in layman’s terms… if you’re not in the hobby to talk to people, it’s mainly there for experimenting with the technology.

There’s another restriction here too … we’re not allowed to use cryptography, or any kind of secret code, it must be public domain. (e.g. I could, for instance, theoretically use UTF-8 on CW, encoding ones as a dash, zeros as a dot, and using RS-232-like encapsulation. Morse users would get confused however.)

Now suppose FM, for example, were a closed standard — that is, you had to pay some company royalty fees to use them. (Yes, I know that almost did happen way back in the 1930s, but anyway.) How well do you think that’d sit with radio amateurs, who typically like to build homebrew equipment? I don’t think it’d be liked much at all. In fact, if it were secret, it may very well be illegal in some countries. Thankfully this isn’t the case, and even emerging standards like D-Star, are fully open.

Now… back to the IT situation. We can see that a system where the protocols and standards used are fully open, can work. I have to ask why IT thinks it’s special, and insists on closed standards?

Looking at the educational environment … it’s here more than any other place, where we need open standards. How can students be expected to learn about something, if they can’t conduct their own experiments? Experimenting in one’s own time is a good way to gain a better understanding of the topic of study. It’s people graduating from these universities, that will be carrying the industry forward, and I really do think the present industry, should assist by being as open as possible.

Why is it, that universities like inflicting this poor choice of closed systems on its students? Yes, I’m looking at you, Queensland University of Technology, with your extensive use of Microsoft Office, Windows Media codecs (for recorded lectures), Cisco VPNs, Microsoft .NET framework, and numerous proprietary apps/standards.

QUT have a number of labs for each faculty, but also central labs. The central labs have OpenOffice installed, however the labs for Faculty of Engineering, and Faculty of IT, do not. So sure, I can work on some assignment on my personal laptop (running Gentoo Linux of course) — but if I have to email it to the lecturer, I have to either convert it to a PDF (my preferred method), or some have the gaull to ask for it in Microsoft Office formats.

If I comment that I don’t have the money to purchase Microsoft Office, the comment usually is something along the lines of, “Ohh, well you’ll just have to use the computers here.” Yeah well… how about I email my stuff in OpenDocument (ISO26300) format, and see how YOU like walking out of your cozy little office, into the library, and using a computer other than your own to view some file you’re expected to read. Exactly, you don’t like it … why should we be expected to put up with it?!

If that isn’t bad enough, they’ve now dropped using Java apparently for a teaching language. They instead use Scheme for the first years, then go throw them in the deep end with .NET. Way to go for consistency! Probably worth noting that they know nothing about Mono, and expect everyone to use VisualStudio.NET.

I really do think this is highly hypocritical of the university, and it’s an attitude that really disgusts me. Sadly I know they’re not the only ones doing this — some are even worse in this regard. (Then again, some are really open source friendly.) I have good reasons for using the software I do. I at least give you, the choice of using anything that opens OpenDocument formats — which is quite a lot — just sad that your office suite of choice isn’t among them by default. That’s not my fault, and you shouldn’t blame me for that.

I’ve complained directly to them about this before … so I’m now taking this complaint onto the world stage. Don’t like it? Tough.

I try to practice what I preach. One site I maintain, the Asperger Services Australia site, does make use of open standards. Sure Microsoft Office is used internally to write the documents that get uploaded (I’m working on that, give me time), they are converted to PDF. PDF of course is another open standard, ISO32000.

Any multimedia on the site, uses the XIPH foundation codecs Theora and Vorbis. Sure, I get the odd question from a Windows or Mac user about how to play the files, but thanks to the Cortado player applet, and ITheora, I’m able to make the video play for 99% of users out-of-the-box, and cater for the other 1% by allowing them to download the file and play it any number of players that support Theora and Vorbis.

This is handled automatically in most cases, the user isn’t even aware of the underlying architecture. However, if curious, the underlying architecture is open and present for them to look at.

I think it somewhat ridiculous, when looking at science fiction shows such as Star Trek, depicting (fictional) alien craft, produced by completely different lifeforms, are somehow 100% compatible at every layer of the OSI stack. We haven’t even got this today, and every computer on this planet was built by the same species!

I really do think this closed-standards war is hurting more than it’s helping. It’s about time we cut the nonsense, and actually started working together. Protocols and formats, used by systems really should be open for anyone to implement. I don’t mind closed implementations of those standards, that’s fine, but the standards themselves should be open.

Anyway… that’s enough of my ranting… glad to get that out of my system. :-)

Gentoo/MIPS: 2008.0 Builds begin

Sunday, February 24th, 2008

I’ve now began building stages for the upcoming 2008.0 release.  This release will see the introduction of MIPS3 stages for little endian targets (ideal for Loongson 2E users).

In addition, I have my O2 compiling the big endian stages, for MIPS4, MIPS3 and MIPS1 (in that order), so this will also see the introduction of generic MIPS1 stages for big endian systems.

I’ll try to provide these where I can, however there’s no guarantee that these generic stages will continue, nor is there any support provided for non-SGI/Cobalt hardware at this time.

Apparently there’s going to be a shake-up regarding the profiles too.  The profiles used in the snapshots are completely different in structure — whether this will reflect what users see in the Portage tree or not, I’m unsure.  I’ll let you know what the deal is there in due course when I find out myself.

Gentoo/MIPS for Loongson — LiveUSB image is here

Thursday, February 14th, 2008

Hi all…

With the help of robbat2, I’ve released the full LiveUSB Image of Gentoo Linux for the Lemote Fulong, and similar systems. It consists of two parts…

  • The kernel image, which can be used alone to boot the system and perform an installation, or rescue an installation.
  • The live system image, in the form of a 870MB SquashFS image.

If you just want to install Gentoo, you can download the kernel image on its own, and either load it from a USB disk or TFTP server.

However, if you want a full blown desktop, you need this kernel image, plus the LiveUSB system image, which you’ll find on the mirrors under the experimental/mips/livecd/loongson-2007.1 directory. I’ve pushed this straight out, due to its considerable size. (For me anyway… remember that my ADSL link pushes data up at a whopping 128Kbps… yes… “broadband” in Australia officially sucks!)

To boot the live environment, download both to a EXT2 or EXT3 formatted partition on a USB disk (FAT32 may work, but you’ll need to tweak the URL passed to PMON2000 when loading the kernel). For simplicity, place them in the root of the directory, with the kernel named “gentoo“, and the live system named “gentoo-liveusb.sqfs“.

Boot the Lemote box up and hit DELETE when prompted. You’ll be greeted by a PMON> prompt… Enter the commands as you see below…

PMON> load /dev/fs/ext2@usb0/gentoo
PMON> g console=tty0 liveusb

The highlights…

The following are some screenshots of the desktop in action. The desktop is based on the latest 2007.1 stages, and KDE 3.5.8. When it first boots, you’re greeted by the following screen:

LiveUSB login prompt

The desktop is provided in two languages, English (UK) and Simplified Chinese — decided according to the account you login as. Both accounts are set up in KDE as passwordless, so just click on the desired account and press ENTER. If you do happen to be asked for a password, the password on all accounts (including root) is gentoo. Once logged in, you’re greeted with a largely default KDE desktop (click to enlarge). The background image is a departure from traditional Gentoo desktops — based on a photo taken by my father whilst camping up at Biggenden.

LiveUSB Desktop

The latest stable Mozilla browser, Bon Echo (Firefox) is included. Note that due to licensing, I’m not able to use the Firefox branding that people would be more familiar with (click to enlarge). The default homepage and bookmarks have been tweaked to have some useful relevant links for Gentoo/MIPS. The Chinese version links to versions of the documentation in Chinese where available.

LiveUSB Bon Echo 2.0.0.11 included

Should you have a query, or wish to chat to people whilst waiting for things to install, a full IRC client and instant messenger package are provided.

LiveUSB Messaging

A full copy of the KOffice productivity suite is included…

LiveUSB KOffice

Multimedia playback applications such as KMPlayer, Kaffeine Player and Amarok are provided…

LiveUSB Multimedia

And last but not least… if you get bored… Quake II with qmax goodness, is available… (but bring your own game files) Sadly, hardware OpenGL isn’t working yet, but despite this, Quake II is still quite playable.

LiveUSB Quake II

 

Gentoo/MIPS: Notes for upcomming release 2008.0

Sunday, February 3rd, 2008

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

Friday, January 18th, 2008

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

Wednesday, December 26th, 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

Wednesday, December 19th, 2007

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

Sunday, December 9th, 2007

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. ;-)


Bad Behavior has blocked 510 access attempts in the last 7 days.