Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2012-08-25 15:14:51 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2012-08-25 15:14:51 -0300
commitcce328b6f50b7503f787f6a11ece6b0c99318420 (patch)
tree0a68f73d5682f0a5f892b00c7666d2bd7e29e870
parentb6cafc5588f5b7cdd9828b6583ff07c5d093aded (diff)
[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--Makefile2
-rw-r--r--archiso/archiso_pxe_nbd6
-rw-r--r--archiso/archiso_shutdown3
-rw-r--r--archiso/hooks/archiso_pxe_nbd18
-rw-r--r--archiso/install/archiso_pxe_nbd2
5 files changed, 5 insertions, 26 deletions
diff --git a/Makefile b/Makefile
index 309f890..cb5ec1d 100644
--- a/Makefile
+++ b/Makefile
@@ -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() {