Upgrading Zaurus to OpenZaurus 3.5.3

5 minute read

Installing OpenZaurus 3.5.3

I finally decided to bite the bullet and upgrade my Zaurus to openzaurus 3.5.3 (having not upgraded OZ for around 18 months or so!).

I had numerous problems, so have detailed all my trials and tribulations (some of my own making) here in case it helps anyone else.

Following the instructions on the OZ site I decided on a 48-16 kernel (I have a 128Mb SD card, and my intention was to put the root system on there eventually).

The initial upgrade went well, except every time I turned the machine off it won’t come back on! The solution was to upgrade to the latest collie kernel - r21

I followed the instructions at: http://openzaurus.org/wordpress/2005/07/27/howto-get-r21-kernel-on-collie/#comments

As part of this, you need to run an ipkg update, but I had problems with the ipkg update:

file_move: ERROR: failed to rename /tmp/ipkg-wU9wrh/Packages.gz to > /tmp/ipkg.aSaXLj/upgrades/collie.gz: No such file or directory

To me this looked like it was having a problem creating the ‘collie’ directory, so instead of adding

src/gz upgrades/collie http://openzaurus.org/official/unstable/3.5.3/upgrades/collie/

into /etc/ipkg.conf, I added

src/gz upgradescollie http://openzaurus.org/official/unstable/3.5.3/upgrades/collie/ 
src/gz base http://openzaurus.org/official/unstable/3.5.3/feed/machine/collie

and commented out the rest of the feeds (otherwise those extra packages would fill the disk up and necessitate a complete reinstall).

Having done this, at the CONSOLE I typed:

ipkg update
ipkg upgrade

This worked.

