You are not logged in.

#1 2019-02-07 11:41:13

David of Yorkshire
Member
Registered: 2019-02-07
Posts: 3

RAID 1 Boot issue

I have just converted from Fedora to Arch and found only one issue during installation.

The Boot works, to a point, but after dmraid loads the raid correctly and each partition, loading the root partition without issue, it fails to load the boot partition or the swaper.
Log in and mount them manually, log out and the system is fine. Any ideas?

*** TRACE ***
Starting version 240
/dev/mapper/pdc_ifjidheip3: clean, 394575/117833728 files, 12746134/471322640 blocks
[ TIME ] Timed out waiting for device /dev/mapper/pdc_ifjidheip1.
[DEPEND] Dependency failed for File System Check on /dev/mapper/pdc_ifjidheip1.
[DEPEND] Dependency failed for /boot.
[DEPEND] Dependency failed for Local File Systems.
[ TIME ] Timed out waiting for device /dev/mapper/pdc_ifjidheip2.
[DEPEND] Dependency failed for File System Check on /dev/mapper/pdc_ifjidheip2.
[DEPEND] Dependency failed for Swap.
[  OK  ] ......
: : :
Your are in emergency mode. After logging in, type "journalctl -xb" to view
system logs, "systemctl reboot" to reboot, "systemctl default" or "exit"
to boot into default mode.
Give root password for maintenance
(or press Control-D to continue):

Using the password and mounting the two partitions manually works fine, then logout and the system lets you log in normally.

I know I've missed a step in grub or mkinitcpio, but I can't find it. Any help appreciated.

Offline

#2 2019-02-08 15:25:42

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: RAID 1 Boot issue

Please post your mkinitcpio.conf and the config file for your bootloader

your partition setup might also be useful, post lslbk -f .


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#3 2019-02-08 15:28:38

2ManyDogs
Forum Moderator
Registered: 2012-01-15
Posts: 4,645

Re: RAID 1 Boot issue


How to post. A sincere effort to use modest and proper language and grammar is a sign of respect toward the community.

Offline

#4 2019-02-11 13:01:47

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,868

Re: RAID 1 Boot issue

I got the info in an email, posting it now.

lsblk -f

NAME               FSTYPE                    LABEL UUID                                 FSAVAIL FSUSE% MOUNTPOINT
sda                promise_fasttrack_raid_me                                                           
└─pdc_ifjidhei                                                                                         
  ├─pdc_ifjidheip1 ext4                            eabb4828-18a4-402f-aa18-339a62721de0  761.1M    15% /boot
  ├─pdc_ifjidheip2 swap                            7a3ce647-9b64-44b1-aefe-f7248daa8534                [SWAP]
  └─pdc_ifjidheip3 ext4                            3defd33c-f469-4d8f-b87c-a71a15c30d9d    1.6T     1% /
sdb                promise_fasttrack_raid_me                                                           
└─pdc_ifjidhei                                                                                         
  ├─pdc_ifjidheip1 ext4                            eabb4828-18a4-402f-aa18-339a62721de0  761.1M    15% /boot
  ├─pdc_ifjidheip2 swap                            7a3ce647-9b64-44b1-aefe-f7248daa8534                [SWAP]
  └─pdc_ifjidheip3 ext4                            3defd33c-f469-4d8f-b87c-a71a15c30d9d    1.6T     1% /

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=(amdgpu radeon dm_mod dm_mirror)

# 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=(/usr/bin/dmraid)

# 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=(/etc/fstab)

# 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 dmraid 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=()




grub config file should have been /boot/grug/grub.cfg , but the mkinitcpio.conf  and lslbk -f give enough clues to start troubleshooting.

You are using a raid 1 array on a dmraid setup. This means your initramfs needs support for both.
https://wiki.archlinux.org/index.php/In … _Fake_RAID mentions needing mdadm_udev hook .

$ mkinitcpio -H mdadm_udev
==> Help for hook 'mdadm_udev':
This hook loads the necessary modules for a RAID array and uses incremental
assembly via udev at runtime to create the devices. This hook will NOT work
without the udev hook included on the image.
$ 

Try adding mdamm_udev between dmraid and filesystems






--------------------------------------------------------------------------------------------------------------------------------------------------------------------




/etc/default/grub

# GRUB boot loader configuration

GRUB_DEFAULT=0
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="Arch"
GRUB_CMDLINE_LINUX_DEFAULT="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

# Uncomment to enable Hidden Menu, and optionally hide the timeout count
#GRUB_HIDDEN_TIMEOUT=5
#GRUB_HIDDEN_TIMEOUT_QUIET=true

# 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 to
# set 'GRUB_DEFAULT=saved' above.
#GRUB_SAVEDEFAULT="true"

Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#5 2019-02-12 09:58:25

