#!/bin/sh -e export PATH=/usr/sbin:/usr/bin:/sbin:/bin # shellcheck disable=SC2046 set -- $(cat /proc/cmdline) while [ $# -ge 1 ]; do case "$1" in root=nbd:*) arg=${1#*:} name=${arg#*:} host=${arg%:*} ;; esac shift done mkdir -p /proc /run /sys mount -t sysfs sysfs /sys mount -t proc proc /proc mount -t tmpfs tmpfs /run for path in /sys/class/net/*; do [ -e "${path}" ] || continue ip link set "${path##*/}" up done sleep 5 udhcpc -q @bd-client -N "${name}" -R -p "${host}" /dev/nbd0 mkdir -p /sysroot mount -o ro -t squashfs /dev/nbd0 /sysroot || nbd-client -c /dev/nbd0 cd /sysroot mount --move /proc /sysroot/proc mount --move /sys /sysroot/sys mount --move /dev /sysroot/dev mount --move /run /sysroot/run exec switch_root /sysroot /lib/systemd/systemd