summaryrefslogtreecommitdiff
path: root/configs/releng/root-image/etc/rc.d/archiso
blob: cc930f66cef3191bdf53d56814432b834d892c0a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# 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