aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesse Young <jlyo@jlyo.org>2018-08-13 13:55:24 -0500
committerNatanael Copa <ncopa@alpinelinux.org>2019-01-03 13:22:04 +0000
commit503c66dd581e3fcafbfe97876a99d5a8ec41a9d5 (patch)
tree2fa9d1447b5aaa72939968dbf7237f35404f3b8f
parent7b65037dcb1c50b2727a0a2678f9ac99407be918 (diff)
downloadmkinitfs-503c66dd581e3fcafbfe97876a99d5a8ec41a9d5.tar.bz2
mkinitfs-503c66dd581e3fcafbfe97876a99d5a8ec41a9d5.tar.xz
mkinitfs: init: enable the init= kernel command line argument
-rwxr-xr-xinitramfs-init.in13
1 files changed, 8 insertions, 5 deletions
diff --git a/initramfs-init.in b/initramfs-init.in
index 538f286..69f917e 100755
--- a/initramfs-init.in
+++ b/initramfs-init.in
@@ -312,7 +312,7 @@ mount -t tmpfs -o nodev,nosuid,noexec shm /dev/shm
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
BOOTIF"
@@ -339,6 +339,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
@@ -486,7 +489,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
@@ -749,9 +752,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
@@ -767,7 +770,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"