You are not logged in.

#1 2018-10-07 09:18:48

dtjohnst
Member
Registered: 2007-03-01
Posts: 85

Can't boot after update (Syslinux) [solved]

I have been away for a few weeks and didn't have a chance to do any remote updates, so I logged into my system today and pacman -Syu'd to be faced with 101 updates. No big deal, I figure. It's just an update. I let it run, no errors are reported and no config files need to be updated best I can tell. So I reboot and I'm greeted with (typos possible, couldn't copy and paste):

Loading ../vmlinuz-linux... ok
Loading ../intel-ucode.img...ok
Loading ../initramfs-linux.img...ok
Probing EDD (edd=off to disable)... ok
[    0.661023] pstore: No lz4hc compression
:: running early hook [udev]
Starting version 239
:: running hook [udev]
:: Triggering uevents...
Waiting 10 seconds for device /dev/disk/by-uuid/fac43e86-9699-446d-a417-ef65630ed02a ...
ERROR: device 'UUID=fac43e86-9699-446d-a417-ef65630ed02a' not found. Skipping fsck.
:: mounting 'UUID=fac43e86-9699-446d-a417-ef65630ed02a' on real root
mount: /new_root: can't find UUID=fac43e86-9699-446d-a417-ef65630ed02a.
You are now dropped into an emergency shell.
sh: can't access tty; job control turned off
[rootfs ]# 

My first instinct is I must have missed an error with the initram generation. So I boot to a livecd, I mount my drives, I arch-chroot in and I run 'mkinitcpio -p linux' manually. It completes with no errors or warnings. I reboot again: same result. Maybe my kernel or headers got messed up? So back to the livecd, remount everything, rechroot in, and 'pacman -Syu linux linux-headers' which also completes without errors and rebuilds my initram without errors. Reboot: same problem.

Then I figured maybe something else failed and I missed it. So I reboot the ISO, remount my drives, arch-chroot back in, reinstall every single package that was updated, reboot... same error. I've even run the 'syslinux-install_update -i -a -m' again. I have no idea why it won't boot. My drives exist when I'm booted to the ISO, but from the recovery shell they aren't. My OS is installed on a USB key btw, if that matters. From the recovery shell (again, typos possible):

[rootfs ]# ls /dev/disk/by-uuid/ -l
lrwxrwxrwx     1 0        0        10 Oct      7  08:40   10216936746344510200 -> ../../sdl1
lrwxrwxrwx     1 0        0        10 Oct      7  08:40   11080971086307302443 -> ../../sdj1
lrwxrwxrwx     1 0        0        10 Oct      7  08:40   13221955412911180225 -> ../../sdn1
[rootfs ]#

EDIT: My drive doesn't show up as /dev/sdxx either. It's almost like syslinux can't see any USB drives at all. I tried connecting one and rebooting to test, and it isn't listed either.

From the livecd:

root@archiso ~ # ls /dev/disk/by-uuid -l
total 0
lrwxrwxrwx 1 root root 10 Oct  7 08:47 1c2aecc2-bc37-48e5-b28c-e3bb7ede40b1 -> ../../sdk1
lrwxrwxrwx 1 root root 10 Oct  7 08:47 1cf6202f-4651-4ef9-bc96-da8a4356350b -> ../../sdi1
lrwxrwxrwx 1 root root 10 Oct  7 08:47 2fd628c4-d7c4-4a60-9c60-7f6e401c4473 -> ../../sdk2
lrwxrwxrwx 1 root root 10 Oct  7 08:47 25f944de-a37f-433a-ba23-bc50e8c30b09 -> ../../sdi2
lrwxrwxrwx 1 root root 10 Oct  7 08:47 81a3ec7d-0dd4-4dff-a74a-b59bab62f80a -> ../../sdh1
lrwxrwxrwx 1 root root  9 Oct  7 08:47 2018-10-01-18-04-59-00 -> ../../sr0
lrwxrwxrwx 1 root root 10 Oct  7 08:47 43295121-bd9d-4f66-972f-9d52d1289506 -> ../../sdi3
lrwxrwxrwx 1 root root 10 Oct  7 08:47 10216936746344510200 -> ../../sdp1
lrwxrwxrwx 1 root root 10 Oct  7 08:47 11080971086307302443 -> ../../sdn1
lrwxrwxrwx 1 root root 10 Oct  7 08:47 13221955412911180225 -> ../../sdq1
lrwxrwxrwx 1 root root 10 Oct  7 08:47 E234CB4F34CB24FF -> ../../sdj1
lrwxrwxrwx 1 root root 10 Oct  7 08:47 fac43e86-9699-446d-a417-ef65630ed02a -> ../../sdh2
root@archiso ~ #

My fstab:

root@archiso ~ # cat /mnt/etc/fstab
# Static information about the filesystems.
# See fstab(5) for details.

# <file system> <dir> <type> <options> <dump> <pass>
# /dev/sdh2 LABEL=root
UUID=fac43e86-9699-446d-a417-ef65630ed02a     /                     ext4     rw,relatime,data=ordered     0 1

# /dev/sdh1 LABEL=boot
UUID=81a3ec7d-0dd4-4dff-a74a-b59bab62f80a     /boot                 ext2     rw,relatime                  0 2

# /dev/sdi1 LABEL=home
UUID=1cf6202f-4651-4ef9-bc96-da8a4356350b     /home                 ext4     rw,relatime,data=ordered     0 2

# /dev/sdi3 LABEL=swap
UUID=43295121-bd9d-4f66-972f-9d52d1289506     none                  swap     defaults,pri=-1              0 0

root@archiso ~ #

My syslinux.cfg:

root@archiso ~ # cat /mnt/boot/syslinux/syslinux.cfg
# Config file for Syslinux -
# /boot/syslinux/syslinux.cfg
#
# Comboot modules:
#   * menu.c32 - provides a text menu
#   * vesamenu.c32 - provides a graphical menu
#   * chain.c32 - chainload MBRs, partition boot sectors, Windows bootloaders
#   * hdt.c32 - hardware detection tool
#   * reboot.c32 - reboots the system
#
# To Use: Copy the respective files from /usr/lib/syslinux to /boot/syslinux.
# If /usr and /boot are on the same file system, symlink the files instead
# of copying them.
#
# If you do not use a menu, a 'boot:' prompt will be shown and the system
# will boot automatically after 5 seconds.
#
# Please review the wiki: https://wiki.archlinux.org/index.php/Syslinux
# The wiki provides further configuration examples

DEFAULT arch
PROMPT 0        # Set to 1 if you always want to display the boot: prompt
TIMEOUT 50
# You can create syslinux keymaps with the keytab-lilo tool
#KBDMAP de.ktl

# Menu Configuration
# Either menu.c32 or vesamenu32.c32 must be copied to /boot/syslinux
UI menu.c32
#UI vesamenu.c32

# Refer to http://syslinux.zytor.com/wiki/index.php/Doc/menu
MENU TITLE Arch Linux
#MENU BACKGROUND splash.png
MENU COLOR border       30;44   #40ffffff #a0000000 std
MENU COLOR title        1;36;44 #9033ccff #a0000000 std
MENU COLOR sel          7;37;40 #e0ffffff #20ffffff all
MENU COLOR unsel        37;44   #50ffffff #a0000000 std
MENU COLOR help         37;40   #c0ffffff #a0000000 std
MENU COLOR timeout_msg  37;40   #80ffffff #00000000 std
MENU COLOR timeout      1;37;40 #c0ffffff #00000000 std
MENU COLOR msg07        37;40   #90ffffff #a0000000 std
MENU COLOR tabmsg       31;40   #30ffffff #00000000 std

# boot sections follow
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*

LABEL arch
    MENU LABEL Arch Linux
    LINUX ../vmlinuz-linux
    APPEND root=UUID=fac43e86-9699-446d-a417-ef65630ed02a rw
    INITRD ../intel-ucode.img,../initramfs-linux.img

LABEL archfallback
    MENU LABEL Arch Linux Fallback
    LINUX ../vmlinuz-linux
    APPEND root=UUID=fac43e86-9699-446d-a417-ef65630ed02a rw
    INITRD ../intel-ucode.img,../initramfs-linux-fallback.img

#LABEL windows
#        MENU LABEL Windows
#        COM32 chain.c32
#        APPEND hd0 1

LABEL hdt
        MENU LABEL HDT (Hardware Detection Tool)
        COM32 hdt.c32

LABEL reboot
        MENU LABEL Reboot
        COM32 reboot.c32

LABEL poweroff
        MENU LABEL Poweroff
        COM32 poweroff.c32
root@archiso ~ #

To show no errors with my initram creation:

[root@archiso] # mkinitcpio -p linux
==> 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.18.12-arch1-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> 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.18.12-arch1-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> 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
[root@archiso] #

Last edited by dtjohnst (2018-10-07 10:31:37)

Offline

#2 2018-10-07 10:31:17

dtjohnst
Member
Registered: 2007-03-01
Posts: 85

Re: Can't boot after update (Syslinux) [solved]

A reddit user pointed out a bug had been filed which included:

Add "usb_storage" and "uas" to the MODULES list in /etc/mkinitcpio.conf

That resolved my problem.

Offline

#3 2018-10-07 18:28:15

philo
Member
Registered: 2015-01-26
Posts: 275

Re: Can't boot after update (Syslinux) [solved]

The bug report is discussed here:

https://bugs.archlinux.org/task/60272

with the title:

FS#60272 - [mkinitcpio] initramfs created without modules needed for booting with root fs on USB hard drive

Offline

Board footer

Powered by FluxBB