Linux Development

Gentoo 2006.1 for Cobalt: Preparing for another build

Well, it’s that time again… time to wind up the Qube2, and get it building a seed stage in preparation for yet another release of Gentoo.

Then it’ll be a case of waiting for the official 2006.1 snapshot to be released, and the full stagebuilds will begin in earnest. I may release pre-2006.1 stageballs, we’ll see how everything pans out.

I’ll keep you all posted. 🙂

Gentoo Linux/MIPS for Cobalt — The beginnings of a 64-bit port

Hi All,

Just to let you know, things haven’t been totally silent over here… Lately, I’ve been messing about with a mips64el tarball I got from Joel Martin. This is a full multilib environment (o32/n32/n64), which was cross-compiled from x86 via some build scripts based around portage and crossdev. There was however, a snag … there were artifacts of cross-compilation lurking about, some i386 binaries (cc1, cpp1 and tbz2tool being a few), and some even more bizzare “n32 MIPS32” binaries (which I’d have normally considered impossible).

This afternoon, after some tinkering with crossdev, I discovered I was able to get gcc-4.1.0 to build enough to patch up the broken files, to the point I was able to build packages like rsync (although it failed to package due to tbz2tool being broken). I’ve since managed to rebuild things like libtool, and have Python 2.4 well underway as I type this post.

What does this mean? Well, in the distant future (probably in the next few months following my end-of-semester exams), there’s the possibility of providing n32 and n64 (i.e. 64-bit) stages for Cobalt hardware. These will probably be as broken as their big endian counterparts (probably more so), and won’t be officially supported by the MIPS team, but are provided for those who know what they are doing. Those who want stable stages, just stick with the 32-bit (o32) ones we officially support. 🙂

It’ll be a while before I make 64-bit netboot images available… it won’t be anytime soon… if people want a 64-bit userland, it’s best at this point to use it in a chroot environment (as I am doing now), using it for a root environment could lead to all sorts of avoidable headaches.

Also in the plans, as soon as I have the time to do so, I’ll look at a LiveCD for netbooting Cobalt servers. This will be a minimalist x86 LiveCD, which when booted, turns a standard x86 desktop into a BOOTP/NFS server required for booting Cobalt hardware. Initially this will be exclusively for MIPS-based Cobalt servers, but may later be extended to x86-based Cobalt hardware, when suitable netboot images become available. SGI hardware is also a possibility that I may consider. At the moment, it’s little more than some thoughts in my head … I’ll keep you all posted on what happens here.

Anyways, I best get some sleep (1:19am right now), and get some university work done … I’ve got a very busy week ahead. 😐

Gentoo Linux/MIPS for Cobalt — 2006.0 stage 3 — showing at a mirror near you

The 2006.0 stage 3 has been pushed out to the mirrors. You can get it from
your local Gentoo
mirror
in the
experimental/mips/stages/cobalt/2006.0
directory.

Not all mirrors have the files yet (they were only pushed out last night), but they should appear soon — probably in the next day or two. 🙂

As always… any bugs, issues… let me know. 🙂

Reverse Engineering Project: Driver for the ProHance PowerMouse 70

Well… while digging around in our masses of old hardware, I came up with this little gem…

ProHance ProMouse (aka PowerMouse 70), a rather unergonomic boxy looking mouse that's round at the palm end, and has an inset region of buttons… two pill-shaped 20mm×4mm buttons for the left/right mouse buttons, and a 2×5 grid of circular 4mm buttons marked with various keyboard labels.

ProHance ProMouse (aka PowerMouse 70)

This is an old 12-button serial mouse. Under DOS/Windows 3.x (its native platform), the additional buttons were mapped to keys on the keyboard, Escape, PageUp, Down, Home, End, Insert, Delete, Backspace and Function. The Function button allowed access to all the function keys, F1 through to F10. Thus, it allowed you to jump around documents, without having to switch between keyboard and mouse all the time.

Now, to achieve all this magic, it uses a proprietry protocol, one not supported by gpm or X.org. As I’ll probably end up reverse engineering my PDA (a Sharp Mobilion PRO PV5000A) eventually, I figured this would be a nice little project to start with.

What I know so far…

The mouse itself seems to prefer running at 4800 baud, and has a variable packet size.

The buttons are a very simple. There are two events, button pressed and button released (as you’d expect). These are sent as a two-byte packet:

  • 0x0d ID — Button ID has been pressed…
  • 0x0c ID — Button ID has been released…

The buttons themselves are numbered as follows: Left Button = 0x1d, Right Button = 0x1e, Escape/F1 = 0x1f, PageUp/F2 = 0x20 … etc … through to Fn/F10 = 0x28. So the sequence 0x0d 0x1d 0x0c 0x1d, is the byte sequence for a left click.

Movement, however, is prooving difficult. For othagonal movement, it alternates between two bytes, before sending 0x08. It may also change direction by sending 0x88. When moving left, it sends 0x78 0x98 repeatedly. Moving right is the reverse, 0x98 0x78. Vertical movement uses a similar scheme, 0x87 0x89 denotes upward movement, while 0x98 0x78 appears to denote downward movement.

