#!/bin/sh # vim: set sw=4 ts=4 sts=4 et : bail() { exec /bin/sh < /dev/console > /dev/console 2> /dev/console } # XXX Why doesn't LABEL= work here? root=/dev/nvme0n1p2 mkdir -p /boot /dev /run /sysroot || bail mount -o size=20%,nr_inodes=819200,mode=755,inode64 -t tmpfs tmpfs /run || bail mount -t devtmpfs devtmpfs /dev || bail mount -t proc proc /proc || bail mount -o subvol=boot -t btrfs ${root} /boot || bail mount -o ro,loop -t squashfs /boot/rootfs.squashfs /sysroot || bail mkdir -p /run/etc || bail mount -o subvol=etc -t btrfs ${root} /run/etc || bail mount -o lowerdir=/sysroot/etc,upperdir=/run/etc/rw,workdir=/run/etc/.work \ -t overlay overlay /sysroot/etc || bail mount --move /boot /sysroot/boot || bail mount --move /run /sysroot/run || bail exec switch_root /sysroot /lib/systemd/systemd || bail