66 lines
1.2 KiB
Bash
Executable File
66 lines
1.2 KiB
Bash
Executable File
#!/bin/sh
|
|
|
|
mount -t proc proc /proc
|
|
mount -t sysfs sysfs /sys
|
|
|
|
/bin/busybox --install -s
|
|
|
|
mdev -s
|
|
|
|
modprobe snd-pcsp
|
|
|
|
# /proc/cmdline parser (from Gentoo Wiki)
|
|
cmdline() {
|
|
local value
|
|
value=" $(cat /proc/cmdline) "
|
|
value="${value##* $1=}"
|
|
value="${value%% *}"
|
|
[ "$value" != "" ] && echo "$value"
|
|
}
|
|
|
|
# Get some command line options
|
|
USER_LOGIN=$(cmdline adlin.login)
|
|
USER_PKEY=$(cmdline adlin.key)
|
|
|
|
# Define hostname
|
|
hostname adlin-${USER_LOGIN}
|
|
|
|
# Launch some TTYs
|
|
for i in `seq 2 4`
|
|
do
|
|
while true
|
|
do
|
|
/usr/bin/setsid /sbin/agetty -l /sbin/fakelogin 38400 "tty${i}" linux
|
|
done &
|
|
done
|
|
|
|
# Hide us!
|
|
/bin/rm -f /init /linuxrc
|
|
|
|
# Randomize time at boot
|
|
/bin/date -s 197001010101 > /dev/null
|
|
/sbin/sysctl -w net.ipv4.ip_default_ttl=4 > /dev/null
|
|
|
|
# Launch some daemons
|
|
/usr/bin/setsid /usr/sbin/crond > /dev/null &
|
|
|
|
# Launch requested init
|
|
if grep init= /proc/cmdline > /dev/null 2> /dev/null
|
|
then
|
|
INIT=$(cmdline init)
|
|
[ -z "${INIT}" ]
|
|
|
|
while true
|
|
do
|
|
sleep $((10 + $RANDOM % 49))
|
|
beep -f 1000 -r 2 -n -r 5 -l 10 --new
|
|
done &
|
|
|
|
exec /usr/bin/setsid sh -c "exec '${INIT}' </dev/tty1 >/dev/tty1 2>&1"
|
|
else
|
|
while true
|
|
do
|
|
/usr/bin/setsid /sbin/agetty -l /sbin/fakelogin 38400 tty1 linux
|
|
done
|
|
fi
|