Leapster Explorer: USB Boot settings

Summary
This is a short tutorial to explain how to setup the explorer so that you can use the USB Boot method to test a kernel running a 'stock' bootup rcS script. This shouldn't damage your explorer but should you mess up your OS you won't be able to automatically start the recovery process. as long as you have console access you should be able to manually start the recovery process. You have been warned.

Hardware Needed
Console Access

Editing rcS
Usually when you boot the LeapFrog Explorer in USB Boot mode you are setting off a chain of actions that are supposed to lead to updating a new kernel and rootfs or recovering a broken OS, whatever the boot method, the Explorer runs /etc/init.d/rcS and reads the boot image type on line 32 of /etc/init.d/rcS :

if [ `cat /sys/devices/platform/lf1000-gpio/boot_image` = "RECOVERY" ]; then # Recovery boot echo "Recovery Mode" # Launch in background; it will "poweroff" when done /usr/bin/recovery & exit 0 elif

The elif copes with the different types of boot mode that could be expected, this is fine if you want to update or fix your Explorer but if you want to use USB Boot to test a kernel with the normal file system and boot settings then you're out of luck. This is where this tutorial comes in. For the time being I have created a quick and dirty hack to overcome this issue.

In rcS edit lines 32 and 38 and make them look like this:

if [ `cat /sys/devices/platform/lf1000-gpio/boot_image` = "RECOVERY" ] && [ !-e /flags/usbdev ]; then elif [ `cat /sys/devices/platform/lf1000-gpio/request` = "TRAPDOOR" ] && [ !-e /flags/usbdev ]; then

On the explorer when you want to boot 'normally' from USB boot run the following command: touch /flags/usbdev

And to reverse the process to allow an automatic recovery: rm /flags/usbdev