gtoal
Posts: 113
Joined: Sun Nov 18, 2012 12:02 am

A B+ that always boots into recovery mode!

Sun Jun 02, 2019 7:35 pm

I recently bought a couple of old single-core B+ units on ebay. One of them is weird - it always boots into the recovery partition (directly from the rainbow screen, not via the 'press shift' screen). It is the Pi itself that is causing this behaviour,, not the contents of the SD card - same thing happens with other SDs (raw noobs or installed noobs), and it doesn't happen when I swap out this B+ pi for the other one, keeping everything else the same (i.e. eliminating issues from PSU (3A) or keyboard/mouse (USB) or display (HDMI)).

It's actually quite impressive to see a Pi booting to the unix command line within a second of powering it on! However I would like to understand what is going on and if it can be fixed? (Also if it can be recreated, should I actually want a really fast boot environment of my own some day :-) )

Is it likely that someone updated the boot firmware with a broken version at some point?

If it is a broken firmware issue, I'm guessing I have to boot up full unix to be able to run rpi-update to rewrite the firmware?

How do I boot into the full unix environment from the recovery partition? Pressing ^D doesn't do it. I presume I have to mount/remount all the partitions manually, but having done that how do I reboot into the proper environment without losing the mounted partitions? (It's been 20 years since I had a linux system so broken I had to do anything like this and that was back in the BSDI days... things have changed a lot since then...)

thanks,

G

fruitoftheloom
Posts: 22704
Joined: Tue Mar 25, 2014 12:40 pm
Location: Delightful Dorset

Re: A B+ that always boots into recovery mode!

Sun Jun 02, 2019 8:17 pm

gtoal wrote:
Sun Jun 02, 2019 7:35 pm
I recently bought a couple of old single-core B+ units on ebay. One of them is weird - it always boots into the recovery partition (directly from the rainbow screen, not via the 'press shift' screen). It is the Pi itself that is causing this behaviour,, not the contents of the SD card - same thing happens with other SDs (raw noobs or installed noobs), and it doesn't happen when I swap out this B+ pi for the other one, keeping everything else the same (i.e. eliminating issues from PSU (3A) or keyboard/mouse (USB) or display (HDMI)).

It's actually quite impressive to see a Pi booting to the unix command line within a second of powering it on! However I would like to understand what is going on and if it can be fixed? (Also if it can be recreated, should I actually want a really fast boot environment of my own some day :-) )

Is it likely that someone updated the boot firmware with a broken version at some point?

If it is a broken firmware issue, I'm guessing I have to boot up full unix to be able to run rpi-update to rewrite the firmware?

How do I boot into the full unix environment from the recovery partition? Pressing ^D doesn't do it. I presume I have to mount/remount all the partitions manually, but having done that how do I reboot into the proper environment without losing the mounted partitions? (It's been 20 years since I had a linux system so broken I had to do anything like this and that was back in the BSDI days... things have changed a lot since then...)

thanks,

G

There is no BIOS, everything is on the SD Card, best read the "Boot Sticky" it has 7+ years of troubleshooting:

viewtopic.php?f=28&t=58151
Rather than negativity think outside the box !

Asus ChromeBox 3 Celeron is my other computer.

gtoal
Posts: 113
Joined: Sun Nov 18, 2012 12:02 am

Re: A B+ that always boots into recovery mode!

Sun Jun 02, 2019 9:44 pm

OK, I've read the boot sticky. It doesn't explain this behaviour. The machine does boot, just not into the right partition, eliminating things like dead 5v or 3.3v supply.

There is adequate power, and the SDs I'm testing with are all very recent noobs V3.0.1 - some unconfigured, some booting up to linux in an identical B+. The SDs have all been formatted with the SD association's software.

The hardware problems in the sticky such as the polyfuse would stop it booting at all, rather than have it booting from the wrong partition. It can't be PSU or cables because the same PSU and cables will boot up a second otherwise identical machine.

So if there is no way that the pre-boot boot code could have been modified, what other hardware problems would cause a machine to only ever boot into recovery mode despite a good O/S on the SD? Has anyone ever seen this behaviour before?

G
PS I have also tried booting with the keyboard and mouse removed. No difference. And checked the voltages with a meter.

User avatar
procount
Posts: 2169
Joined: Thu Jun 27, 2013 12:32 pm
Location: UK

Re: A B+ that always boots into recovery mode!

Mon Jun 03, 2019 12:37 am

Try adding `disablesafemode` to recovery cmdline.
PINN - NOOBS with the extras... https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=142574

User avatar
B.Goode
Posts: 9882
Joined: Mon Sep 01, 2014 4:03 pm
Location: UK

Re: A B+ that always boots into recovery mode!

Mon Jun 03, 2019 10:28 am

(Reaching basically the same conclusion as expert user @procount, but 'showing the working' ... )


Thinking this in reverse:

The NOOBS Installer has documented options for Forcing the behaviour you are seeing.

So maybe one of those conditions is being met unintentionally?

Looking here - https://github.com/raspberrypi/noobs#troubleshooting
How to boot into "Safe Mode"

To boot into a basic busybox shell rather than launching the NOOBS GUI, you can either:

Append rescueshell to the argument list in the recovery.cmdline file which is found in the root NOOBS directory.

Insert a physical jumper between pins 5 & 6 of GPIO header P1. If you have external hardware or an addon board connected to the GPIO header, you may find that pin 5 is being pulled low and accidentally triggering "Safe Mode". To prevent this you can append disablesafemode to the argument list in the recovery.cmdline file which is found in the root NOOBS directory.

So maybe you have something causing that low condition on that header pin? And as suggested by @procount (maintainer of the PINN installer), that modification to the configuration file would give you a work-around.


And to save you looking - other than a small handful of OTP bits, there is no persistent non-volatile user-modifiable memory on an RPi board - your RPi is effectively in a factory-fresh state at every power-on.

gtoal
Posts: 113
Joined: Sun Nov 18, 2012 12:02 am

Re: A B+ that always boots into recovery mode!

Sun Jun 16, 2019 10:08 pm

Sorry - I just now realised I forgot to post to say that your advice worked and I can boot that machine now. Despite using my best PSU on it, I think the problems I've seen including this boot one were power related - perhaps there's an internal short that is sucking some of the available power and pulling down that GPIO pin that is used to make the decision as to whether to boot in safe mode or not.

Return to “Troubleshooting”