Package: dracut
Version: 044+241-3
Severity: normal

Dear Maintainer,

The HDD on my little BananaPi homeserver is dying (keeps giving errors
causing SATA connnnection reset, etc...), so I took it out and plugged
in another HDD that contained a backup copy of the system (basically
and `rsync` of the boot and root partitions).  My U-boot script
specifies the root partition via "root=/dev/mapper/VG-root" so there's
no need for any UUID to find the root partition.  And since dracut
is not configured in "hostonly" mode, I did not expect any problem.

Yet, the boot failed telling me that it couldn't find
/dev/disk/by-uuid/blablabla.

It did put me into some emergency shell where I managed to mount the
LVM partition (which the initrd has successfully found and activated),
rerun dracut and finally get my system to boot successfully.
But given the use of LVM and an explicit "root=..." on the kernel
command line, I don't see any justification for the boot failure.

Indeed, given my setup (and arguably any non-hostonly initrd)
I don't see why any UUID would appear in the inird, yet:

    # lsinitrd /boot/initrd.img-4.16.0-2-armmp| grep by-uuid
    -rw-r--r--   1 root     root          146 Jun 18 15:22 
lib/dracut/hooks/emergency/80-\\x2fdev\\x2fdisk\\x2fby-uuid\\x2f1d3f740e-7a96-434a-8dfb-4a17e3dc563b.sh
    -rw-r--r--   1 root     root           64 Jun 18 15:22 
lib/dracut/hooks/initqueue/finished/devexists-\\x2fdev\\x2fdisk\\x2fby-uuid\\x2f1d3f740e-7a96-434a-8dfb-4a17e3dc563b.sh
    # 

How can I configure dracut to "stay away from UUID since I use
LVM names instead"?  Shouldn't this be the default anyway when
the root partition is on LVM?


        Stefan


-- System Information:
Debian Release: 9.4
  APT prefers stable
  APT policy: (990, 'stable'), (50, 'testing')
Architecture: armhf (armv7l)

Kernel: Linux 4.15.0-rc2+ (SMP w/2 CPU cores)
Locale: LANG=fr_CH.UTF-8, LC_CTYPE=fr_CH.UTF-8 (charmap=UTF-8), 
LANGUAGE=fr_CH.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages dracut depends on:
ii  dracut-core  044+241-3

dracut recommends no packages.

Versions of packages dracut suggests:
pn  dracut-network  <none>

-- Configuration Files:
/etc/bash_completion.d/dracut changed:
__contains_word () {
        local word=$1; shift
        for w in $*; do [[ $w = $word ]] && return 0; done
        return 1
}
_dracut() {
        local field_vals= cur=${COMP_WORDS[COMP_CWORD]} 
prev=${COMP_WORDS[COMP_CWORD-1]}
        local -A OPTS=(
                [STANDALONE]='-f -v -q -l -H -h -M -N
                              --ro-mnt --force --kernel-only --no-kernel 
--strip --nostrip
                              --hardlink --nohardlink --noprefix --mdadmconf 
--nomdadmconf
                              --lvmconf --nolvmconf --debug --profile --verbose 
--quiet
                              --local --hostonly --no-hostonly --fstab --help 
--bzip2 --lzma
                              --xz --no-compress --gzip --list-modules 
--show-modules --keep
                              --printsize --regenerate-all --noimageifnotneeded 
--early-microcode
                              --no-early-microcode --print-cmdline --prelink 
--noprelink --reproducible
                              --uefi
                              '
                       [ARG]='-a -m -o -d -I -k -c -L --kver --add --force-add 
--add-drivers
                              --omit-drivers --modules --omit --drivers 
--filesystems --install
                              --fwdir --libdirs --fscks --add-fstab --mount 
--device --nofscks
                              --kmoddir --conf --confdir --tmpdir --stdlog 
--compress --prefix
                              --kernel-cmdline --sshkey --persistent-policy 
--install-optional
                              --loginstall --uefi-stub --kernel-image
                              '
        )
        if __contains_word "$prev" ${OPTS[ARG]}; then
                case $prev in
                        --kmoddir|-k|--fwdir|--confdir|--tmpdir)
                                comps=$(compgen -d -- "$cur")
                                compopt -o filenames
                        ;;
                        
-c|--conf|--sshkey|--add-fstab|--add-device|-I|--install|--install-optional)
                                comps=$(compgen -f -- "$cur")
                                compopt -o filenames
                        ;;
                        -a|-m|-o|--add|--modules|--omit)
                                comps=$(dracut --list-modules 2>/dev/null)
                        ;;
                        --persistent-policy)
                                comps=$(cd /dev/disk/; echo *)
                        ;;
                        --kver)
                                comps=$(cd /lib/modules; echo [0-9]*)
                        ;;
                        *)
                                return 0
                        ;;
                esac
                COMPREPLY=( $(compgen -W '$comps' -- "$cur") )
                return 0
        fi
        if [[ $cur = -* ]]; then
                COMPREPLY=( $(compgen -W '${OPTS[*]}' -- "$cur") )
                return 0
        fi
}
complete -F _dracut dracut

/etc/dracut.conf changed:

/etc/dracut.conf.d/10-debian.conf changed:
do_prelink=no
hostonly=yes


-- no debconf information

Reply via email to