mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-11-04 13:22:13 +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
 |