diff options
Diffstat (limited to 'parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd')
-rw-r--r-- | parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd | 53 |
1 files changed, 0 insertions, 53 deletions
diff --git a/parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd b/parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd deleted file mode 100644 index b8c1e53..0000000 --- a/parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd +++ /dev/null @@ -1,53 +0,0 @@ -#!/bin/ash -# -# SPDX-License-Identifier: GPL-3.0-or-later - -run_earlyhook() { - # shellcheck disable=SC2154 - # defined via initcpio's parse_cmdline() - if [ -n "${ip}" ] && [ -n "${parabolaiso_nbd_srv}" ]; then - # Module autoloading like with loop devices does not work, doing manually... - modprobe nbd 2> /dev/null - fi -} - -run_hook() { - if [ -n "${ip}" ] && [ -n "${parabolaiso_nbd_srv}" ]; then - - parabolaiso_nbd_srv=$(eval echo "${parabolaiso_nbd_srv}") - [ -z "${parabolaiso_nbd_name}" ] && parabolaiso_nbd_name="parabolaiso" - - export mount_handler="parabolaiso_pxe_nbd_mount_handler" - fi -} - -parabolaiso_pxe_nbd_mount_handler () { - newroot="${1}" - - msg ":: Waiting for boot device..." - while ! poll_device /dev/nbd0 30; do - echo "ERROR: boot device didn't show up after 30 seconds..." - echo " Falling back to interactive prompt" - echo " You can try to fix the problem manually, log out when you are finished" - launch_interactive_shell - done - - msg ":: Setup NBD from ${parabolaiso_nbd_srv} at /dev/nbd0" - if [ "${copytoram}" != "n" ]; then - nbd-client "${parabolaiso_nbd_srv}" -N "${parabolaiso_nbd_name}" /dev/nbd0 - copytoram="y" - else - nbd-client "${parabolaiso_nbd_srv}" -N "${parabolaiso_nbd_name}" -systemd-mark -persist /dev/nbd0 - fi - - export parabolaisodevice=/dev/nbd0 - - parabolaiso_mount_handler "${newroot}" - - if [ "${copytoram}" = "y" ]; then - msg ":: Disconnect NBD from ${parabolaiso_nbd_srv} at /dev/nbd0" - nbd-client -d /dev/nbd0 - fi -} - -# vim: set ft=sh: |