8

I updated archlinux with "pacman -Syu" and then when I've restart, the system can't start. This is the report:

Warning: /lib/modules/4.11.9-1-ARCH/modules.devname not found - ignoring
version 232
Error: device 'UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d' not found. Skipping fsck.
Error: can't find UUID=b5a9a977-e9a7-4d3d-96a9-dcf9c3a9010d 
You are now being dropped into a emergency shell.
Can't access tty: job control turned off

In that shell my keyboard doesn't work.

I'm trying with a livecd of archlinux: mounting the partitions and using chroot. I check the uuid of the root partition in "/etc/fstab". It's my fstab:

# /dev/sda2 UUID=b5a9a977-e9a7-4d3d-96a9-dcf8c3a9010d   /           ext4        rw,relatime,data=ordered    0 1  
# /dev/sda1 UUID=FBA9-977B          /boot       vfat        rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 2  
# /dev/sda4 UUID=a43b8426-c93a-4f32-99c8-9dd5cf645373   /home       ext4        rw,relatime,data=ordered    0 2  
# /dev/sda3 UUID=9eec735e-3157-4e0e-a5c6-ef3a7c674201   none        swap        defaults    0

And it's the result of "lsblk -f"

NAME   FSTYPE   LABEL       UUID                                 MOUNTPOINT
loop0  squashfs                                                  /run/archiso/sfs/airootfs
sda                                                              
├─sda1 vfat                 FBA9-977B                            
├─sda2 ext4                 b5a9a977-e9a7-4d3d-96a9-dcf8c3a9010d /mnt
├─sda3 swap                 9eec735e-3157-4e0e-a5c6-ef3a7c674201 
└─sda4 ext4                 a43b8426-c93a-4f32-99c8-9dd5cf645373 /mnt/home

I've updated the system again with "pacman -Syu" and I tried to make "mkinitcpio -p linux", but it haven't solved the problem (in spite of the result of the command it's ok). This is the report:

==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 4.11.9-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [block]
  -> Running build hook: [block]
WARNING: Possubly missing firmware for module: aic94xx
WARNING: Possubly missing firmware for module: wd719x
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 4.11.9-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [block]
WARNING: Possubly missing firmware for module: aic94xx
WARNING: Possubly missing firmware for module: wd719x
  -> Running build hook: [modconf]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful

I tried to change the order of HOOKS in "/etc/mkinitcpio.conf". But it doesn't work. This is the current order:

base udev block autodetect modconf filesystems keyboard fsck

"uname -r" returns:

4.11.7-1-ARCH

"pacman -Q linux" returns:

linux 4.11.9-1

The file of warrning "/lib/modules/4.11.9-1-ARCH/modules.devnam" exists.

I tried to install and use "linux-lts" but the result it's the same. I use grub and I tried to reconfigure it too.

What can I do?

  • 3
    /boot wasn't mounted when you ran the upgrade; hence the missing modules. Chroot in, make sure everything is correctly mounted and re-run the update. – jasonwryan Jul 10 '17 at 0:49
  • That's the problem... I can't undertand how I did not realize. Thank you so much, jasonwryan. – Lifka Jul 10 '17 at 2:04
8

I just forgot mount boot (thank you, jasonwryan).

The solution to this problem, in my case was:

  1. Use a livecd to mount all partitions and use chroot.
  2. Update:

    pacman -Syu

  3. Regenerate initramfs using:

    mkinitcpio -p linux

  4. If you use grub:

    grub-mkconfig -o /mnt/boot/grub/grub.cfg

  5. Restart.

  • 1
    FYI use arch-chroot on arch instead of simply chroot – Nepoxx Apr 3 '18 at 14:28
  • As an addition to this answer: in case the fallback initramfs works and you use it for repair, use /boot/grub/grub.cfg. Then you also don't have to arch-chroot or flash your USB if you wiped it. (or lost it :) – Linux4win May 30 at 14:58
0

Here is what worked for me (antergos, dual booted with windows 10). It's a slight modification of the above answer.

  1. Use a live usb to mount root and boot partitions. The commands for these are here. In this case, my boot partition was the the EFI-boot (fat) partition.
  2. Update:

    pacman -Syu

  3. Regenerate initramfs using:

    mkinitcpio -p linux

  4. If you use grub:

    grub-mkconfig -o /boot/grub/grub.cfg

  5. Restart.

  • Yes, your answer is a few words longer than Lifka's answer. Aside from some verbosity, what have you added to make your post stand out as a new, different answer? – G-Man Dec 19 '18 at 14:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.