1#!/bin/bash 2 3check() { 4 [ -L "${dracutsysrootdir?}/lib" ] 5} 6 7depends() { 8 return 0 9} 10 11install() { 12 # dracut pre-installs a set of files before calling any of 13 # the modules, and dracut also messes up host vs. target 14 # system, so on a non-merged-usr host, it will prepare a 15 # non-merged-usr initramfs, even though the current config 16 # is for a merged-usr system. 17 # So undo its borkage. 18 for dir in lib bin sbin; do 19 mkdir -p "${initdir?}/usr/${dir}" 20 if [ -d "${initdir?}/${dir}" ]; then 21 mv "${initdir?}/${dir}/"* "${initdir?}/usr/${dir}" 22 rm -rf "${initdir?}/${dir}" 23 ln -s "usr/${dir}" "${initdir?}/${dir}" 24 fi 25 done 26} 27