diff options
author | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2012-08-25 15:14:51 -0300 |
---|---|---|
committer | Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar> | 2012-08-25 15:14:51 -0300 |
commit | 6fae221c28cf677809f52dea7cecdd74406cc8ac (patch) | |
tree | 776ed1ff14a36ac72f8d472fb9bf6531e99707ce | |
parent | 0fdbf313415e28ebc96e1fb5da7577b996ab6aa1 (diff) | |
download | archiso32-6fae221c28cf677809f52dea7cecdd74406cc8ac.tar.xz |
[archiso] Always copytoram for NBD
Avoid issues on shutdown (and during normal usage if network settings changed)
Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-rw-r--r-- | Makefile | 2 | ||||
-rw-r--r-- | archiso/archiso_pxe_nbd | 6 | ||||
-rw-r--r-- | archiso/archiso_shutdown | 3 | ||||
-rw-r--r-- | archiso/hooks/archiso_pxe_nbd | 18 | ||||
-rw-r--r-- | archiso/install/archiso_pxe_nbd | 2 | ||||
-rwxr-xr-x | configs/releng/build.sh | 1 |
6 files changed, 5 insertions, 27 deletions
@@ -14,7 +14,6 @@ install-hooks: install -D -m 755 archiso/archiso_shutdown $(DESTDIR)/usr/lib/initcpio/archiso_shutdown install -D -m 644 archiso/hooks/archiso_shutdown $(DESTDIR)/usr/lib/initcpio/hooks/archiso_shutdown install -D -m 644 archiso/install/archiso_shutdown $(DESTDIR)/usr/lib/initcpio/install/archiso_shutdown - install -D -m 644 archiso/archiso_pxe_nbd $(DESTDIR)/usr/lib/initcpio/archiso_pxe_nbd install -D -m 644 archiso/hooks/archiso_pxe_common $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_common install -D -m 644 archiso/install/archiso_pxe_common $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_common install -D -m 644 archiso/hooks/archiso_pxe_nbd $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_nbd @@ -42,7 +41,6 @@ uninstall: rm -f $(DESTDIR)/usr/lib/initcpio/archiso_shutdown rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso_shutdown rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso_shutdown - rm -f $(DESTDIR)/usr/lib/initcpio/archiso_pxe_nbd rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_common rm -f $(DESTDIR)/usr/lib/initcpio/install/archiso_pxe_common rm -f $(DESTDIR)/usr/lib/initcpio/hooks/archiso_pxe_nbd diff --git a/archiso/archiso_pxe_nbd b/archiso/archiso_pxe_nbd deleted file mode 100644 index e6b9872..0000000 --- a/archiso/archiso_pxe_nbd +++ /dev/null @@ -1,6 +0,0 @@ -omit_kill_nbd_client() { - add_omit_pids $(< /run/archiso/nbd_client.pid) -} - -add_hook shutdown_prekillall omit_kill_nbd_client -add_hook single_prekillall omit_kill_nbd_client diff --git a/archiso/archiso_shutdown b/archiso/archiso_shutdown index 85cce59..41b3945 100644 --- a/archiso/archiso_shutdown +++ b/archiso/archiso_shutdown @@ -27,9 +27,6 @@ if [[ ! -d /oldrun/archiso/copytoram ]]; then else umount /oldrun/archiso/bootmnt fi - if [[ -f /oldrun/archiso/nbd_client.pid ]]; then - nbd-client -d /dev/nbd0 - fi fi # reboot / poweroff / halt, depending on the argument passed by init diff --git a/archiso/hooks/archiso_pxe_nbd b/archiso/hooks/archiso_pxe_nbd index 6147d06..a9f84d5 100644 --- a/archiso/hooks/archiso_pxe_nbd +++ b/archiso/hooks/archiso_pxe_nbd @@ -15,6 +15,7 @@ archiso_pxe_nbd_mount_handler () { # Module autoloading like with loop devices does not work, doing manually... modprobe nbd 2> /dev/null + msg ":: Waiting for boot device..." while ! poll_device /dev/nbd0 30; do echo "ERROR: boot device didn't show up after 30 seconds..." @@ -24,22 +25,13 @@ archiso_pxe_nbd_mount_handler () { done msg ":: Setup NBD from ${archiso_nbd_srv} at /dev/nbd0" - if [[ "${copytoram}" = "y" ]]; then - nbd-client ${archiso_nbd_srv} -N ${archiso_nbd_name} /dev/nbd0 - else - nbd-client ${archiso_nbd_srv} -N ${archiso_nbd_name} /dev/nbd0 -persist - fi + nbd-client ${archiso_nbd_srv} -N ${archiso_nbd_name} /dev/nbd0 + copytoram="y" archisodevice=/dev/nbd0 archiso_mount_handler ${newroot} - if [[ "${copytoram}" = "y" ]]; then - msg ":: Disconnect NBD from ${archiso_nbd_srv} at /dev/nbd0" - nbd-client -d /dev/nbd0 - else - mkdir -p /run/archiso - pidof nbd-client > /run/archiso/nbd_client.pid - cp /archiso_pxe_nbd ${newroot}/etc/rc.d/functions.d/ - fi + msg ":: Disconnect NBD from ${archiso_nbd_srv} at /dev/nbd0" + nbd-client -d /dev/nbd0 } diff --git a/archiso/install/archiso_pxe_nbd b/archiso/install/archiso_pxe_nbd index 8d9552a..47d98ce 100644 --- a/archiso/install/archiso_pxe_nbd +++ b/archiso/install/archiso_pxe_nbd @@ -6,8 +6,6 @@ build() { add_runscript add_binary nbd-client - - add_file /usr/lib/initcpio/archiso_pxe_nbd /archiso_pxe_nbd } help() { diff --git a/configs/releng/build.sh b/configs/releng/build.sh index 795f217..7aad14e 100755 --- a/configs/releng/build.sh +++ b/configs/releng/build.sh @@ -43,7 +43,6 @@ make_setup_mkinitcpio() { done cp /usr/lib/initcpio/install/archiso_kms ${work_dir}/root-image/usr/lib/initcpio/install cp /usr/lib/initcpio/archiso_shutdown ${work_dir}/root-image/usr/lib/initcpio - cp /usr/lib/initcpio/archiso_pxe_nbd ${work_dir}/root-image/usr/lib/initcpio cp ${script_path}/mkinitcpio.conf ${work_dir}/root-image/etc/mkinitcpio-archiso.conf : > ${work_dir}/build.${FUNCNAME} fi |