merged-usr-module-setup.sh 709 B

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