summaryrefslogtreecommitdiff
path: root/scripts/live-bottom/25configure_init
blob: 12749900d1fa953e8742957b467095e07972cf68 (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
46
47
48
49
50
51
52
53
54
55
56
57
58
#!/bin/sh

PREREQ=""
DESCRIPTION="Setting up init..."

. /scripts/live-functions

prereqs()
{
       echo "$PREREQ"
}

case $1 in
# get pre-requisites
prereqs)
       prereqs
       exit 0
       ;;
esac

log_begin_msg "$DESCRIPTION"

# Arrange for shells on virtual consoles, rather than login prompts

if [ -n "$USERNAME" ]; then
    if [ -f /root/etc/inittab ]; then
        sed -i -e "s|^\([^:]*:[^:]*:[^:]*\):.*getty.*\<\(tty[0-9]*\).*$|\1:/bin/login -f $USERNAME </dev/\2 >/dev/\2 2>\&1|" /root/etc/inittab
    fi
    if [ "/root/etc/event.d/tty*" != "$(echo /root/etc/event.d/tty*)" ]; then
        for f in /root/etc/event.d/tty*; do
            sed -i -e "s|^exec.*|exec /bin/login -f $USERNAME </dev/$(basename $f) > /dev/$(basename $f) 2>\&1|" $f
        done
    fi
fi

# This has the nice side effect of the cron.{daily,weekly,monthly} jobs in
# /etc/crontab remaining disabled, yet also not run by anacron
if [ -x /root/etc/init.d/anacron ]; then
    for f in /root/etc/rc?.d/S??anacron; do
        mv ${f} ${f%/*}/K00anacron
    done
fi

# No point, really
rm -f /root/etc/rc?.d/[SK]??postfix

# Avoid clobbering the user's clock
rm -f /root/etc/rc?.d/K??hwclock.sh

# Disable readahead since it doesn't play well with squashfs + unionfs
# use chmod instead of mv to not trigger unionfs bugs.
if [ -e /root/sbin/readahead-list ]; then
    chmod -x /root/sbin/readahead-list
fi

log_end_msg

exit 0