Initial commit
This commit is contained in:
40
initramfs/overlay/sbin/init
Executable file
40
initramfs/overlay/sbin/init
Executable file
@@ -0,0 +1,40 @@
|
||||
#!/bin/sh -e
|
||||
|
||||
export PATH=/usr/sbin:/usr/bin:/sbin:/bin
|
||||
|
||||
mkdir -p /proc /run /sys
|
||||
mount -t sysfs sysfs /sys
|
||||
mount -t proc proc /proc
|
||||
mount -t tmpfs tmpfs /run
|
||||
|
||||
# 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
|
||||
|
||||
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
|
||||
Reference in New Issue
Block a user