Saturday, August 27, 2005

Opie is really starting to grow on me. While there are occasional hangs, and the PIM apps are somewhat immature compared to some of the apps produced by TheKompany, but my 5500 is much more usable than I ever recall it being with the Sharp-supplied environment.

However, problems do exist. My Zaurus seems to be tempermental when it comes to shutdown/startup. On the 5500, the Cancel key is used to turn on and off the device. It takes quite a bit of time for the Zaurus to come to life after it goes to sleep due to a lack of activity. In addition, the time/clock is not always restored -- amazingly enough, the NTP functionality, if my wireless card is plugged in and the net is up, grabs the time flawlessly, but without NTP, a simple restart does not get me time. If there is anything fundamental about a computing device, it has to be getting and displaying the time. This has to be corrected (there is an update to the 3.2.3 kernel as of recently, which for all I know addresses the problem, but posts to the site indicate people are suffering hangs, so I am steering clear of it).

Check out http://openzaurus.org/wordpress/2005/08/ (or http://openzaurus.org in general) -- lots of activity going on. Perhaps my next step (well, the first step, since I really haven't made much progress on Minimo) should be to brush up on my Qt skills and come up with a simple app to get me familiar with the platform.

Wednesday, August 24, 2005

Well, perhaps I jumped the gun abit on Konqueror. Tonight, I installed bitchx (which doesn't seem to want to start from a console) and mutt (which complains about opening vt100 on start). I then went to see if I could access gmail. Suprisingly enough, I could, and I read some recently arrived mail.

Go figure.

Did google change something? Or was there a pleasant side effect of installing mutt/bitchx and the dependency libs it installed (crypto, ssl)? No idea. But happy I can get mail.

Friday, August 19, 2005

Some initial feedback building minimo under Linux.

Had trouble getting minimo to pull following the instructions at moz.org; needed to pull mozilla entirely from CVS.

Won't build under stock RedHat 9, has Gtk 2.0 dependencies. Looks like some missing #ifdef code (other Gtk 2-specific code was ifdef'd out). Will try and resolve that next.
Konqueror-embedded under opie yielded some suprises when I started playing with it. There were a couple of crashes, first of all. I realize that K's long exposure to users in KDE and use by Apple as a core for OS X's Safari is no guarantee that K-embedded is going to be crash free, but then again, I didn't really subject the browser to much before it tubed on me. In contrast, Opera under Qtopia has been a solid piece of software in my experience.

Here's the deal killer for me: K simply cannot be used to access AOL mail, or gmail. Entering in gmail.com would invariably yield an error that indicated I could not access google.com, though if I entered google.com in the URL bar I could get to google no problem. I couldn't login to Yahoo to read email either, regardless of repeated attempts entering my user name and password.

I did some searching on the web and noticed that this was a widespread problem, and not just with K-embedded. K simply doesn't do gmail. Perhaps it is because K doesn't send a user-agent string; seems like the K folks feel that user-agent strings are evil and refuse to implement one.

Ebay? Not much better. I couldn't check My Ebay, as it resulted in a similar error. I was able to search for one auction from the search field on the Ebay home page, but subsequent attempts to search exposed a focus problem (the edit field contained a blinking caret, but keystokes were not being displayed). This could have been a problem with opie, for all I know. But it was a deal killer, whatever the cause.

This was enough for me to think, yeah, I want firefox on my Zaurus -- if I can't get my webmail for crying out loud, or use Ebay, what use is there in living with a Zaurus?

I saw some layout issues on pages, where characters that began paragraphs or sentences would be replicated on a line above. Didn't bother looking into the HTML related to this to see what might be the catalyst.

Frames don't look like they are implemented in K-embedded; http://www.sydlogan.com/fineart only displayed the rightmost frame for example.

There is no facility for downloading content, e.g., tried to grab a package from OpenZaurus and it just displays the content of a package file in hex, no 'Save link target as...' support.

K embedded just doesn't cut it. Opera is far better. And probably a better target for minimo under opie.

To that end, I went on to try to grab opera and install it. I found a 7.x package at http://www.zaurususergroup.org/, and tried to install it:

-- search for Opera 7 in the downloads section.

-- scroll down to Opera 7.30 build 9965 for SL-5x00

From console:

# ipkg -d sd install opera_sl-5x00-7.30.9965_arm.ipk

# ipkg-link -d sd opera

restart opie.

The result: I get a nice Opera 7 icon in the apps tab, but it fails to run, due to a unresolved Qt 3 symbol.

-- go to Package Manager

