mirror of
https://github.com/linuxkit/linuxkit.git
synced 2025-10-04 06:01:32 +00:00
45 lines
878 B
Bash
Executable File
45 lines
878 B
Bash
Executable File
#!/bin/sh
|
|
|
|
setup_console() {
|
|
tty=${1%,*}
|
|
speed=${1#*,}
|
|
inittab="$2"
|
|
securetty="$3"
|
|
line=
|
|
term="linux"
|
|
[ "$speed" = "$1" ] && speed=115200
|
|
|
|
case "$tty" in
|
|
ttyS*|ttyAMA*|ttyUSB*|ttyMFD*)
|
|
line="-L"
|
|
term="vt100"
|
|
;;
|
|
tty0)
|
|
# skip current console
|
|
return 0
|
|
;;
|
|
esac
|
|
# skip consoles already in inittab
|
|
grep -q "^$tty:" "$inittab" && return
|
|
|
|
echo "$tty::once:cat /etc/issue" >> "$inittab"
|
|
echo "$tty::respawn:/sbin/getty -n -l /bin/sh $line $speed $tty $term" >> "$inittab"
|
|
if ! grep -q -w "$tty" "$securetty"; then
|
|
echo "$tty" >> "$securetty"
|
|
fi
|
|
}
|
|
|
|
/bin/mount -t tmpfs tmpfs /mnt
|
|
|
|
/bin/cp -a / /mnt 2>/dev/null
|
|
|
|
/bin/mount -t proc -o noexec,nosuid,nodev proc /proc
|
|
for opt in $(cat /proc/cmdline); do
|
|
case "$opt" in
|
|
console=*)
|
|
setup_console ${opt#console=} /mnt/etc/inittab /mnt/etc/securetty;;
|
|
esac
|
|
done
|
|
|
|
exec /bin/busybox switch_root /mnt /sbin/init
|