install -m 0755 dracut-functions $(DESTDIR)/usr/libexec/dracut/functions
mkdir $(DESTDIR)/usr/libexec/dracut/rules.d
for rule in rules.d/*.rules ; do install -m 0644 $$rule $(DESTDIR)/usr/libexec/dracut ; done
- for hook in hooks/* ; do install -m 0755 $$hook $(DESTDIR)/usr/libexec/dracut ; done
- for module in modules/*; do install -m 0755 $$module $(DESTDIR)/usr/libexec/dracut ; done
+ for hook in hooks/*.sh ; do install -m 0755 $$hook $(DESTDIR)/usr/libexec/dracut ; done
+ for module in modules/*.sh; do install -m 0755 $$module $(DESTDIR)/usr/libexec/dracut ; done
clean:
rm -f *~
* Generator modules should have a two digit numeric prefix -- they run in
ascending sort order. Anything in the 90-99 range is stuff that dracut
relies on, so try not to break those hooks.
+ * Generator modules and hooks must have a .sh extension.
Also, there is an attempt to keep things as distribution-agnostic as
possible. Every distribution has their own tool here and it's not
initdir=$(mktemp -d -t initramfs.XXXXXX)
trap 'rm -rf "$initdir"' 0 # clean up after ourselves no matter how we die.
-export initdir hookdirs rulesdir dsrc dracutmodules kmodules
+export initdir hookdirs rulesdir dsrc dracutmodules modules
# Create some directory structure first
for d in bin sbin usr/bin usr/sbin usr/lib etc proc sys sysroot dev/pts; do
done
# source all our modules
-for f in "$dsrc/modules"/*[^~]; do
- mod=${f##*/}; mod=${mod#[0-9][0-9]}
+for f in "$dsrc/modules"/*.sh; do
+ mod=${f##*/}; mod=${mod#[0-9][0-9]}; mod=${mod%.sh}
if [[ $dracutmodules = all ]] || strstr "$dracutmodules" "$mod"; then
[[ -x $f ]] && . "$f"
fi
source_all() {
local f
[ "$1" ] && [ -d "/$1" ] || return
- for f in "/$1"/*; do [ -f "$f" ] && . "$f"; done
+ for f in "/$1"/*.sh; do [ -f "$f" ] && . "$f"; done
}
echo "Starting initrd..."
#!/bin/bash
inst cryptsetup
inst_rules "$dsrc/rules.d/63-luks.rules"
-inst_hook pre-mount 50 "$dsrc/hooks/cryptroot"
\ No newline at end of file
+inst_hook pre-mount 50 "$dsrc/hooks/cryptroot.sh"
\ No newline at end of file
# install our scripts and hooks
inst "$initfile" "/init"
inst "$switchroot" "/sbin/switch_root"
-inst_hook pre-pivot 50 "$dsrc/hooks/selinux-loadpolicy"
-inst_hook pre-mount 99 "$dsrc/hooks/resume"
+inst_hook pre-pivot 50 "$dsrc/hooks/selinux-loadpolicy.sh"
+inst_hook pre-mount 99 "$dsrc/hooks/resume.sh"