summaryrefslogtreecommitdiff
path: root/src/backend/f_generic.sh
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/f_generic.sh')
-rw-r--r--src/backend/f_generic.sh48
1 files changed, 48 insertions, 0 deletions
diff --git a/src/backend/f_generic.sh b/src/backend/f_generic.sh
new file mode 100644
index 0000000..d692c46
--- /dev/null
+++ b/src/backend/f_generic.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+
+checkifroot () {
+ if [[ "$(whoami)" != root ]] ; then
+ eerror "I won't do that, unless you're root!"
+ exit 1
+ fi
+}
+
+checkkerncfg () {
+ if [[ $(zgrep 'CONFIG_OVERLAY_FS=' /proc/config.gz) && $(zgrep "CONFIG_SQUASHFS=" /proc/config.gz) && $(zgrep "CONFIG_BLK_DEV_LOOP=" /proc/config.gz) ]] ; then
+ einfo "Kernel config OK, moving on"
+ else
+ eerror "I won't do that with the current kernel"
+ eerror "I want a kernel with OVERLAYFS && SQUASHFS && LOOP DEVICES enabled"
+ exit 1
+ fi
+}
+
+checkiflive () {
+ if [[ -L /dev/mapper/live-base ]] ; then
+ eerror "I won't do that on a live system"
+ exit 1
+ fi
+}
+
+checkjailsum () {
+ if [[ -f "$jailx64" && -f "$jailx64sum" ]] ; then
+ if [[ "$(md5sum -c "$jailx64sum")" ]] ; then
+ einfo "Jail integrity OK, moving on"
+ else
+ eerror "I won't do that with a corrupted jail"
+ exit 1
+ fi
+ else
+ eerror "I won't do that with a missing jail"
+ exit 1
+ fi
+}
+
+jaildkmsbuild () {
+ checkifroot
+ if [[ -x /usr/sbin/dkms ]] ; then
+ for i in $(dkms status | cut -d " " -f1,2 | sed -e 's/,//g' | sed -e 's/ /\//g' | sed -e 's/://g') ; do
+ dkms install $i
+ done
+ fi
+}