summaryrefslogtreecommitdiff
path: root/configs/releng/root-image/etc/rc.d
diff options
context:
space:
mode:
Diffstat (limited to 'configs/releng/root-image/etc/rc.d')
-rwxr-xr-xconfigs/releng/root-image/etc/rc.d/archiso48
-rw-r--r--configs/releng/root-image/etc/rc.d/functions.d/automated_script25
2 files changed, 73 insertions, 0 deletions
diff --git a/configs/releng/root-image/etc/rc.d/archiso b/configs/releng/root-image/etc/rc.d/archiso
new file mode 100755
index 0000000..1429516
--- /dev/null
+++ b/configs/releng/root-image/etc/rc.d/archiso
@@ -0,0 +1,48 @@
+# vim: set ft=sh:
+. /etc/rc.conf
+. /etc/rc.d/functions
+
+do_makeuser ()
+{
+ stat_busy "Making the default user arch"
+ addgroups="audio,disk,optical,wheel"
+ useradd -m -p "" -g users -G $addgroups arch
+ stat_done
+}
+
+do_locale_gen ()
+{
+ stat_busy "Generating locales..."
+ sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen
+ /usr/sbin/locale-gen > /dev/null
+ stat_done
+}
+
+# If an alternate console was specified on the kernel command line,
+# start agetty on it too.
+do_special_console()
+{
+ cmdline_console="$(kernel_cmdline console)"
+ [ $? -ne 0 ] && return
+
+ dev="${cmdline_console%%,*}"
+ args="${cmdline_console##*,}"
+ baud="${args%%[neo]*}" && baud="${baud:-"9600"}"
+ [ "x${args}" != "x${args%%r}" ] && rts="-h"
+
+
+ stat_busy "Starting agetty on console: ${cmdline_console}"
+ echo "${dev}" >> /etc/securetty
+ echo "z0:2345:respawn:/sbin/agetty ${rts} ${baud} ${dev} linux" >> /etc/inittab
+ /sbin/telinit q
+ stat_done
+}
+
+case "$1" in
+ start)
+ do_locale_gen
+ do_makeuser
+ do_special_console
+ ;;
+esac
+exit 0
diff --git a/configs/releng/root-image/etc/rc.d/functions.d/automated_script b/configs/releng/root-image/etc/rc.d/functions.d/automated_script
new file mode 100644
index 0000000..edb8ea3
--- /dev/null
+++ b/configs/releng/root-image/etc/rc.d/functions.d/automated_script
@@ -0,0 +1,25 @@
+. /etc/archiso/functions
+
+automated_script ()
+{
+ script="$(kernel_cmdline script)"
+ if [[ -n "$script" ]]; then
+ stat_busy "Configuring $script"
+ if [[ "$script" =~ ^http:// || "$script" =~ ^ftp:// ]]; then
+ wget "$script" -q -O /tmp/startup_script >/dev/null
+ rt=$?
+ else
+ cp "$script" /tmp/startup_script
+ rt=$?
+ fi
+ if [ $rt -eq 0 ]; then
+ chmod +x /tmp/startup_script
+ echo -e '\nif [ $(tty) = "/dev/tty1" ]; then\n /tmp/startup_script\nfi\n' >> /root/.bash_profile
+ stat_done
+ else
+ stat_fail
+ fi
+ fi
+}
+
+add_hook multi_end automated_script