Porkupan (aka boroda) has mentioned that 900 could be booted from "diagnostic" Memory Stick. I've never tried it myself (for starters, I don't have 900 and 600 doesn't support it according to porkupan

)
Here are more details:
http://vladboroda.livejournal.com/178470.html
http://vladboroda.livejournal.com/176964.html
PS
Guys, just my 2 cents for those, who want to develop for 600/900. I'm using the following code in tinyhttp.sh:
Code:
# Call custom script if ebook is not connected to USB
USBCONN=`/bin/cat /proc/usbtg/connect`
if [ "$USBCONN" == 0 ]
then
/usr/local/sony/bin/mtdmount -t vfat -o utf8 -o shortname=mixed Data /Data
# Run prsp.sh shell script located on sd card,
if [ -f /Data/database/system/PRSPlus/prsp.sh ]
then
. /Data/database/system/PRSPlus/prsp.sh
fi
/bin/umount /Data
fi
So sh file gets executed only if USB is not connected (porkupan's idea).
In this sh file I normally copy stuff to /tmp and do "mount --bind" whatever I want to change in the original firmware. It works like a charm (except internal memory access being rather buggy and sometimes getting corrupt, but I got used to it

)