IMPORTANT - the first time I did this I had problems as I had ssh’d into the Zaurus over the wifi card, and my environment variables were shot, which meant I didn’t have the correct PATH, and the package installs failed :-( Do it all on the Zaurus console.

Continuing …

I shutdown the Zaurus and flashed with the new r21 kernel:

  • First copy the new kernel to flash card with *NO* initrd.bin:

(The docs are not ultra clear in this, so in cased anyone is interested, when they talk about flashing with the kernel only, they mean to copy the zImage….bin file to your flash card as ‘zImage’ and remove anything else (such as initrd.bin). Then go through the usual flash procedure - holding C & D down etc.)

For example on my linux laptop (Suse 9.3):

cp zImage-collie-48-16-r21.bin /media/usbdisk/zImage     
rm /media/usbdisk/initrd.bin
  • Now do the usual flash thing (surely invented by someone with very thin but very long fingers!).

This solved my suspend problem (i.e., after suspending it didn’t come back up!). Machine now working with a basic install.

Booting from the SD Card

Now to get the thing to boot of the 128Mb SD card. I followed the instructions at http://www.purple.dropbear.id.au/node/97

I used the following command as I have a 128M SD, and it had 112Mb free:

dd if=/dev/zero of=/mnt/card/base.img bs=1M count=110

I wondered whether it was working but the docs do warn you that it is grindingly slow. I run the dd stuff from a ssh login, and periodically ran df -h in the Zaurus console to check that something was happening.

The process worked OK, so then I ran

export PATH=\$PATH:/sbin   
mke2fs /mnt/card/base.img

IMPORTANT: - read the readme, otherwise don’t toast me if this blows up on you

cd /home/yourname   
wget http://mysite.verizon.net/dfsteen/rboot-3.5.3.tar.gz   
tar xzvf rboot-3.5.3.tar.gz   
cd rboot-3.5.3/   
losetup /dev/loop0 /mnt/card/base.img   
mount -t ext2 /dev/loop0 /mnt/image   
./copy_files.sh /mnt/image   umount /mnt/image   

Finally pull up vi on rboot.conf and add:

b baseimage sd /mnt/card/base.img

Now reboot, and choose option b

Again, this all worked fine, so now I wanted to upgrade the other packages now that I had relocated the root file system to the SD card.

I edited /etc/ipkg.conf and uncommented all the other feeds.

It looks like this:

src/gz base http://openzaurus.org/official/unstable/3.5.3/feed/machine/collie  
src/gz upgrades_collie http://openzaurus.org/official/unstable/3.5.3/upgrades/collie/  
src/gz upgrades http://openzaurus.org/official/unstable/3.5.3/upgrades/  
src/gz base http://openzaurus.org/official/unstable/3.5.3/feed/base/  
src/gz libs http://openzaurus.org/official/unstable/3.5.3/feed/libs/  
src/gz console http://openzaurus.org/official/unstable/3.5.3/feed/console  
src/gz devel http://openzaurus.org/official/unstable/3.5.3/feed/devel  
src/gz opie http://openzaurus.org/official/unstable/3.5.3/feed/opie

Update then upgrade the packages:

ipkg update  ipkg upgrade

So far so good.

Syncing with Evolution through Multisync

Now I have a rather large diary file on my backup media which I wanted to prune (the calendar application appeared to be a bit slow). My idea was to use multisync to sync it with evolution, use evolution to delete everything prior to three months ago, and then sync it back.

To start with, I couldn’t get multisync to work with the Z. Eventually I found a post: which said to remove dropbear and install various openssh packages. More details at: http://singlenesia.com/software/bug/baseline in the openssh section.

Anyway, performed

ipkg -force-depends remove dropbear

then installed the openssh packages:

ipkg install -d root openssh  
ipkg install -d root openssh-misc  
ipkg install -d root openssh-sftp

I then set up no-passphrase ssh to get onto the Z without a passwd or passphrase. Details in: http://www.linuxgazette.com/node/193

Following these instructions:

ssh-keygen -t rsa 
  Generating public/private rsa key pair. Enter file in which to save the key 
  Enter passphrase (empty for no passphrase): 
  Enter same passphrase again: 
  Your identification has been saved in /root/.ssh/id_rsa. 
  Your public key has been saved in /root/.ssh/id_rsa.pub. 
  The key fingerprint is: ----------------------------------------------- 
  root@laptop lap1:[ftp] # scp  /root/.ssh/id_rsa.pub 
  root@'s password: 
  lap1:[ftp] # ssh 
  root@'s password: Last login: Sun Sep 18 17:57:00 2005 from 
  root@collie:~# mkdir .ssh root@collie:~# 
  mv /tmp/id_rsa.pub .ssh/authorized_keys 
  root@collie:~# Connection to closed. 
  lap1:[ftp] # ssh

Works like a charm!

I then banged my head against a brick wall for a few hours as I could run multisync OK as root, but not as my usual login. As I have an aversion to doing anything as root I don’t need to, I really needed this to work as ‘pete’.

I solved the problem by copying the rsa* files from ~root/.ssh to ~pete/.ssh (I had no rsa files in there - only dsa so I’m hoping no conflicts!). It worked but I’m not convinced I should have to do it like that!

To get rid of surplus diary entries, synced to evolution (Calendar called zaurus) and then created a new calendar called old.zaurus, and copied all events to that. Then purged all older than 90 days from the evolution calendar.

Deleted the datebook.xml file from the multisync directory and edited the file on the zaurus to get rid of all events. When I synced only dates from the previous 90 days plus all future stuff went into the zaurus. Result!

Timezone problem

I had a problem with the time- when I picked the time up from the network it was showing as GMT not BST. Following a post at I copied /usr/share/zoneinfo/Europe/London from my laptop (Suse 9.3) to the Z and made a symbolic link to /etc/localtime. This solved this problem.

I did all of this about 2 weeks ago, and it has been pretty stable since then. I have been unable to install konquerer though, so at present don’t have a graphical browser.


Asher 2006-01-11 00:39:41

Did you ever have any luck with konquerer? I’m stuck trying to get it to work as well

Administrator 2006-02-12 22:50:35

Nope - not had any joy with Konqueror (but also not tried hard).

hone.wornpath.net 2006-10-13 07:25:05

I found this blog post on how to setup evolution to sync with OpenZaurus 3.5.3. I’m now running 3.5.4, so hopefully this will work. I’d have to have a working sync. I’ve been waiting for something to sync with evolution for a long time.




Leave a Comment