You are not logged in.

#1 2020-04-02 21:07:41

wingwing
Member
Registered: 2020-03-10
Posts: 9

Installed, failing to boot

Was booting 3 of out 4 boots. I suspect a timing issue because I've got 5 drives hanging off an LSI controller in pass-through mode.

So I've been hacking away and now managed to kill booting entirely.
Each boot now goes:

Starting version 245.3-2-arch
ERROR: device 'UUID=f07b3ab8-blah blah (copying from photo)' not found. Skipping fsck.
mount: /new_root: can't find UUID=f07b3ab8-whatever.
You are now being dropped into an emergency shell.

If I then immediately dmesg | grep f07b3ab8-fulluid
[     0.00000] Command line: BOOT_IMAGE=/boot/vmlinuz-linux root=UUID=f07b3ab8-yep rw loglevel=3 quiet root=f07b3ab8-yes-again
[     0.342833] Kernel command line: [snip - same as commandline]
[    11.497354] BTRFS: device fsid f07b3ab8-blahblah devid 1 transid 1115 /dev/sdf2 scanned by systemd-udevd (392)


I'm using grub.

If I manually mount  - e.g. mkdir /tmp/f && mount /dev/sdf2 /tmp/f then I've got access to the root fs.
I can't mount /dev/sdf1 - unknown filesystem type 'vfat'.

I can boot from USB ISO image and mount /mnt and /mnt/boot, mkinitcpio -p linux etc to no avail.
I've even gone though the basics of setting up again - full blown pacman -S linux grub efibootmgr, grub-install, grub-mkconfig -o /boot/grub/grub.cfg

After 4 hours I'm stepping away, defeated. I've googled, I've read the wiki, and I've already got 4 successful installs (1 physical, 3 VMs in KVM).

Happy to post copies of /etc/fstab etc with the full non-typed UUID, if anyone can tell me where to start.

Offline

#2 2020-04-03 08:10:28

wingwing
Member
Registered: 2020-03-10
Posts: 9

Re: Installed, failing to boot

Hmm... scratch that. Can't be a timing issue otherwise the initial arch boot wouldn't have started.
<continued head thumping>


Booting from the iso image:

sdf2 is the root partition, sdf1 is the boot partition.

root@archiso ~ # btrfs check /dev/sdf2
Opening filesystem to check...
Checking filesystem on /dev/sdf2
UUID: f07b3ab8-01d8-441a-8c9b-65077329b8c8
[1/7] checking root items
[2/7] checking extents
[3/7] checking free space cache
[4/7] checking fs roots
[5/7] checking only csums items (without verifying data)
[6/7] checking root refs
[7/7] checking quota groups skipped (not enabled on this FS)
found 2412199936 bytes used, no error found
total csum bytes: 2247056
total tree bytes: 68222976
total fs tree bytes: 62701568
total extent tree bytes: 2965504
btree space waste bytes: 10218410
file data blocks allocated: 3652546560
 referenced 2343755776
root@archiso ~ # 

root@archiso ~ # fsck.vfat /dev/sdf1
fsck.fat 4.1 (2017-01-24)
/dev/sdf1: 324 files, 110048/524256 clusters
root@archiso ~ # 
root@archiso ~ # mount /dev/sdf2 /mnt
root@archiso ~ # mount /dev/sdf1 /mnt/boot
root@archiso ~ # ls -la /mnt/boot
total 46639
drwxr-xr-x 4 root root      512 Jan  1  1970 .
drwxr-xr-x 1 root root      140 Mar 30 17:45 ..
drwxr-xr-x 4 root root      512 Apr  2 19:38 EFI
drwxr-xr-x 5 root root      512 Apr  2 20:30 grub
-rwxr-xr-x 1 root root 10078875 Apr  2 20:51 initramfs-linux.img
-rwxr-xr-x 1 root root 31149736 Apr  2 20:51 initramfs-linux-fallback.img
-rwxr-xr-x 1 root root  6510976 Apr  2 20:06 vmlinuz-linux
root@archiso ~ # arch-chroot /mnt    

     

blkid:

[root@archiso /]# blkid
/dev/sde1: BLOCK_SIZE="2048" UUID="2020-03-01-09-32-57-00" LABEL="ARCH_202003" TYPE="iso9660" PTUUID="3372b9d9" PTTYPE="dos" PARTUUID="3372b9d9-01"
/dev/sde2: SEC_TYPE="msdos" LABEL_FATBOOT="ARCHISO_EFI" LABEL="ARCHISO_EFI" UUID="117D-40D7" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="3372b9d9-02"
/dev/sdf1: UUID="8BEB-FB70" BLOCK_SIZE="512" TYPE="vfat" PARTLABEL="boot" PARTUUID="9b5e6e73-6007-47a1-b072-a555c608fcb8"
/dev/sdf2: UUID="f07b3ab8-01d8-441a-8c9b-65077329b8c8" UUID_SUB="03356158-42a4-4733-aa07-da9b48d59e7b" BLOCK_SIZE="4096" TYPE="btrfs" PARTLABEL="superberry" PARTUUID="580e2aa9-5186-495a-a1ad-78c0e09d1b49"
/dev/sda: LABEL="zfsbackup" UUID="8137303323653534670" UUID_SUB="5779005762903051643" BLOCK_SIZE="4096" TYPE="zfs_member"
/dev/sdb1: LABEL="zfsbackup" UUID="8137303323653534670" UUID_SUB="7145006713101627325" BLOCK_SIZE="8192" TYPE="zfs_member" PARTUUID="1c7af996-6312-11e7-8db3-000c29e22a2a"
/dev/sdb2: UUID_SUB="9278447196731457037" TYPE="zfs_member" PARTUUID="1fe8af44-6312-11e7-8db3-000c29e22a2a"
/dev/sdd: LABEL="zfsbackup" UUID="8137303323653534670" UUID_SUB="2675075319393325440" BLOCK_SIZE="4096" TYPE="zfs_member"
/dev/sdc: LABEL="zfsbackup" UUID="8137303323653534670" UUID_SUB="9355207908359303983" BLOCK_SIZE="4096" TYPE="zfs_member"
/dev/loop0: TYPE="squashfs"

fstab:

[root@archiso /]# cat /etc/fstab
# /dev/sdf2
UUID=f07b3ab8-01d8-441a-8c9b-65077329b8c8       /               btrfs          rw,relatime,ssd,space_cache,subvolid=5,subvol=/  0 0

# /dev/sdf1
UUID=8BEB-FB70          /boot           vfat            rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro       0 2

/etc/default/grub (unchanged):

[root@archiso /]# cat /etc/default/grub 
# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet"
GRUB_CMDLINE_LINUX=""

# Preload both GPT and MBR modules so that they are not missed
GRUB_PRELOAD_MODULES="part_gpt part_msdos"

# Uncomment to enable booting from LUKS encrypted devices
#GRUB_ENABLE_CRYPTODISK=y

# Set to 'countdown' or 'hidden' to change timeout behavior,
# press ESC key to display menu.
GRUB_TIMEOUT_STYLE=menu

# Uncomment to use basic console
GRUB_TERMINAL_INPUT=console

# Uncomment to disable graphical terminal
#GRUB_TERMINAL_OUTPUT=console

# The resolution used on graphical terminal
# note that you can use only modes which your graphic card supports via VBE
# you can see them in real GRUB with the command `vbeinfo'
GRUB_GFXMODE=auto

# Uncomment to allow the kernel use the same resolution used by grub
GRUB_GFXPAYLOAD_LINUX=keep

# Uncomment if you want GRUB to pass to the Linux kernel the old parameter
# format "root=/dev/xxx" instead of "root=/dev/disk/by-uuid/xxx"
#GRUB_DISABLE_LINUX_UUID=true

# Uncomment to disable generation of recovery mode menu entries
GRUB_DISABLE_RECOVERY=true

# Uncomment and set to the desired menu colors.  Used by normal and wallpaper
# modes only.  Entries specified as foreground/background.
#GRUB_COLOR_NORMAL="light-blue/black"
#GRUB_COLOR_HIGHLIGHT="light-cyan/blue"

# Uncomment one of them for the gfx desired, a image background or a gfxtheme
#GRUB_BACKGROUND="/path/to/wallpaper"
#GRUB_THEME="/path/to/gfxtheme"

# Uncomment to get a beep at GRUB start
#GRUB_INIT_TUNE="480 440 1"

# Uncomment to make GRUB remember the last selection. This requires
# setting 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT="true"
[root@archiso /]# 




root@archiso /]# cat /etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(piix ide_disk reiserfs)
MODULES=(mpt3sas vfat btrfs)

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=()

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect block filesystems)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev block filesystems)
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS=(base udev block mdadm encrypt filesystems)
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS=(base udev block lvm2 filesystems)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
[root@archiso /]# 

mkinitcpio.conf.  Have tried with default and by adding in the changes to the MODULES line

root@archiso /]# cat /etc/mkinitcpio.conf
# vim:set ft=sh
# MODULES
# The following modules are loaded before any boot hooks are
# run.  Advanced users may wish to specify all system modules
# in this array.  For instance:
#     MODULES=(piix ide_disk reiserfs)
MODULES=(mpt3sas vfat btrfs)

