mirror of
				https://github.com/linuxkit/linuxkit.git
				synced 2025-10-31 13:41:19 +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
 |