Update hung on 89% and now boot hangs on splash screen

I updated my system for the first time since about 6 months and everything went fine until 89% (text mode, blue bar, it was configuring the network settings, I believe) then it hung. I let it be for around 7-8 hours and came back; still no progress or response to anything from keyboard and I had to power off the RPi2.

Now it boots, but hangs on the OSMC “splash screen” indefinitely.

Any ideas? I know reinstalling would be the fastest way to get thing running - but I hate to do that since I’m using a cheap chinese 20x4 LCD that requires a bit of fiddling around to get it working on the OSCM (won’t work with standard HD44780 driver / conf settings - uses the YwRobot I2C interface).

Then there’s also the media library reindexing for all those hundreds of movies / series (which gave me constant “cannot connect” errors last night with the scrapper - which I why I decided to try the upgrade). Also, of course no backup of the SD card (I’m running a few RPis and backing up those 32gig cards is a chore sometimes with systems that aren’t “final” yet).

Any easy way to get the database and config files with a Linux machine, at least? Or fiddle with something on the card to make it work? :wink:

That’s quite a long time. Which version (month) you where on before? Because with the October version a recovery console was introduce that could save you now.

That’s quite early and I assume it is not reachable by SSH or?

Plugin the card into a linux machine definitely would help you to recover all the files (unless the SD card is gone).

Yes, quite. This is one of those “projects” that I let sit there because of little to no free time to fiddle around with it (it has temp sensors, etc installed that require… “attention” outside of OSMC, and I was also missing a case for the RPi/LCD:D ).

I have to start hunting for the IP and try it - I was hoping for something like a recovery console / terminal that I could force it into at boot time, though.

As I said you would have that if you would have been on the october version already

Try rapidly pressing shift just as the rainbow colour screen is disappearing and if you get lucky you might trigger the recovery console.

Otherwise you could try adding recovery to cmdline.txt which should do the same thing, depending on whether that part of the system got updated or not. Or another option would be emergency or systemd.unit=emergency.target added to cmdline.txt which is systemd’s version of an emergency console.

Once you have an emergency console you should be able to:

apt-get -f dist-upgrade

To finish installing updates. If you used the systemd emergency mode you might need to remount root read write first and mount /boot before trying to update:

mount /boot```

Another option is that if the system is booting to a point where you have a network connection, you should be able to find it via its bonjour hostname. For example if you didn't rename the system it should be `osmc.local` so you should be able to ping osmc.local or ssh to it.

Thanks all, I’ll try those! :smiley:

Ok, so far I got into the recovery console. Trying to run “apt-get -f dist-upgrade” gives an error and tells me to run “sudo dpkg --configure -a”, which I do. No help, 4 modules have problems with configuration and give some strange D-Bus error (-1) (no network, naturally):

perftune-osmc (1.1.5) …
armv7-eventlircd-osmc (1.1.9) …
armv7-remote-osmc (1.1.7) …
rbp2-device-osmc (1.2.7) …

Luckily I get the IP (thanks for the Bonjour hint!) and can login with SSH.

I run “apt-get -f dist-upgrade” and it configures the modules without a problem. I run update/upgrade too and there’s nothing to update. Good, now to reboot.

And still the same - I can log in with SSH but OSMC hangs at the splash screen and won’t go further. ifconfig also shows that I’m getting eth0 connection fine, but no wifi (r8188eu) which was the only connection before the update, I plugged in the cable so I could SSH.

Strange…

grab-logs -A

Logs here:
http://paste.osmc.io/enuqihewok

Configuration file '/etc/connman.conf'
 ==> File on system created by you or by a script.
 ==> File also in package provided by package maintainer.
   What would you like to do about it ?  Your options are:
    Y or I  : install the package maintainer's version
    N or O  : keep your currently-installed version
      D     : show the differences between the versions
      Z     : start a shell to examine the situation
 The default action is to keep your current version.
*** connman.conf (Y/I/N/O/D/Z) [default=N] ? 

This is the original cause of your problem - you’ve updated from an RC (release candidate) version of OSMC (dated prior to June 2015) directly to the latest. Unfortunately due to some changes made around October it is no longer possible to upgrade directly from a pre-release version of OSMC using the My OSMC updater. (Updating via command line would have worked, and if you had updated with My OSMC some time between June and October you would have been OK as well)

Lets see if we can get your back up and running without a reinstall though.

Because you can log in via SSH you should do all further troubleshooting via SSH rather than using emergency mode, as you will need a network connection.

Try the following via SSH, and post any errors that occur:

sudo apt-get update

sudo apt-get install -f rbp2-device-osmc armv7-eventlircd-osmc armv7-remote-osmc perftune-osmc --reinstall

BTW when providing full logs with grab-logs -A please make sure you use a captial A, for all logs, you used a small a, which only provides APT logs. As it happens the APT logs were the main thing required for this type of problem, but full logs would have provided additional information.

Sorry about the logs, was almost out the door when I saw the reply. :wink:

Full logs here: http://paste.osmc.io/komisanofa

I tried that --reinstall line and still the same result with booting - just the splash screen.

Edit: a little progress. While the splash screen was still showing I tried:
sudo systemctl restart mediacenter

… lo and behold; the thing started. Now after booting the system, the hang is still there, but I can get past it with restarting.

I would say the best is you backup your system and do a clean install, as DBMandrake said the upgrade from RC was not cleanly supported so to have a solution that will be stable for upcoming updates a clean start helps.

Yes, I was thinking that would be the easiest scenario at the moment - seeing as I have access to all conf. files and can save a backup, etc (if it doesn’t work because of them it’s easier to eliminate).

Thanks all for the help and advice - can’t say I didn’t learn something. :slightly_smiling: