| #!/bin/bash |
| |
| check() { |
| [ -L "${dracutsysrootdir?}/lib" ] |
| } |
| |
| depends() { |
| return 0 |
| } |
| |
| install() { |
| # dracut pre-installs a set of files before calling any of |
| # the modules, and dracut also messes up host vs. target |
| # system, so on a non-merged-usr host, it will prepare a |
| # non-merged-usr initramfs, even though the current config |
| # is for a merged-usr system. |
| # So undo its borkage. |
| for dir in lib bin sbin; do |
| mkdir -p "${initdir?}/usr/${dir}" |
| if [ -d "${initdir?}/${dir}" ]; then |
| mv "${initdir?}/${dir}/"* "${initdir?}/usr/${dir}" |
| rm -rf "${initdir?}/${dir}" |
| ln -s "usr/${dir}" "${initdir?}/${dir}" |
| fi |
| done |
| } |