diff options
Diffstat (limited to 'parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd')
-rw-r--r-- | parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd b/parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd deleted file mode 100644 index 1991f80..0000000 --- a/parabolaiso/initcpio/hooks/parabolaiso_pxe_nbd +++ /dev/null @@ -1,47 +0,0 @@ -# vim: set ft=sh: - -run_earlyhook() { - 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" - - 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 - - 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 -} |