Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/configs/releng/root-image/etc/rc.d
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-06-18 18:38:58 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-06-18 18:38:27 -0300
commit85d243ff5836fc17416c65dca8a9e8b4e9d915bc (patch)
tree78b3ec86fea064580c43966da866d46e31ab7007 /configs/releng/root-image/etc/rc.d
parent4a1bd4c7697bdc7aa89eca04009d868e4dd39cb4 (diff)
[archiso] Use dm-snapshot instead of aufs2 (A.K.A. "The Big Commit")
* Use device mapper + snapshot module, instead union layer filesystem. * A block-level approach vs vfs-level. * No more unofficial (Linux) things. * More memory is needed. * Refactor mkarchiso. * Refactor hooks/archiso. * Fix install/archiso_pxe_nbd (due recent change in mkinitcpio-0.6.15 on checked_modules()/all_modules()) [Thanks Dave for the improved workaround] * New configs/releng to build official images. * Works with a Bash script instead of Makefile. (better control and easy to maintain) * Remove configs/syslinux-iso. * Remove archiso2dual script. Integrate functionality in configs/releng. * New configs/baseline to build the most basic live medium or use as template. * New README (draft). [Thanks Dieter for fixing english grammar] Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
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