#!/bin/sh usage() { echo "usage: $0 [-m gta01|gta02] [dirname]" 1>&2 exit 1 } mach=gta02 while true; do case "$1" in -m) shift mach="$1";; -*) usage;; *) break;; esac shift done dir=${1:-root} name="`basename $dir`" if [ ! -d "$dir" ]; then echo "usage: $0 [dirname]" 1>&2 exit 1 fi case $mach in gta01) eb=0x4000;; gta02) eb=0x20000 ps_opt="--pagesize=0x800";; *) usage;; esac mkfs.jffs2 --eraseblock=$eb $ps_opt --no-cleanmarkers \ --little-endian --pad -o _tmp -d $dir sumtool --eraseblock=$eb --no-cleanmarkers \ --littleendian --pad -i _tmp -o $name.jffs2 rm -f _tmp