OK I cant get it to work on ext2. This is what I have. What did I do wrong? I am also using gmenu2x using the same sd card and have modified the startup script to set the time by the network using rdate.
root@gp2x sd]$ps
  PID  Uid     VmSize Stat Command
    1 root       1336 S    init boot
    2 root            S    [keventd]
    3 root            S    [ksoftirqd_CPU0]
    4 root            S    [kswapd]
    5 root            S    [bdflush]
    6 root            S    [kupdated]
    7 root            S    [mtdblockd]
   13 root       1404 S    devfsd /dev
   49 root       1620 S    inetd
   56 root       3716 S    /sbin/thttpd -r
   86 root       3828 S    smbd
   87 root       1940 S    in.telnetd
   88 root       2080 S    -sh
  111 root       1652 R    ps
[root@gp2x sd]$cat gp2x-gpe.gpu
#!/bin/sh
# Setup env
GPEDIR=/mnt/sd/apps/gpe
GPEIMAGE=gpe-image-gp2x.rootfs.ext2
# Check root directory exists, if not create it
if [ -d root ]
  then
    echo "directory already exists, not creating"
  else
    mkdir root
fi
# Change back to GPE directory and mount image, proc and devfs
cd $GPEDIR/..
#/bin/mount -t ext2 -o loop,noatime,sync $GPEIMAGE $GPEDIR
#/bin/mount -t ext2 /dev/mmcsd/disc0/part2 $GPEDIR
/bin/mount none $GPEDIR/dev -t devfs
/bin/mount none $GPEDIR/proc -t proc
/bin/mount none $GPEDIR/tmp -t tmpfs
# Sleep to allow server to start
sleep 2
# Launch chroot
echo "entering chroot"
/mnt/sd/apps/gpe/bin/chroot.static /mnt/sd/apps/gpe /bin/startgpe
# Shutting down
killall Xfbdev
killall dbus-launch
killall dbus-daemon
killall esd
sleep 10
/bin/umount $GPEDIR/dev
/bin/umount $GPEDIR/proc
/bin/umount $GPEDIR/tmp
/bin/umount $GPEDIR
cd /usr/gp2x
./gp2xmenu &
[root@gp2x sd]$./gp2x-gpe.gpu
directory already exists, not creating
entering chroot
mount: Mounting rootfs on / failed: Invalid argument
_XSERVTransSocketOpenCOTSServer: Unable to open socket for inet6
_XSERVTransOpen: transport open failed for inet6/gp2x:0
_XSERVTransMakeAllCOTSServerListeners: failed to open listener for inet6
Failed to open TSLib device, tried /dev/touchscreen/0 .
Try setting TSLIB_TSDEVICE to valid /dev entry?
Could not init font path element /usr/lib/X11/fonts/misc, removing from list!
Could not init font path element /usr/lib/X11/fonts/100dpi, removing from list!
Could not init font path element /usr/lib/X11/fonts/75dpi, removing from list!
WARNING: No default configuration found for your 75 DPI screen!
Using 100 DPI
Your 75 DPI screen is already configured.
D-BUS per-session daemon address is: unix

ath=/tmp/dbus-cqnRGzGCu1,guid=800100000964e450925f9a6d0f2b0c00
Failed to open connection to system message bus: Failed to connect to socket /var/run/dbus/system_bus_socket: Connection refused