David of Yorkshire
Member
Registered: 2019-02-07
Posts: 3

Re: RAID 1 Boot issue

I tried the mdadm_udev in hooks and it delayed a bit then retried 1 minute 30 seconds, then failed to mount the other partitions as usual.

Here is my 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_msdos
insmod ext2
if [ x$feature_platform_search_hint = xy ]; then
  search --no-floppy --fs-uuid --set=root  3defd33c-f469-4d8f-b87c-a71a15c30d9d
else
  search --no-floppy --fs-uuid --set=root 3defd33c-f469-4d8f-b87c-a71a15c30d9d
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_GB
  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 $menuentry_id_option 'gnulinux-simple-3defd33c-f469-4d8f-b87c-a71a15c30d9d' {
	load_video
	set gfxpayload=keep
	insmod gzio
	insmod part_msdos
	insmod ext2
	if [ x$feature_platform_search_hint = xy ]; then
	  search --no-floppy --fs-uuid --set=root  eabb4828-18a4-402f-aa18-339a62721de0
	else
	  search --no-floppy --fs-uuid --set=root eabb4828-18a4-402f-aa18-339a62721de0
	fi
	echo	'Loading Linux linux-lts ...'
	linux	/vmlinuz-linux-lts root=/dev/mapper/pdc_ifjidheip3 rw  quiet
	echo	'Loading initial ramdisk ...'
	initrd	/amd-ucode.img /initramfs-linux-lts.img
}
submenu 'Advanced options for Arch Linux' $menuentry_id_option 'gnulinux-advanced-3defd33c-f469-4d8f-b87c-a71a15c30d9d' {
	menuentry 'Arch Linux, with Linux linux-lts' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-advanced-3defd33c-f469-4d8f-b87c-a71a15c30d9d' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  eabb4828-18a4-402f-aa18-339a62721de0
		else
		  search --no-floppy --fs-uuid --set=root eabb4828-18a4-402f-aa18-339a62721de0
		fi
		echo	'Loading Linux linux-lts ...'
		linux	/vmlinuz-linux-lts root=/dev/mapper/pdc_ifjidheip3 rw  quiet
		echo	'Loading initial ramdisk ...'
		initrd	/amd-ucode.img /initramfs-linux-lts.img
	}
	menuentry 'Arch Linux, with Linux linux-lts (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-lts-fallback-3defd33c-f469-4d8f-b87c-a71a15c30d9d' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  eabb4828-18a4-402f-aa18-339a62721de0
		else
		  search --no-floppy --fs-uuid --set=root eabb4828-18a4-402f-aa18-339a62721de0
		fi
		echo	'Loading Linux linux-lts ...'
		linux	/vmlinuz-linux-lts root=/dev/mapper/pdc_ifjidheip3 rw  quiet
		echo	'Loading initial ramdisk ...'
		initrd	/initramfs-linux-lts-fallback.img
	}
	menuentry 'Arch Linux, with Linux linux' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-advanced-3defd33c-f469-4d8f-b87c-a71a15c30d9d' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  eabb4828-18a4-402f-aa18-339a62721de0
		else
		  search --no-floppy --fs-uuid --set=root eabb4828-18a4-402f-aa18-339a62721de0
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=/dev/mapper/pdc_ifjidheip3 rw  quiet
		echo	'Loading initial ramdisk ...'
		initrd	/amd-ucode.img /initramfs-linux.img
	}
	menuentry 'Arch Linux, with Linux linux (fallback initramfs)' --class arch --class gnu-linux --class gnu --class os $menuentry_id_option 'gnulinux-linux-fallback-3defd33c-f469-4d8f-b87c-a71a15c30d9d' {
		load_video
		set gfxpayload=keep
		insmod gzio
		insmod part_msdos
		insmod ext2
		if [ x$feature_platform_search_hint = xy ]; then
		  search --no-floppy --fs-uuid --set=root  eabb4828-18a4-402f-aa18-339a62721de0
		else
		  search --no-floppy --fs-uuid --set=root eabb4828-18a4-402f-aa18-339a62721de0
		fi
		echo	'Loading Linux linux ...'
		linux	/vmlinuz-linux root=/dev/mapper/pdc_ifjidheip3 rw  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 ###

If it helps the RAID 1 is hosted on a GIGABYTE GA-78LMT-USB3 motherboard.

Offline

#6 2019-04-25 06:10:34

David of Yorkshire
Member
Registered: 2019-02-07
Posts: 3

Re: RAID 1 Boot issue

No solution so just dropped the RAID and rebuilt the boot options. Not ideal, but it is functioning the way Fedora used too - but still lacking drive encryption - for the same reason - its not easy to setup or manage on Arch.

Last edited by David of Yorkshire (2019-04-25 06:11:07)

Offline

Board footer

Powered by FluxBB