# BINARIES
# This setting includes any additional binaries a given user may
# wish into the CPIO image.  This is run last, so it may be used to
# override the actual binaries included by a given hook
# BINARIES are dependency parsed, so you may safely ignore libraries
BINARIES=()

# FILES
# This setting is similar to BINARIES above, however, files are added
# as-is and are not parsed in any way.  This is useful for config files.
FILES=()

# HOOKS
# This is the most important setting in this file.  The HOOKS control the
# modules and scripts added to the image, and what happens at boot time.
# Order is important, and it is recommended that you do not change the
# order in which HOOKS are added.  Run 'mkinitcpio -H <hook name>' for
# help on a given hook.
# 'base' is _required_ unless you know precisely what you are doing.
# 'udev' is _required_ in order to automatically load modules
# 'filesystems' is _required_ unless you specify your fs modules in MODULES
# Examples:
##   This setup specifies all modules in the MODULES setting above.
##   No raid, lvm2, or encrypted root is needed.
#    HOOKS=(base)
#
##   This setup will autodetect all modules for your system and should
##   work as a sane default
#    HOOKS=(base udev autodetect block filesystems)
#
##   This setup will generate a 'full' image which supports most systems.
##   No autodetection is done.
#    HOOKS=(base udev block filesystems)
#
##   This setup assembles a pata mdadm array with an encrypted root FS.
##   Note: See 'mkinitcpio -H mdadm' for more information on raid devices.
#    HOOKS=(base udev block mdadm encrypt filesystems)
#
##   This setup loads an lvm2 volume group on a usb device.
#    HOOKS=(base udev block lvm2 filesystems)
#
##   NOTE: If you have /usr on a separate partition, you MUST include the
#    usr, fsck and shutdown hooks.
HOOKS=(base udev autodetect modconf block filesystems keyboard fsck)

# COMPRESSION
# Use this to compress the initramfs image. By default, gzip compression
# is used. Use 'cat' to create an uncompressed image.
#COMPRESSION="gzip"
#COMPRESSION="bzip2"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
#COMPRESSION="lz4"

# COMPRESSION_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=()
[root@archiso /]# 

Regen of initramfs:

[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: 5.5.13-arch1-1
  -> 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: 5.5.13-arch1-1
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
==> WARNING: Possibly missing firmware for module: wd719x
  -> 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 /]# 

Reinstall of grub:

