[beagleboard] [RFC] BeagleBoard: Change boot script on USER button

If USER button is pressed, user.scr should be loaded, instead of
boot.scr.

Signed-off-by: Jason Kridner <jkridner@beagleboard.org>

To simplify booting into various boot configurations, there is now a
test for an existing ramdisk.gz image if loading the boot script fails.
Adding additional boot arguments can also be done using optargs.

Signed-off-by: Jason Kridner <jkridner@beagleboard.org>

If USER button is pressed, user.scr should be loaded, instead of
boot.scr.

How about printing a message like "press USER button now to load user.scr" and wait 1 second or so for that? That would make the progress a bit more obvious.

regards,

Koen

I don’t really use the NAND on my Beagleboards as I get confused easily :slight_smile: However, if I did I would be concerned about it running boot.scr or user.scr depending on how quickly the user lets go of the USER button (to the point that I’d end up having both files).

So, while this would actually work me (as both my boards are headless and would benefit from an alternate boot) for most people I suspect it would potentially cause confusion. Ideally the different models of the BeagleBoard would all work the same way.

The simplest option for now would be to only apply this code if the board is an xM…

What do other people think…?

This solution does not work on th -xM board. It will force the board not boot at all when the ROM code loads.

Gerald

Gerald, could you elaborate as to why the xM wouldn’t boot at all if the USER button is held down. I appreciate that the GPIO used is different - so how does that affect the BootROM…?

Gerald, could you elaborate as to why the xM wouldn't boot at all if the
USER button is held down. I appreciate that the GPIO used is different - so
how does that affect the BootROM...?

Because it is on a different SYS_BOOT pin, it effects the boot mode
differently. It is on a different SYS_BOOT pin because now some of
the DSS lines are multiplexed with the SYS_BOOT pins--and GPIO4 is not
(whereas GPIO7 is).