kpatch/contrib/module-setup.sh
2014-04-14 12:27:55 -05:00

47 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
#
# Licensed under the GPLv2
#
# Copyright 2014 Red Hat, Inc.
# Josh Poimboeuf <jpoimboe@redhat.com>
# called by dracut
check() {
if [[ -e /var/lib/kpatch/$kernel ]] || [[ -e /usr/lib/kpatch/$kernel ]]; then
return 0
else
return 1
fi
}
# called by dracut
install() {
# install kpatch script
inst_any -d /usr/sbin/kpatch /usr/local/sbin/kpatch /usr/sbin/kpatch
# install insmod (needed by kpatch script)
inst_symlink /usr/sbin/insmod
# install core module
inst_any -d /usr/lib/modules/$kernel/kpatch/kpatch.ko /usr/local/lib/modules/$kernel/kpatch/kpatch.ko /usr/lib/modules/$kernel/kpatch/kpatch.ko
# install patch modules
if [[ -e /var/lib/kpatch/$kernel ]]; then
inst_dir /var/lib/kpatch/$kernel
for i in /var/lib/kpatch/$kernel/*; do
[[ -e $i ]] || continue
inst "$i"
done
fi
if [[ -e /usr/lib/kpatch/$kernel ]]; then
inst_dir /usr/lib/kpatch/$kernel
for i in /usr/lib/kpatch/$kernel/*; do
[[ -e $i ]] || continue
inst "$i"
done
fi
# install hook script
inst_hook pre-udev 00 "$moddir/kpatch-load-all.sh"
}