Hooks and modules have a .sh extension
This makes it trivial to filter out temporary files, editor backups, package management leftovers, etc. Thanks, Kay for the idea.master
parent
1c25acaac4
commit
3f9c86ab86
4
Makefile
4
Makefile
|
@ -12,8 +12,8 @@ install:
|
|||
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 *~
|
||||
|
||||
|
|
1
README
1
README
|
@ -37,6 +37,7 @@ Some general rules for writing modules:
|
|||
* 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
|
||||
|
|
6
dracut
6
dracut
|
@ -44,7 +44,7 @@ hookdirs="pre-udev pre-mount pre-pivot"
|
|||
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
|
||||
|
@ -52,8 +52,8 @@ 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
|
||||
|
|
2
init
2
init
|
@ -24,7 +24,7 @@ getarg() {
|
|||
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..."
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
#!/bin/bash
|
||||
inst cryptsetup
|
||||
inst_rules "$dsrc/rules.d/63-luks.rules"
|
||||
inst_hook pre-mount 50 "$dsrc/hooks/cryptroot"
|
||||
inst_hook pre-mount 50 "$dsrc/hooks/cryptroot.sh"
|
|
@ -3,6 +3,6 @@ dracut_install mount mknod mkdir modprobe pidof sleep chroot echo sed sh ls
|
|||
# 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"
|
||||
|
Loading…
Reference in New Issue