From a9c02d94881fdf542ffc6ea0525c4726f66f0870 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Wed, 17 Aug 2011 20:26:17 -0300 Subject: [configs/releng] Replace rc.d/archiso with initscripts hooks. In this way: * Prepare locales requested by boot param mostly early possible. * Setup special console at end of rc.sysinit Remove unneded include from automated_script (already included by rc.conf) Signed-off-by: Gerardo Exequiel Pozzi --- configs/releng/root-image/etc/rc.conf | 2 +- configs/releng/root-image/etc/rc.d/archiso | 45 ---------------------- .../etc/rc.d/functions.d/automated_script | 2 - .../etc/rc.d/functions.d/prepare_locale_gen | 11 ++++++ .../etc/rc.d/functions.d/setup_special_console | 25 ++++++++++++ 5 files changed, 37 insertions(+), 48 deletions(-) delete mode 100755 configs/releng/root-image/etc/rc.d/archiso create mode 100644 configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen create mode 100644 configs/releng/root-image/etc/rc.d/functions.d/setup_special_console diff --git a/configs/releng/root-image/etc/rc.conf b/configs/releng/root-image/etc/rc.conf index 42084f6..a3e3d8a 100644 --- a/configs/releng/root-image/etc/rc.conf +++ b/configs/releng/root-image/etc/rc.conf @@ -30,4 +30,4 @@ USELVM="no" HOSTNAME="archiso" -DAEMONS=(hwclock syslog-ng archiso) +DAEMONS=(hwclock syslog-ng) diff --git a/configs/releng/root-image/etc/rc.d/archiso b/configs/releng/root-image/etc/rc.d/archiso deleted file mode 100755 index cc930f6..0000000 --- a/configs/releng/root-image/etc/rc.d/archiso +++ /dev/null @@ -1,45 +0,0 @@ -# vim: set ft=sh: -. /etc/rc.conf -. /etc/rc.d/functions - -do_locale_gen () -{ - if [[ ${LOCALE} != "en_US.UTF-8" ]]; then - stat_busy "Generating locales..." - sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen - /usr/sbin/locale-gen > /dev/null - stat_done - fi -} - -# If an alternate console was specified on the kernel command line, -# start agetty on it too. -do_special_console() -{ - local cmdline_console - if cmdline_console=$(kernel_cmdline console); then - stat_busy "Starting agetty on console: ${cmdline_console}" - local port options baud rts - port=${cmdline_console%%,*} - options=${cmdline_console#${port}} - options=${options#,} - baud=${options%%[neo]*} - [[ ${options} =~ r$ ]] && rts="-h" - if ! grep -q "^${port}" /etc/securetty; then - echo ${port} >> /etc/securetty - fi - if ! grep -q "^z0:" /etc/inittab; then - echo "z0:2345:respawn:/sbin/agetty -8 -s ${rts} ${baud:-9600} ${port} linux" >> /etc/inittab - fi - /sbin/telinit q - stat_done - fi -} - -case "$1" in - start) - do_locale_gen - 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 index edb8ea3..7a35acb 100644 --- a/configs/releng/root-image/etc/rc.d/functions.d/automated_script +++ b/configs/releng/root-image/etc/rc.d/functions.d/automated_script @@ -1,5 +1,3 @@ -. /etc/archiso/functions - automated_script () { script="$(kernel_cmdline script)" diff --git a/configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen b/configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen new file mode 100644 index 0000000..47ed79d --- /dev/null +++ b/configs/releng/root-image/etc/rc.d/functions.d/prepare_locale_gen @@ -0,0 +1,11 @@ +prepare_locale_gen () +{ + if [[ ${LOCALE} != "en_US.UTF-8" ]]; then + stat_busy "Generating locales..." + sed -i "s/#\(${LOCALE/[@.]*}\)/\1/" /etc/locale.gen + /usr/sbin/locale-gen > /dev/null + stat_done + fi +} + +add_hook sysinit_postmount prepare_locale_gen diff --git a/configs/releng/root-image/etc/rc.d/functions.d/setup_special_console b/configs/releng/root-image/etc/rc.d/functions.d/setup_special_console new file mode 100644 index 0000000..7badfe3 --- /dev/null +++ b/configs/releng/root-image/etc/rc.d/functions.d/setup_special_console @@ -0,0 +1,25 @@ +# If an alternate console was specified on the kernel command line, +# start agetty on it too. +setup_special_console() +{ + local cmdline_console + if cmdline_console=$(kernel_cmdline console); then + stat_busy "Starting agetty on console: ${cmdline_console}" + local port options baud rts + port=${cmdline_console%%,*} + options=${cmdline_console#${port}} + options=${options#,} + baud=${options%%[neo]*} + [[ ${options} == *r ]] && rts="-h" + if ! grep -q "^${port}" /etc/securetty; then + echo ${port} >> /etc/securetty + fi + if ! grep -q "^z0:" /etc/inittab; then + echo "z0:2345:respawn:/sbin/agetty -8 -s ${rts} ${baud:-9600} ${port} linux" >> /etc/inittab + fi + /sbin/telinit q + stat_done + fi +} + +add_hook sysinit_end setup_special_console -- cgit v1.2.3-70-g09d2