28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			28 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
/*
 | 
						|
 * run-init implementation for busybox
 | 
						|
 *
 | 
						|
 * Copyright (c) 2017 Denys Vlasenko <vda.linux@gmail.com>
 | 
						|
 *
 | 
						|
 * Licensed under GPLv2, see file LICENSE in this source tree.
 | 
						|
 */
 | 
						|
//config:config RUN_INIT
 | 
						|
//config:	bool "run-init (7.7 kb)"
 | 
						|
//config:	default y
 | 
						|
//config:	select PLATFORM_LINUX
 | 
						|
//config:	help
 | 
						|
//config:	The run-init utility is used from initramfs to select a new
 | 
						|
//config:	root device. Under initramfs, you have to use this instead of
 | 
						|
//config:	pivot_root.
 | 
						|
//config:
 | 
						|
//config:	Booting with initramfs extracts a gzipped cpio archive into rootfs
 | 
						|
//config:	(which is a variant of ramfs/tmpfs). Because rootfs can't be moved
 | 
						|
//config:	or unmounted, pivot_root will not work from initramfs. Instead,
 | 
						|
//config:	run-init deletes everything out of rootfs (including itself),
 | 
						|
//config:	does a mount --move that overmounts rootfs with the new root, and
 | 
						|
//config:	then execs the specified init program.
 | 
						|
//config:
 | 
						|
//config:	util-linux has a similar tool, switch-root.
 | 
						|
//config:	run-init differs by also having a "-d CAPS_TO_DROP" option.
 | 
						|
 | 
						|
/* applet and kbuild hooks are in switch_root.c */
 |