From fffe690a7361b8e36bf67db1a1ad1dc524489e67 Mon Sep 17 00:00:00 2001 From: Gerardo Exequiel Pozzi Date: Wed, 17 Mar 2010 23:23:13 -0300 Subject: [archiso] Rename nbd hook to archiso_nbd Signed-off-by: Gerardo Exequiel Pozzi --- README | 2 ++ archiso/Makefile | 8 ++--- archiso/hooks/archiso_pxe_nbd | 63 ++++++++++++++++++++++++++++++++++++ archiso/hooks/nbd | 63 ------------------------------------ archiso/install/archiso_pxe_nbd | 20 ++++++++++++ archiso/install/nbd | 20 ------------ configs/syslinux-iso/mkinitcpio.conf | 2 +- 7 files changed, 90 insertions(+), 88 deletions(-) create mode 100644 archiso/hooks/archiso_pxe_nbd delete mode 100644 archiso/hooks/nbd create mode 100644 archiso/install/archiso_pxe_nbd delete mode 100644 archiso/install/nbd diff --git a/README b/README index 79e50ab..77373d0 100644 --- a/README +++ b/README @@ -21,6 +21,8 @@ First off, Archiso has some dependencies: - aufs2-util (only needed in target media) - devtools for mkarchroot - syslinux + - nbd + - mkinitcpio-nfs-utils Archiso itself can be installed with the handy dandy included Makefile, and the incantation 'make install'. diff --git a/archiso/Makefile b/archiso/Makefile index ba887e6..8d72a18 100644 --- a/archiso/Makefile +++ b/archiso/Makefile @@ -8,8 +8,8 @@ install: all # hooks/install are needed by mkinitcpio install -D -m 644 hooks/archiso $(DESTDIR)/lib/initcpio/hooks/archiso install -D -m 644 install/archiso $(DESTDIR)/lib/initcpio/install/archiso - install -D -m 644 hooks/nbd $(DESTDIR)/lib/initcpio/hooks/nbd - install -D -m 644 install/nbd $(DESTDIR)/lib/initcpio/install/nbd + install -D -m 644 hooks/archiso_pxe_nbd $(DESTDIR)/lib/initcpio/hooks/archiso_pxe_nbd + install -D -m 644 install/archiso_pxe_nbd $(DESTDIR)/lib/initcpio/install/archiso_pxe_nbd # install docs and examples install -d -m 644 $(DESTDIR)/usr/share/archiso/ cp -r ../configs $(DESTDIR)/usr/share/archiso/configs @@ -20,7 +20,7 @@ uninstall: rm -f $(DESTDIR)/usr/bin/testiso rm -f $(DESTDIR)/lib/initcpio/hooks/archiso rm -f $(DESTDIR)/lib/initcpio/install/archiso - rm -f $(DESTDIR)/lib/initcpio/hooks/nbd - rm -f $(DESTDIR)/lib/initcpio/install/nbd + rm -f $(DESTDIR)/lib/initcpio/hooks/archiso_pxe_nbd + rm -f $(DESTDIR)/lib/initcpio/install/archiso_pxe_nbd rm -rf $(DESTDIR)/usr/share/archiso/ rm -rf $(DESTDIR)/usr/share/doc/archiso/ diff --git a/archiso/hooks/archiso_pxe_nbd b/archiso/hooks/archiso_pxe_nbd new file mode 100644 index 0000000..9df5a95 --- /dev/null +++ b/archiso/hooks/archiso_pxe_nbd @@ -0,0 +1,63 @@ +# vim: set ft=sh: +run_hook () +{ + local line i address netmask gateway dns0 dns1 rootserver rootpath filename + + : > /ip_opts + + if [ -n "${ip}" ]; then + # setup network and save some values + ipconfig "ip=${ip}" | while read line; do + # echo ":: ${line}" + if [ "${line#"IP-Config:"}" != "${line}" ]; then + continue + fi + line="$(echo ${line} | sed -e 's/ :/:/g;s/: /=/g')" + for i in ${line}; do + case "${i}" in + address=*) + echo "${i}" >> /ip_opts + ;; + netmask=*) + echo "${i}" >> /ip_opts + ;; + gateway=*) + echo "${i}" >> /ip_opts + ;; + dns0=*) + echo "${i}" >> /ip_opts + ;; + dns1=*) + echo "${i}" >> /ip_opts + ;; + rootserver=*) + echo "${i}" >> /ip_opts + ;; + rootpath=*) + echo "${i}" >> /ip_opts + ;; + esac + done + done + + . /ip_opts + + echo "IP-Config: ${address}/${netmask}" + echo "IP-Config: gw: ${gateway} dns0: ${dns0} dns1: ${dns1}" + + modprobe nbd 2> /dev/null + + msg ":: Waiting for boot device..." + while ! poll_device /dev/nbd0 10; do + echo "ERROR: boot device didn't show up after 10 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 ${rootserver}:9040 at /dev/nbd0 ..." + nbd-client ${rootserver} 9040 /dev/nbd0 -persist + + archisodevice=/dev/nbd0 + fi +} diff --git a/archiso/hooks/nbd b/archiso/hooks/nbd deleted file mode 100644 index 9df5a95..0000000 --- a/archiso/hooks/nbd +++ /dev/null @@ -1,63 +0,0 @@ -# vim: set ft=sh: -run_hook () -{ - local line i address netmask gateway dns0 dns1 rootserver rootpath filename - - : > /ip_opts - - if [ -n "${ip}" ]; then - # setup network and save some values - ipconfig "ip=${ip}" | while read line; do - # echo ":: ${line}" - if [ "${line#"IP-Config:"}" != "${line}" ]; then - continue - fi - line="$(echo ${line} | sed -e 's/ :/:/g;s/: /=/g')" - for i in ${line}; do - case "${i}" in - address=*) - echo "${i}" >> /ip_opts - ;; - netmask=*) - echo "${i}" >> /ip_opts - ;; - gateway=*) - echo "${i}" >> /ip_opts - ;; - dns0=*) - echo "${i}" >> /ip_opts - ;; - dns1=*) - echo "${i}" >> /ip_opts - ;; - rootserver=*) - echo "${i}" >> /ip_opts - ;; - rootpath=*) - echo "${i}" >> /ip_opts - ;; - esac - done - done - - . /ip_opts - - echo "IP-Config: ${address}/${netmask}" - echo "IP-Config: gw: ${gateway} dns0: ${dns0} dns1: ${dns1}" - - modprobe nbd 2> /dev/null - - msg ":: Waiting for boot device..." - while ! poll_device /dev/nbd0 10; do - echo "ERROR: boot device didn't show up after 10 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 ${rootserver}:9040 at /dev/nbd0 ..." - nbd-client ${rootserver} 9040 /dev/nbd0 -persist - - archisodevice=/dev/nbd0 - fi -} diff --git a/archiso/install/archiso_pxe_nbd b/archiso/install/archiso_pxe_nbd new file mode 100644 index 0000000..4bebd15 --- /dev/null +++ b/archiso/install/archiso_pxe_nbd @@ -0,0 +1,20 @@ +# vim: set ft=sh: + +install () +{ + MODULES="nbd $(checked_modules "/drivers/net/") " + + BINARIES="" + FILES="" + SCRIPT="archiso_pxe_nbd" + + add_binary "/usr/sbin/nbd-client" "/bin/nbd-client" + add_binary "/lib/initcpio/ipconfig" "/bin/ipconfig" +} + +help () +{ +cat<