build initramfs: bad path in inst_rules when --local

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



When dracut-013 --local, then inst_rules tests for a pathname such as
     [[ -f /etc/udev/rules.d//ext4/dracut/modules.d/10i18n/10-console.rules ]]
which obviously is bogus: there are two "root" there: /etc and /ext4
[The "/ext4/dracut" is where my --local versions live.]
Such a path never can exist, so something is wrong with the intent.

Analysis:
modules.d/10i18n/module-setup.sh: install_base() calls
        inst_rules ${moddir}/10-console.rules
Note no underscore '_' in "${moddir}".

moddir is a global variable that is set by dracut:
     for moddir in "$dracutbasedir/modules.d"/[0-9][0-9]*; do
When --local, then dracutbasedir is set in dracut:
    dracutbasedir="$(readlink -f ${0%/*})"

Based on both of these, then inst_rules() in dracut-functions does:
    for _rule in "$@"; do
        <<snip>>
        for r in /lib/udev/rules.d /etc/udev/rules.d; do
            if [[ -f $r/$_rule ]]; then
which leads to testing a pathname such as
     [[ -f /etc/udev/rules.d//ext4/dracut/modules.d/10i18n/10-console.rules ]]

-- 
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux