fopivot() { # <rw_root> <ro_root> <dupe?>
root=$1
{
- mount -t mini_fo -o base=/,sto=$1 $1 /mnt 2>&- && root=/mnt
+ mount -t mini_fo -o base=/,sto=$1 "mini_fo:$1" /mnt 2>&- && root=/mnt
} || {
[ "$3" = "1" ] && {
mount | grep "on $1 type" 2>&- 1>&- || mount -o bind $1 $1
}
[ "$1" = "switch2jffs" ] && {
- mtd erase "$partname"
+ mount "$mtdpart" /rom/jffs -t jffs2 || exit
# try to avoid fs changing while copying
mount -o remount,ro none / 2>&-
# copy ramoverlay to jffs2
- mount "$mtdpart" /rom/jffs -t jffs2
echo -n "copying files ... "
cp -a /tmp/root/* /rom/jffs 2>&-
echo "done"
# this will almost always fail
umount /tmp/root 2>&-
- # fs is clean
- jffs2root --clean
exit 0
}