You are not logged in.

#1 2016-12-03 22:30:01

zpg443
Member
Registered: 2016-12-03
Posts: 271

New Arch install will not boot due to fsck/mkinitcpio issue?

I have a triple-boot machine, with the newly installed (third OS) Arch, which was installed using /boot on sdb5 and /root on sdb4:

Device         Start       End   Sectors   Size Type
/dev/sdb4  853149696 959332351 106182656  50.6G Linux filesystem
/dev/sdb5  959332352 960622591   1290240   630M EFI System

Debian 8.6 and Windows 10 are the other two OSes on this box, and after running update on the Debian partition, grub2 (which is on sdb2 with my Debian install) detected and added the Arch install shown on sdb4.

I probably did not need to set up the /boot using systemd-boot and an EFI system partition, since all I really wanted to do is add Arch to my existing grub2 loader on Debian. I did it that way because my machine has UEFI, and the Arch installation page said:   

Boot loader
    See Category:Boot loaders for available choices and configurations. For example, set up the boot loader with systemd-boot if your system supports UEFI, and GRUB when not.

The reason for my post is that when booting Arch, it fails to boot, generating the following:

::running early hook [udev]
starting version 232
::running hook [udev]
::Triggering uevents...
::performing fsck on '/dev/sdb4'
/dev/sdb4: recovering journal
/dev/sdb4: clean, 34265/3319456 files, 526746/13272832 blocks
WARNING!
The root device is not configured to be mounted read-write. It may be fsck'd again later.
::mounting '/dev/sdb4' on real root[   1.805023] EXT4-fs (sdb4): Cannot load crc32c driver.
mount: mount(2) failed: new_root: no such file or directory
You are now being dropped into an emergency shell.
sh: can't acess tty; job control turned off

This thread (message #6) says the above error is because:

Previously, if you included the 'fsck' hook in mkinitcpio.conf, early init would write to /run/initramfs/root-fsck after fsck'ing root. This flag file would tell systemd that root has already been checked, and there's no need to check it again. Support for reading this flag file has been removed and now the only indication that systemd should not fsck the root device is that it's mounted read-write. So, if you now include the 'fsck' hook in /etc/mkinitcpio.conf and specify neither 'ro' or 'rw' on your kernel commandline, or explicitly specify 'ro', systemd will fsck your root device again. This is why the warning exists.

Yes, using the 'systemd' hook is an option. An option and not a requirement. Just fix your kernel commandline to specify 'rw' instead of 'ro' (or nothing) so that your root device is mounted rw after fsck'ing.

I commented out all hooks in mkinitcpio.conf except for "base" which did not resolve the issue. By "kernel commandline" does he mean the fstab file or some other file? My fstab has rw, not ro:

# /dev/sdb4
UUID=<snip>   /            ext4         rw,relatime,data=ordered   0 1

My Arch mkinitcpio.conf is:

MODULES="crc32 libcrc32c crc32c_generic crc32c-intel crc32-pclmul"

# BINARIES
BINARIES=""

# FILES
FILES=""

# HOOKS
HOOKS="base"
#HOOKS="base udev autodetect block filesystems"
#HOOKS="base udev block filesystems"
#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_OPTIONS
# Additional options for the compressor
#COMPRESSION_OPTIONS=""

Also, based on this thread, I added the modules entry shown above to fix the crc32c driver error shown with the boot fail message at top (the "fix" did not work).

I am probably ignorant of some basic aspect of boot configuration, but after ten+ hours of trying to fix using the Arch DVD I could use some assistance. I appreciate any help with this vexing problem.

I finally found a solution here  When running mkinitcpio -p linux, I was getting the same errors. these instructions resolved the problem, and now Arch boots correctly. FWIW, I also modified the mkinitcpio.conf hooks a bit before running mkinitcpio -p linux

Last edited by zpg443 (2016-12-04 01:10:48)

Offline

Board footer

Powered by FluxBB