This is how to got automounting an ext3 data partition on the SD card to work on my HTC Desire running 2.2 (Froyo).
I formatted the card with a tiny (50 MB), essentially unused, vfat partition - just in case Froyo insists in finding/mounting it - and all the rest with a single large ext3 (or ext2 or ext4) partition.
I use the latter partition flexibly both for data (in a directory "/card", which I bind mount to "/sdcard" as described below) and for app storage (in directories "/app", "/app-private", and "/dalvik-cache", which are sym-linked from "/data/app" etc. using "/etc/init.d/02stuff2sd" - attached -, which is some older version of http://pastebin.com/8LJj8rVz)
Since the /etc/init.d/02stuff2sd script already mounts at boot time the ext3 partition to /system/sd, I just added a second script as /etc/init.d/20autostart, which essentially bind mounts the "/system/sd/card" directory of the ext3 partition to the /sdcard directory:
busybox mount -o bind /system/sd/card /sdcard
Optionally, one may remount the "/sdcard" directory with stricter security settings:
busybox mount -o remount,nosuid,nodev,noexec,rw,errors=remount-ro,dirsync,relatime /mnt/sdcard
where unfortunately it is not possible to give the following extra parameters, which would give uniform access rights to all files:
It turned out that that android.process.media (app_21) messes with the access rights of the photos taken by com.android.camera (app_42) and stored as /sdcard/DCIM/100MEDIA/IMAG0001.jpg etc., which does not surface when DCIM is part of the vfat partition because there is essentially no access right restrictions. As a workaround for the ext3 partition, to prevent errors like "no photos or videos found", my boot script additionally does
chmod 666 /sdcard/DCIM/*/*
One caveat: after unmounting the SD card directory /sdcard, mounting it again via the regular Froyo user menu results in the vfat partition being mounted instead of /system/sd/card . So either you need to mount it manually via the terminal emulator (or via adb), or simply re-boot.