'systemctl default' required to fully boot after upgrade to jessie

Dec 17, 2015 2 Replies

Hi,



I have a Pi + external USB drive running as a home server, along these lines.



formatting link



I started with the wheezy image. This morning I upgraded to jessie by editing the *.list files and running the following:



sudo apt-get update sudo apt-get upgrade sudo apt-get dist-upgrade



It seemed to be fine until the reboot. Looking around on the WWW, I found something about a bug in a recent kernel that kept root=PARTUIID=... in cmdline.txt from working, so I plugged the SD card into another computer and changed it to root=/dev/sda1 (there's only 1 USB drive attached, so it will always be sda). I think that got it pingable but it still wasn't ssh-able, so I had to plug a keyboard & monitor into it. It always ends up in the emergency shell with no ssh, but when I type 'systemctl default' at the keyboard it ends up working fine, but I have to it again after a reboot.



This mini-server is supposed to be headless in a cupboard, not attached to the TV in the living room, so I need to get it to boot fully unattended again. I've tried the following:



commenting out the swap & tmpfs entries in /etc/fstab (they point to encrypted partitions that come from /etc/crypttab) disabling dphys-swapfile blacklisting the cfg80211 module (the server uses only wired networking) I'm running out of ideas & haven't found anything in the syslog, although I'm not entirely sure what to look for.



Any suggestions?


Why is it drug addicts and computer afficionados are both called users? --- Clifford Stoll

Save your files & settings, wipe the sd card, burn a brand new Jessie image, restore files & settings... Sorry.

Doing that now. I had to wrestle with two big problems to get this to boot headlessly:

  • there's a bug in the current jessie kernel that it's compiled without support for root=UUID= in 'cmdline.txt', but PARTUUID still works;
  • I thought I had problems with the automatic swap setup conflicting with my line in /etc/fstab which refers to a device created by /etc/cryptab (I like encrypted swap), but I just realized that the line I commented out before the recent successful headless boot was this one!

/dev/mapper/etmp /tmp ext4 defaults 0 0

The swap one is still there.

I also had a problem with /var/lib/dpkg/* being totally wrong, since /var is a partition on the USB drive (so it reflected the system just before I gave up), but I figured that out.

# mkdir /mnt/fullroot # mount --bind / fullroot/ # cd /var/lib/ # mv dpkg/ dpkg.HOSED # cp -a /mnt/fullroot/var/lib/dpkg . # apt-get update

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required