diff --git a/packages/initramfs/sysutils/busybox-initramfs/scripts/init b/packages/initramfs/sysutils/busybox-initramfs/scripts/init index b3748da48e..4b66716e0d 100755 --- a/packages/initramfs/sysutils/busybox-initramfs/scripts/init +++ b/packages/initramfs/sysutils/busybox-initramfs/scripts/init @@ -80,6 +80,11 @@ ;; disk=*) disk="${arg#*=}" + case $disk in + CIFS=*|SMB=*|ISCSI=*|NBD=*|NFS=*) + STORAGE_NETBOOT=yes + ;; + esac ;; textmode) INIT_ARGS="$INIT_ARGS --unit=textmode.target" @@ -615,6 +620,10 @@ if [ "$UPDATE_DISABLED" = "yes" ] ; then echo "" > /sysroot/dev/.update_disabled fi +# swap can not be used over nfs.(see scripts/mount-swap) + if [ "$STORAGE_NETBOOT" = "yes" ] ; then + echo "" > /sysroot/dev/.storage_netboot + fi # switch to new sysroot and start real init exec /bin/busybox switch_root /sysroot /lib/systemd/systemd $INIT_ARGS diff --git a/packages/sysutils/util-linux/scripts/mount-swap b/packages/sysutils/util-linux/scripts/mount-swap index 16c2996553..a603e8a086 100755 --- a/packages/sysutils/util-linux/scripts/mount-swap +++ b/packages/sysutils/util-linux/scripts/mount-swap @@ -20,11 +20,17 @@ ################################################################################ . /etc/swap.conf +. /etc/profile if [ -f /storage/.config/swap.conf ]; then . /storage/.config/swap.conf fi +if [ -e /dev/.storage_netboot ] ; then + logger -t Boot "### netbooting... swap disabled ###" + exit 0 +fi + SWAP=`blkid -t TYPE="swap" -o device` case $1 in