I'm still trying to run my OZ (3.3.6pre1) entirely off my CF card. So far I've found two howtos (
OZ FAQ and
OpemEmbedded Wiki pages) which show how to do such a setup on a SD card. If tried the first setup on a SD card and it worked fine on my Zaurus (SL-5500). If I try the same thing w/ a CF card nothing works and I don't understand why.
In my latest attempt I used the script from the OpenEmbedded pages and modified it as follows (changes are highlighted
red ):
#!/bin/sh
#
# proot - pivot_root
#
. /etc/default/rcS
vtmaster=/dev/tty0
if test ! -b /dev/hda1 ; then
/bin/mount -o remount,rw / > $vtmaster
/bin/mknod /dev/hda1 b 3 1 > $vtmaster
/bin/mount -o remount,ro / > $vtmaster
fi
if test ! -b /dev/hda1 ; then
echo "/dev/hda1 is still not a block device" > $vtmaster
fi
/sbin/e2fsck -y /dev/mmcda1 > $vtmaster
/bin/mount -n -t ext2 -o defaults,noatime /dev/hda1 /mnt/cf > $vtmaster
if test -f /mnt/cf/.bootme ; then
echo "from CF" > $vtmaster
/sbin/pivot_root /mnt/cf /mnt/cf/mnt/root > $vtmaster
else
echo "from internal flash" > $vtmaster
/bin/umount -n /mnt/cf
fiI've also added some extra outputs (
purple), so this is what I see when I reboot:
test ! -b /dev/hda1: no output
fsck: possibly non-exsistent or a swap device
mount: not a valid block device
After the system has been booted /dev/hda1 is mounted w/o problems and fsck can be run on the CF card w/o errors.
Does anyone have an idea why this kind of setup works on a SD card, but not on CF? I sure don't.
Dirk