However, mixing the two adds in additional bytes, which I’m yet to determine the meaning of. 0x77, 0x79, 0x97 and 0x99 appear to be related to diagonal movement. The codes, 0x68, 0x86, and a couple of others, are totally unknown at this stage.

Right now, I’m going to keep plodding along here… I’m looking at gpm source code to see if I can add support for this mouse, then I might look at X.org… but progress will be slow.

For what it’s worth… the company that produced this mouse, is no more… they’ve been gone for some time now. They produced quite a few mice similar to this one, including one 40-button model (yeah, practically a keyboard in its own right). The protocol used with those may be similar, but more research will need to be done.

Stage 3 is Uploaded…

Well, after my genius moment last night (forgot to stick the stage 3 tarball on my laptop to take to uni), I managed to upload the Cobalt stage 3 tarball for Gentoo/MIPS 2006.0.

Feedback would be appreciated, I’ve done some testing, and everything seems kosher, but more thorough tests would be appreciated before I go pushing them out to mirrors. They are presently available in the usual location, along side the 2005.1 stages.

Gentoo Linux/MIPS for Cobalt — 2006.0 stage 3 complete

Well, at long last it’s built… I’m currently doing some testing of the stage 3 tarball (I’ve already hit a problem with missing /dev entries, which has now been rectified).

Currently, I’m doing some build tests to check that everything is okay, once that is done I’ll release the tarball onto my devspace.

ETA: approximately 1 day, I’ll probably upload after 12:00PM local time (Brisbane Time; that’s 2:00AM GMT).

Gentoo Linux/MIPS 2006.0 for Cobalt — The fun begins

Hi All,
This is a short one … I’m now in the process of upgrading Catalyst on my Qube2, which shouldn’t take too long… After that, I’ll build a stage2 “seed” stage, then I’ll start the build in earnest.

Estimated time … assuming I have no hiccups … will be approximately one fortnight. The stages will be based on Chris’ 20060123 portage tree snapshot.

This release… I will be concentrating on the stage 3 tarballs. I might provide a stage 1/2 MIPS1 stages, so those with MIPS1, MIPS2 or MIPS32 Little-endian CPUs can build their own systems … although no support for these MIPS1 stages will not be provided.

I’ll keep you all up-to-date on what happens. 🙂
Regards,
Stuart Longland

Gentoo/MIPS Handbook: More updates for the docs team

Hi All…

For those of you who have any last-minute updates for the MIPS handbook, please speak up now. I have sent up patches so that the docs team have a head start on implementing the changes (particularly for any translations that may exist). I hope to have the shiny new handbook in place shortly.

The impatient ones may read it on my own server here.

Regards,
Stuart Longland

New Netboot images for Cobalt… and revamp of Gentoo/MIPS Handbook

Hi All…

I have just started work at improving the netboot images for the Cobalt port. Here you’ll find my latest netboot images. What has changed, is that instead of distributing the raw kernel, these are now distributed as a tarball (uncompressed — bzipping them actually made them larger) complete with CoLo, default.colo startup script, and symbolic links for most MIPS-based Cobalt systems.

To use. On the server, download the .tar file (and optionally run it through gpg, sha1sum and md5sum to verify you downloaded it right). Then unpack it on your server by running: tar -C / -xvf nfsroot-...cobalt.tar.

Then, when booting the Cobalt server… hold down left & right arrow buttons. You should see “Net Booting” appear on the display, followed shortly after by a prompt asking if you want to enable the Console. “Console ON” should be already selected, just press ENTER here.

You’ll then be asked where to boot from. Scroll down two places, and you should see “Network Boot (NFS)”. Select it and press ENTER. You should see “Loading Gentoo/MIPS” on the LCD panel, and the serial console should display the bootup progress. You’ll finally arrive at the “Press ENTER to enable this console” prompt that you should all be familiar with.

If, however, you need kernel parameters for your machine (such as Cobalt 2700 users, who need to disable serial console and start telnet) — select the Boot Shell method, and boot in the traditional way. The kernel image is named kernel.gz.

I’ll be updating the Handbook shortly to reflect this. I have an open bug covering the revamp of documentation. My draft handbook is viewable in the usual place, and feedback is encouraged. A lot has changed in the Linux/MIPS world since the docs were last overhauled, and so I aim to bring the docs up-to-date.

I shall keep you all posted as the work progresses.

Fscking Blackhats!

Those of you who have been watching the Atomic Linux forums, will have noticed this…

Defaced forums

Now, I don’t know who this “Eren” character is… or what I’ve susposedly done to deserve this. It’s sad that there are people who merely get their jollies by simply defacing websites. I have no complaints with hackers in general — whitehats do provide a useful service, in that they try to find holes and fix them — it’s the malicious variety of hacker (the blackhat) that I hate.

I’m currently reloading phpBB (latest version), so hopefully the damage won’t be huge — but it does look like we’ve lost most of our threads.