Just to elaborate, what was wrong with 1.01. In a startup script there was a change, at the moment needed mostly by Russian/Chinese speaking users:
Code:
/usr/local/sony/bin/mtdmount -t vfat -o utf8 -o shortname=winnt Data /Data
if [ -f /Data/database/system/PRSPlus/prsp.sh ]
then
. /Data/database/system/PRSPlus/prsp.sh
fi
/bin/umount /Data
.
What it basically did was, mount internal memory, check if prsp.sh file exists, call it. This kind of call:
. /Data/database/system/PRSPlus/prsp.sh
basically means that content of the prsp.sh file is included in the calling script.
(this was "needed" to allow setting variables visible in the caller script. Russians need LD_PRELOAD variable to point to their win1251 -> utf8 translator) Which means one could easily write a broken "custom" script and brick the device (well, 10 resets, or reset and hold bookmark + volume+ buttons still works, no worries

) which has happened quite quickly after release. And by broken, I mean, even having windows style \r\n end of lines was enough.
So there is a nasty choice between opening Pandora's box and not letting big part of the users to have what they'd like to have.
Now, the solution, I am still evaluating it and your ideas/comments are welcome, would probably look like this (written in human words

):
Code:
if exists prsp.sh and does not exist /Data/guard then
touch /Data/guard
/bin/sh prsp.sh
end
this would call custom prsp.sh only if "guard" file doesn't exist in internal memory. The "guard" file would then be deleted either by the calling script itself or by the PRS+ script. The latter is probably the best way, as if PRS+ script has started, then everything went ok and even if it didn't, there is a way to not let it start - just by connect reader it to PC, when device is booting.
In the end, it would allow anyone to experiment with custom shell script without fearing to have to brick/reflash the reader.
Linux gurus, tell me what you think.