[root@archiso /]# grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot/efi
Installing for x86_64-efi platform.
Installation finished. No error reported.
[root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-linux
Found initrd image: /boot/initramfs-linux.img
Found fallback initrd image(s) in /boot: initramfs-linux-fallback.img
done
[root@archiso /]# 

Output of /boot/grub/grub-cfg:

#
# DO NOT EDIT THIS FILE
#
# It is automatically generated by grub-mkconfig using templates
# from /etc/grub.d and settings from /etc/default/grub
#

### BEGIN /etc/grub.d/00_header ###
insmod part_gpt
insmod part_msdos
if [ -s $prefix/grubenv ]; then
  load_env
fi
if [ "${next_entry}" ] ; then
   set default="${next_entry}"
   set next_entry=
   save_env next_entry
   set boot_once=true
else
   set default="0"
fi

if [ x"${feature_menuentry_id}" = xy ]; then
  menuentry_id_option="--id"
else
  menuentry_id_option=""
fi

export menuentry_id_option

if [ "${prev_saved_entry}" ]; then
  set saved_entry="${prev_saved_entry}"
  save_env saved_entry
  set prev_saved_entry=
  save_env prev_saved_entry
  set boot_once=true
fi

function savedefault {
  if [ -z "${boot_once}" ]; then
    saved_entry="${chosen}"
    save_env saved_entry
  fi
}

function load_video {
  if [ x$feature_all_video_module = xy ]; then
    insmod all_video
  else
    insmod efi_gop
    insmod efi_uga
    insmod ieee1275_fb
    insmod vbe
    insmod vga
    insmod video_bochs
    insmod video_cirrus
  fi
}

if [ x$feature_default_font_path = xy ] ; then
   font=unicode
else
insmod part_gpt
insmod btrfs
set root='hd5,gpt2'
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//disk@0,gpt2
' --hint-bios=hd5,gpt2 --hint-efi=hd5,gpt2 --hint-baremetal=ahci5,gpt2  f07b3ab8
-01d8-441a-8c9b-65077329b8c8
else
  search --no-floppy --fs-uuid --set=root f07b3ab8-01d8-441a-8c9b-65077329b8c8
fi
    font="/usr/share/grub/unicode.pf2"
fi

if loadfont $font ; then
  set gfxmode=auto
  load_video
  insmod gfxterm
  set locale_dir=$prefix/locale
  set lang=en_US
  insmod gettext
fi
terminal_input console
terminal_output gfxterm
if [ x$feature_timeout_style = xy ] ; then
  set timeout_style=menu
  set timeout=5
# Fallback normal timeout code in case the timeout_style feature is
# unavailable.
else
  set timeout=5
fi
### END /etc/grub.d/00_header ###

### BEGIN /etc/grub.d/10_linux ###
menuentry 'Arch Linux' --class arch --class gnu-linux --class gnu --class os $me
nuentry_id_option 'gnulinux-simple-f07b3ab8-01d8-441a-8c9b-65077329b8c8' {
        load_video
        set gfxpayload=keep
        insmod gzio
        insmod part_gpt
        insmod fat
        set root='hd5,gpt1'
        if [ x$feature_platform_search_hint = xy ]; then
          search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1275//dis
k@0,gpt1' --hint-bios=hd5,gpt1 --hint-efi=hd5,gpt1 --hint-baremetal=ahci5,gpt1  
8BEB-FB70
        else
          search --no-floppy --fs-uuid --set=root 8BEB-FB70
        fi
        echo    'Loading Linux linux ...'
        linux   /vmlinuz-linux root=UUID=f07b3ab8-01d8-441a-8c9b-65077329b8c8 rw
  loglevel=3 quiet
        echo    'Loading initial ramdisk ...'
        initrd  /initramfs-linux.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advance
d-f07b3ab8-01d8-441a-8c9b-65077329b8c8' {
        menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux 
--class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-f07b3ab8-01
d8-441a-8c9b-65077329b8c8' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod fat
                set root='hd5,gpt1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1
275//disk@0,gpt1' --hint-bios=hd5,gpt1 --hint-efi=hd5,gpt1 --hint-baremetal=ahci
5,gpt1  8BEB-FB70
                else
                  search --no-floppy --fs-uuid --set=root 8BEB-FB70
                fi
                echo    'Loading Linux linux ...'
                linux   /vmlinuz-linux root=UUID=f07b3ab8-01d8-441a-8c9b-6507732
9b8c8 rw  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /initramfs-linux.img
        }
        menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class ar
ch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux
-fallback-f07b3ab8-01d8-441a-8c9b-65077329b8c8' {
                load_video
                set gfxpayload=keep
                insmod gzio
                insmod part_gpt
                insmod fat
                set root='hd5,gpt1'
                if [ x$feature_platform_search_hint = xy ]; then
                  search --no-floppy --fs-uuid --set=root --hint-ieee1275='ieee1
275//disk@0,gpt1' --hint-bios=hd5,gpt1 --hint-efi=hd5,gpt1 --hint-baremetal=ahci
5,gpt1  8BEB-FB70
                else
                  search --no-floppy --fs-uuid --set=root 8BEB-FB70
                fi
                echo    'Loading Linux linux ...'
                linux   /vmlinuz-linux root=UUID=f07b3ab8-01d8-441a-8c9b-6507732
9b8c8 rw  loglevel=3 quiet
                echo    'Loading initial ramdisk ...'
                initrd  /initramfs-linux-fallback.img
        }
}

### END /etc/grub.d/10_linux ###

### BEGIN /etc/grub.d/20_linux_xen ###
### END /etc/grub.d/20_linux_xen ###

### BEGIN /etc/grub.d/30_os-prober ###
### END /etc/grub.d/30_os-prober ###

### BEGIN /etc/grub.d/40_custom ###
# This file provides an easy way to add custom menu entries.  Simply type the
# menu entries you want to add after this comment.  Be careful not to change
# the 'exec tail' line above.
### END /etc/grub.d/40_custom ###

### BEGIN /etc/grub.d/41_custom ###
if [ -f  ${config_directory}/custom.cfg ]; then
  source ${config_directory}/custom.cfg
elif [ -z "${config_directory}" -a -f  $prefix/custom.cfg ]; then
  source $prefix/custom.cfg;
fi
### END /etc/grub.d/41_custom ###
[root@archiso /]# 

Offline

#3 2020-04-03 10:48:12

wingwing
Member
Registered: 2020-03-10
Posts: 9

Re: Installed, failing to boot

Unbroken it - somehow I'd accidentally mounted the EFI image on /boot rather than /boot/efi.

So now I'm back to failing to boot as per the original message - for some reason some of the time the host just won't find the disk, though since it's just a partition on the same disk I can't understand why.

Manually powercycling and it'll either drop back into the failed shell, or boot properly, depending on it's mood.

Last edited by wingwing (2020-04-03 10:48:43)

Offline

Board footer

Powered by FluxBB