Archlinux not startup after update

December 21, 2017 2.5k views
Linux Basics Arch Linux

I update my droplet with pacman -Syu and rebooted it.
The droplet not startup. I connected via web console and I see errors:

systemd[99]: Failed to open serialization file: Read-only file system
systemd[1]: Failed to fully start up daemon: RemoteI/O error
[!!!!!!] Failed to start up manager, freezing.
systemd[1]: Freezing execution.

(see screenshot)

I ran fsck via the recovery but I not found error. The disk seen fine but the droplet not start up.
please, help me.

6 comments
2 Answers

hey there, i had got the same issue as op however luckily, after hours and hours experimenting... i finally got my arch up and running now.

for some reason after upgrading the system, the systemd just can't mount the /dev/vda1 correctly with write access.

so what i did is a bit hacky:

  1. shutdown your droplet
  2. boot from recovery iso, you can select this from recovery menu
  3. start your droplet and open console
  4. select 1 from menu to mount the disk
  5. select 5 to chroot into your arch
  6. move original /sbin/init, rename it as init.real: mv /sbin/init /sbin/init.real
  7. create your own "init" to mount the disk correctly, don't forget to chmod +x it, here is the script:
#!/bin/sh

mount -o remount,rw /dev/vda1 /
exec init.real

at last shutdown your droplet and turn of recovery mode, and reboot it

  • An update to my post above with my latest finds:

    I think I pretty close to what caused the freezing. systemd mounts the root volume /dev/vda1 twice in the process, the initial root as what I found out on google, it turns out usually mounted as read only. and the 2nd time remount will mount the drive according to /etc/fstab and it is usually at this point, the root became writable.

    However it looks like at some point after the initial mount, my systemd try to starts the network, which somehow requires writing to the disk, and caused the issue.

    [    0.901719]  vda: vda1
    [    1.084324] EXT4-fs (vda1): mounted filesystem with ordered data mode. Opts: (null)
    [    1.113301] EXT4-fs (vda1): re-mounted. Opts: (null)
    [    1.129825] ip_tables: (C) 2000-2006 Netfilter Core Team
    [    1.134359] systemd[1]: systemd 238 running in system mode. (+PAM -AUDIT -SELINUX -IMA -APPARMOR +SMACK -SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN +PCRE2 default-hierarchy=hybrid)
    [    1.134402] systemd[1]: Detected virtualization kvm.
    [    1.134410] systemd[1]: Detected architecture x86.
    [    1.145178] systemd[1]: Set hostname to <xxxxxx>.
    

Arch Linux is not supported by DigitalOcean as a droplet distribution anymore. I doubt you'll get much help with this.

If you're using "DigitalOcean Debian to Arch" on the droplet then ask for advice through the issues page perhaps.

Have another answer? Share your knowledge.