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/
./modify_base.sh
./install_init.sh
losetup /dev/loop0 /mnt/card/base.img
mount -t ext2 /dev/loop0 /mnt/image
./copy_files.sh /mnt/image
umount /mnt/image
sync
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:
https://mail.kde.org/pipermail/kdepim-users/2005-May/004531.html
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 (/root/.ssh/id_rsa):
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 192.168.0.2:/tmp
root@192.168.0.2's password:
lap1:[ftp] # ssh 192.168.0.2
root@192.168.0.2's password:
Last login: Sun Sep 18 17:57:00 2005 from 192.168.0.3
root@collie:~# mkdir .ssh
root@collie:~# mv /tmp/id_rsa.pub .ssh/authorized_keys
root@collie:~# Connection to 192.168.0.2 closed.
lap1:[ftp] # ssh 192.168.0.2
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:
http://kflog.org/~axel/Cumulus-Installation-HowTo-OZ-Opie.html
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.