
Dear Larry,
In message 5070A944-CC27-4388-91E5-78B0792E590C@usgs.gov you wrote:
A recent situation has awakened me to a a behavior of U-Boot that maybe should be changed.
U-Boot related questions should better be discussed on the U-Boot (rather than the ELDK) mailing list. I'm adding the U-Boot list on Cc.
I am experimenting with a BeagleBone Black (BBB) single-board computer. Occasionally when I perform a reboot, the BBB never finishes booting Linux. When I happen to have a console cable connected, I see the U-Boot prompt. This explains why the BBB has not booted Linux. But it is a mystery why U-Boot is waiting for a command when I did not request interrupting the autoboot sequence.
I found many others reporting the same experience -- and no solution. Until I found Andrew Glen's 10/28/2013 post at https://groups.google.com/forum/#!topic/beagleboard/aXv6An1xfqI about U-Boot hangs likely due to noise on the UART0 port. The solution he applied was to rebuild U-Boot to require specific text -- "uboot" -- to interrupt the autoboot sequence. (BBB have no flash, so there is no opportunity to permanently alter any U-Boot environment variables, if this is settable.)
You should be able to store the environment on SDCard.
It occurs to me that this might be a more common occurrence on any number of circuit boards.
No, this is in no way a common issue. If you have any such line noise on a serial port, you should start looking for hardware (design) problems. This is _not_ normal. IF several boards of a specific brand show such a problem, then I'm willing to bet that it's caused by broken (or simply too cheap) hardware design.
No industrial grade board I've ever seen has any such issues.
I have used many ARM single-board computers that have U-Boot. As far as I recall, they all prompt "Hit any key to stop autoboot:". It is probably not such a good idea that ANY character can interrupt the U-Boot autoboot sequence. Perhaps the default should be to require an unusual character, like F2 or DEL for BIOS. Or a multi-character sequence within a short period of time, like the "+++" to enter command mode on the old Hayes modems.
U-Boot allows you to do that, if you really need/want to.
As I said, this awakening only occurred to me because of my recent experience with boot failures. My realization is that U-Boot could probably do a little better job of protecting our (likely unattended, embedded) systems with a minimum of change to the code. I plan to make it my practice to #define CONFIG_AUTOBOOT_DELAY_STR. I'm thinking that should probably be the default.
U-Boot allows you such customization. But I disagree that this should be the default. Actually you are just papering over a hardware problem. Line noise on a serial port that inserts phantom characters is something that should be fixed, not ignored. And on ony well- behaving hardware the problem that bothers you simply does not exist.
Thank you for your valuable contributions (U-Boot and more).
You are welcome.
Best regards,
Wolfgang Denk