-- install to sd with -force-depends option the package lib-qtmt3 (deduced this might be the right package after searching for the error message displayed when I tried starting opera from a console, running from opie hides error information, and there is no console log UI that can be used to obtain error output).

Anyway, this never led to a successful launch of Opera; perhaps some fiddling with install order -- e.g., installing Qt3 before installing Opera would have got me a success. But I don't need to; I have been using Opera for years on various Z and know what it offers, and wouldn't expect to learn much installing it under opie I suspect.

In other news, I bought a new 5500 off of e-bay so I can flash open zaurus and gpe onto it, and hopefully play with minimo there. The mozilla site implies it runs there (or has in the past). The steps are nearly the same as used to get open zaurus and opie up and running, just a different image file.

But my feeling is the real prize is opie; gpe is cool, and an accomplishment no doubt, but opie (and qtopia) is going to be the holy grail I think. Which means Qt. I know, I wrote a book on Gtk+ -- how could I even think of writing Qt code... :-).

Thursday, August 18, 2005


I know this blog's title implies it is about running minimo on the Zaurus. And you are right. I was asked by mozilla.org if I would like to help get minimo up on Linux, and then port over to the Zaurus. And right this very minute, I am pulling mozilla on my RedHat system to get going on that.

But first, I wanted to see if I could revive my SL-5500 and see what it would take to get Konqueror installed and running under OpenZaurus. After much fiddling around, I got it to work. There were several sources on the net that were incomplete, but combined provided me with the information needed to do the job. Without them, it would have been hopeless. And so the intent of this entry is to document exactly what I did, and where I got my information.

Why install Konqueror? Well, I figured OpenZaurus/Opie is the best option for the SL-5500/5600 (GPE, the other UI, is just too vanilla, I expect most people will use Opie), and Konqueror appears that it is the main competitor to what we would be doing there with minimo. You gotta know your competition.

Why the 5500/5600? If we can't get minimo working on these two PDAs, then the whole point of doing this work is lost, minimo should run well on both if Konqeror does.

And so, the intent of installing Konqueror was to get me familiar with the pain/process involved, and give me an idea of what I was up against. I should also mention that on my Zaurus SL-6000 -- yeah, I know - I collect these devices, but pocket computers have always been an attraction, I have been playing with them since I was 16 (way back in 1980 I bought a Casio FX-702P; google if you are curious about that device), so you have to imagine that the marriage of Linux and a PDA was for me about as exciting as it gets -- I am happily running the Sharp ROM and Qtopia, and there, the browser is Opera. Note that Opera is not available specifically for OpenZaurus (I'm not saying it wouldn't install, but Konqueror is all you hear about online, so I suspect it is the only true browser for OZ currently). Opera simply couldn't run on the 5500 with the Sharp ROM without often running out of memory, the way it was setup under Qtopia. Which is one of the reasons to move over to OpenZaurus, which supports a wide variety of memory configurations.

So, here are the steps, including flashing the Z for OpenZaurus. I started with OpenZaurus 3.5.2, because the original instructions I had found for getting K installed were based on 3.5.2. But the networking support just isn't as nice, so I did this under 3.5.3, which is the latest offering at OpenZaurus.org anyway.

What you will need:

- An SL-5500 or 5600. You can get these really cheap on E-Bay, in the $200 or less range. The 5500 is commonly available, just checking now shows many refurb units for around $159. The 5600 has a much beefier battery, and runs at 400Mhz (the 5500 runs at 266Mhz). You'd be happier with the 5600, but the 5500 works just fine.

- A CF card, formatted FAT 16 (in other words, formatted the way it was when you bought it). Mine was a 128MB, but a 64MB card should do.

- An SD card. All Z have both Compact Flash and SD card slots. We will be installing K and the libs it needs to the SD card so that we do not consume any of the Z's RAM, which we will need for running the browser. If you don't have an SD card, skip steps 9 and 11 below. In steps 13, replace -d sd with -d ram wherever it is encountered. Your mileage, however, will vary.

- A CF wireless network card. I have a linksys model (Model No. WCF11, anywhere from $60 to $100 depending on where you buy it) that just works (frankly, wireless on the Z just works, whether its the Sharp ROM or OpenZaurus). On the SL-6000, wireless is built in, but really, it works just awesomely on the 5500 and 5600 with a CF wireless card. Or, you can use a standard CF ethernet card. I have a pretec CompactLAN card, but those are hard to find, I'm guessing just about any will do. Prices seem to be $100 or less as well. I'd go with the wireless card; the whole point of a device like the Z is to be able to just wander to some hotspot, pull the Z out of your pocket, and check your e-mail on AOL or yahoo or wherever. Though, having both cards gives you an out if you are somewhere that doesn't have wireless, but does provide a hub you can plug into.

