diff options
Diffstat (limited to 'configs/releng/root-image/etc/rc.d')
-rwxr-xr-x | configs/releng/root-image/etc/rc.d/archiso | 48 | ||||
-rw-r--r-- | configs/releng/root-image/etc/rc.d/functions.d/automated_script | 25 |
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 |