Mail archive
alpine-devel

[alpine-devel] [PATCH] mkinitfs: init: enable the init= kernel command line argument

From: Jesse Young <jlyo_at_jlyo.org>
Date: Mon, 13 Aug 2018 13:55:24 -0500

---
 initramfs-init.in | 13 ++++++++-----
 1 file changed, 8 insertions(+), 5 deletions(-)
diff --git a/initramfs-init.in b/initramfs-init.in
index 8233af4..f7c2493 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
_at_@ -282,7 +282,7 @@ rtc_exists() {
 set -- $(cat /proc/cmdline)
 
 myopts="alpine_dev autodetect autoraid chart cryptroot cryptdm cryptheader cryptoffset
-	cryptdiscards cryptkey debug_init dma init_args keep_apk_new modules ovl_dev
+	cryptdiscards cryptkey debug_init dma init init_args keep_apk_new modules ovl_dev
 	pkgs quiet root_size root usbdelay ip alpine_repo apkovl alpine_start splash
 	blacklist overlaytmpfs rootfstype rootflags nbd resume s390x_net dasd ssh_key"
 
_at_@ -312,6 +312,9 @@ done
 # enable debugging if requested
 [ -n "$KOPT_debug_init" ] && set -x
 
+# set default values
+: ${KOPT_init:=/sbin/init}
+
 # pick first keymap if found
 for map in /etc/keymap/*; do
 	if [ -f "$map" ]; then
_at_@ -466,7 +469,7 @@ if [ -n "$KOPT_root" ]; then
 		fi
 	done
 	sync
-	exec /bin/busybox switch_root $sysroot $chart_init /sbin/init $KOPT_init_args
+	exec /bin/busybox switch_root $sysroot $chart_init "$KOPT_init" $KOPT_init_args
 	echo "initramfs emergency recovery shell launched"
 	exec /bin/busybox sh
 fi
_at_@ -725,9 +728,9 @@ if [ "$KOPT_chart" = yes ]; then
 	chart_init="/sbin/bootchartd start-rootfs"
 fi
 
-if [ ! -x $sysroot/sbin/init ]; then
+if [ ! -x "${sysroot}${KOPT_init}" ]; then
 	[ "$KOPT_splash" != "no" ] && echo exit > $sysroot/$splashfile
-	echo "/sbin/init not found in new root. Launching emergency recovery shell"
+	echo "$KOPT_init not found in new root. Launching emergency recovery shell"
 	echo "Type exit to continue boot."
 	/bin/busybox sh
 fi
_at_@ -743,7 +746,7 @@ sync
 
 [ "$KOPT_splash" = "init" ] && echo exit > $sysroot/$splashfile
 echo ""
-exec /bin/busybox switch_root $sysroot $chart_init /sbin/init $KOPT_init_args
+exec /bin/busybox switch_root $sysroot $chart_init "$KOPT_init" $KOPT_init_args
 
 [ "$KOPT_splash" != "no" ] && echo exit > $sysroot/$splashfile
 echo "initramfs emergency recovery shell launched"
-- 
2.18.0
---
Unsubscribe:  alpine-devel+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-devel+help_at_lists.alpinelinux.org
---
Received on Mon Aug 13 2018 - 13:55:24 GMT