- Some PC or device that can browse the web and be used to copy files to the CF card. I used my Zaurus 6000 for this, but I am spoiled.

First, we need to get OpenZaurus installed on the device. The following steps are for the 5500.

Step 1. Point your browser at http://www.openzaurus.org. Click on the Downloads link in the upper left hand corner (currently). Click on 3.5.3. Click on sl5000/sl5500. At this point, your path should be /official/unstable/3.5.3/sl5000,sl5500.

Step 2. Download opie-image-collie-20050407172817.rootfs

Step 3. Download zImage-collie-32-32-20050407102515

Step 4. Copy opie-image-collie-20050407172817.rootfs to the CF card, renaming it initrd.bin

Step 5. Copy zImage-collie-32-32-20050407102515 to the CF card, renaming it zImage

Note that the names of the target files on the CF card *must* be exactly as above, and these files must be in the root (toplevel) directory of the CF card.

Step 6. Now we need to "flash" the Zaurus. First, if you have any important files on your Z, copy them somewhere. Run backups, do whatever you need. Because we are about to destroy whatever was on that machine. Seriously. Once that has been done, insert the CF card containing the results of Steps 4 and 5 into the CF slot of the 5500.

Step 7. Plug the Z into an AC-adapter. Slide open the keyboard of the Z. Turn the Z over. In the lower right hand corner, there is a switch labeled "Normal Operation". Move the switch to the "Replace Battery" position. Carefully remove the battery cover. But don't remove the battery. Carefully, with your left thumb, press the C and D keys on the keyboard, and with the stylus, press the reset switch located on the bottom left edge of the battery compartment. Then release the C and D keys. The e-mail and battery lights on the front of the Z should both light. If not, repeat until they do, you probably didn't have the C and D keys depressed while activating the reset switch. Once the lights go on, set the Z aside for 5 minutes, it is in the process of flashing OpenZaurus onto the device. Make sure to keep the Z plugged into the AC adapter during this step.

Step 8. Once the Z has finished flashing, the e-mail and battery lights will go out. Using the stylus, depress the reset button again, replace the battery cover, move the switch back to "Normal Operation", and then power on the Z. OpenZaurus should then boot. Run thru the setup panels, and spend a little time playing around with OpenZaurus to get familiar with what it offers.

Now that Open Zaurus 3.2.3 is on the Z, time to install Konqueror.

Step 9. Insert the SD card into your Z. You should pretty much assume that this SD card will be dedicated to the device from here on out. Devices like the SL-C3100 with are much more capable than the 5500, with 128MB RAM and a 4GB hard drive; the SD card here will help us by providing storage space for the install and save us some room in the RAM department.

Step 10. Launch the Console app. It is found in the Applications menu or tab.

Step 11. Format the SD card for ext2 filesystem. Don't use ext3 (derived from http://www.kevinboone.com/openzaurus.html).

# umount /mnt/card
# mkfs.ext2 /dev/mmcda1

Step 12. Remove the CF card (if the slot is not already empty) and insert the CF Wireless Card. Make sure you are connected to the Internet (for me, plugging in the card causes the Z to get a DHCP address from my router, and the connection light on the card goes solid pretty much right after I insert it into the CF slot. No configuration required).

Step 13. Install Konqueror by typing the following into the console window (derived from http://serpent.laymusic.org/cgi-bin/lconrad/blosxom.cgi/pdas, but minor changes were needed to get the steps listed there to work properly):

# ipkg -d sd install libstdc++6 libpcre0 (that's a zero, not the letter 'o')
# ipkg-link add libstdc++6
# ipkg-link add libpcre0
# ipkg -d sd install
# ipkg -d sd install konqueror-embedded -force-depends
# ipkg-link add konqueror-embedded

(If you happen not to have installed and formatted an SD card, you might try replacing -d sd in the above commands with -d ram).

Step 14. Restart opie (from the menus, Settings->Shutdown, then click the RestartOpie button)

Step 15. Launch K by selecting Web Browser from the Applications menu.

That's it. Follow the above steps exactly, and you should be good to go.

For extra credit, you can get even more RAM for K by installing an image other than 32-32. And/or by installing Open Zaurus to a SD card. Information is available at http://www.openzaurus.org

Looks like my mozilla build just finished. Now it is time to turn my attentions there.