If symlink is yet alone in target directory, inst_symlink will fail to create it. This is how to reproduce the bug: # mkdir /tmp/test # ln -s /bin/cp /tmp/test/cp # ./dracut -l -f -H /tmp/test.img -I /tmp/test/cp Result: [...] I: *** Including modules done *** ln: failed to create symbolic link `/var/tmp/initramfs.Z5isVu//tmp/test/cp': No such file or directory ln: failed to create symbolic link `/var/tmp/initramfs.Z5isVu//tmp/test/cp': No such file or directory I: Wrote /tmp/test.img: [...] Following patch creates directory for the symlink if it doesn't exist. --- dracut-functions.sh | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/dracut-functions.sh b/dracut-functions.sh index f4ccf53..8082466 100755 --- a/dracut-functions.sh +++ b/dracut-functions.sh @@ -545,6 +545,7 @@ inst_symlink() { inst "$_realsrc" fi fi + [[ ! -e $initdir/${_target%/*} ]] && inst_dir "${_target%/*}" [[ -d ${_target%/*} ]] && _target=$(readlink -f ${_target%/*})/${_target##*/} ln -sfn $(convert_abs_rel "${_target}" "${_realsrc}") "$initdir/$_target" } -- 1.7.8.5 -- 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