Thank you CoreDump!
This is exactly what I was looking for. I've been hacking around with this a bit in the last couple days and I can now boot to a shell from an image that I made out of the pocketworkstation v.18 tgz file. I'm at school right now and I can't get the zaurus on the VPN'ed wireless net here, so I can't post my whole setup. But below is the general path that I followed to make this work. A couple things to note before I go on:
1) I may have made some typos or forgot some details, so if a command doesn't make sense to you, look it up instead of trusting me blindly.
2) This is strictly YMMV, it worked for me but it may just cause your zaurus to burst into flames.
3) I think this goes without saying, but don't even try this if you're not comfortable hacking around in mostly broken linux systems, because that is what this will boot into, even if it works.
My setup:
Zaurus SL-5500
OZ/Opie 3.5.3 (with lots of other stuff installed from random places)
I first made the ext2 image file on my desktop computer (running Debian Sid). There's no real reason that it couldn't be done on a Zaurus but I didn't test it that way so, YMMV:
touch zaurus.ext2
dd if=/dev/zero of=zaurus.ext2 count=200000
That will get you a file about 100MB in size. Adjust the dd parameters accordingly for a different size. Then I just made an ext2 filesystem on it:
mkfs.ext2 zaurus.ext2
Then I mounted it, and unpacked the pocketworkstation v.18 tgz file in it
(I used the pocketworkstation base image found here:
http://pocketworkstation.org/files )
mount -o loop zaurus.ext2 /mnt/loop
cd /mnt/loop
tar zxvf /path/to/zaurus-debian-base-v0.18.tgz
cd /somewhere/else
umount /mnt/loop
Then I installed the altboot ipks to my zaurus, and copied the zaurus.ext2 file into /media/card/boot-images and renamed it to debian-rootfs.bin
When I tried to reboot into it I got errors.
I changed the following in /etc/altboot-menu/15-bootSD
The version of mount on my zaurus doesn't seem to cope well with the "-o loop" option. So I changed the line in 15-bootSD that mounts the image on the sd or cf card to instead run:
losetup /dev/loop1 $XX_MOUNTPOINT/$IMAGE_PATH/$IMAGE_NAME
mount /dev/loop1 /media/image
That made it mount the fs image on the card at least. The second problem is that pocketworkstation was never really made to be a bootable system. it was made to be chrooted from a running zaurus. Because of that it doesn't contain such important things as an /etc/fstab. This causes init to die in a not so graceful way. So, I commented out the line in 15-bootSD that calls /sbin/init and replaced it with one that calls /bin/sh. That part of my 15-bootSD file now looks like this:
exec /usr/sbin/chroot . /bin/sh >/dev/tty0 2> &1
#exec /usr/sbin/chroot . /sbin/init 6 >/dev/tty0 2>&1
If this works you'll be in a bash shell in the root of your debian install. I haven't played with it much but I imagine most of it is fairly broken.
Thanks again to CoreDump and Mickey and all the other guys working on OZ for making it easier to hack on the zaurus. Now I have to run to class cause I'm late. Happy hacking!
-John