summaryrefslogtreecommitdiff
path: root/iso/overlay/etc/archiso
diff options
context:
space:
mode:
Diffstat (limited to 'iso/overlay/etc/archiso')
-rw-r--r--iso/overlay/etc/archiso/functions12
-rw-r--r--iso/overlay/etc/archiso/getshell9
2 files changed, 21 insertions, 0 deletions
diff --git a/iso/overlay/etc/archiso/functions b/iso/overlay/etc/archiso/functions
new file mode 100644
index 0000000..fdd48f4
--- /dev/null
+++ b/iso/overlay/etc/archiso/functions
@@ -0,0 +1,12 @@
+# vim: set ft=sh:
+
+cmdline_param ()
+{
+ for param in ${CMDLINE}; do
+ case "${param}" in
+ $1=*) echo "${param##*=}"; return ;;
+ *) continue ;;
+ esac
+ done
+ [ -n "${2}" ] && echo "${2}"
+}
diff --git a/iso/overlay/etc/archiso/getshell b/iso/overlay/etc/archiso/getshell
new file mode 100644
index 0000000..a6f8775
--- /dev/null
+++ b/iso/overlay/etc/archiso/getshell
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+. /etc/archiso/functions
+
+shell="$(cmdline_param shell)"
+[ -n "${shell}" ] && shell="/bin/bash"
+[ ! -e "${shell}" ] && shell="/bin/sh"
+
+exec ${shell}