Hey Thomas,

On Fri, Feb 12, 2021 at 10:40:06PM +0100, Thomas Lange wrote:
> I cannot confirm this problem.
> It works without problems on a bullseye VM.
> 
> Maybe you can strace the dracut call and see which parameters are
> given to the dracut-install call.

attached is the output of `dracut --debug`.

The install call that fails is:
/usr/lib/dracut/dracut-install -D /var/tmp/dracut.OUZAAd/initramfs --kerneldir 
/lib/modules/5.10.0-2-amd64/ -m --silent -s 
'drm_crtc_init|drm_dev_register|drm_encoder_init' -S iw_handler_get_spy

Looking at the lines before that, it seems it looks at
/sys/bus/platform/devices/dock.0/modalias, but that file is empty, so I
guess that's why it's not passing a source to d-install?

The other failures happen after looking at
/sys/bus/platform/devices/dock.1/modalias and
/sys/bus/platform/devices/dock.2/modalias, which are also both empty.

Looking at the code in /usr/lib/dracut/modules.d/50drm/module-setup.sh:

    # if the hardware is present, include module even if it is not currently 
loaded,
    # as we could e.g. be in the installer; nokmsboot boot parameter will 
disable
    # loading of the driver if needed
    if [[ $hostonly ]]; then
        for i in 
/sys/bus/{pci/devices,platform/devices,virtio/devices,soc/devices/soc?}/*/modalias;
 do
            [[ -e $i ]] || continue
            if hostonly="" dracut_instmods --silent -s 
"drm_crtc_init|drm_dev_register|drm_encoder_init" -S "iw_handler_get_spy" 
$(<"$i"); then
                if strstr "$(modinfo -F filename $(<"$i") 2>/dev/null)" 
radeon.ko; then
                    hostonly='' instmods amdkfd
                fi
            fi
        done
    else
        dracut_instmods -o -s "drm_crtc_init|drm_dev_register|drm_encoder_init" 
"=drivers/gpu/drm" "=drivers/staging"
    fi

I have `hostonly` set, and it passes $(<"$i") to dracut_instmods, which is 
empty in
the dock.X case.

FWIW, the hardware is a Thinkpad X201s, which has a dock port, but is
not docked right now.

HTH
Evgeni

Reply via email to