summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-11-15 22:28:53 -0300
committerGerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>2011-11-16 16:37:04 -0300
commitda813e5b9ded288764708b651b24a8be08cd9629 (patch)
tree97e104b479ad2f4a6320617168bd462cf21bdcc6
parent7ab83b857125c46a1a891ea62c9610345ff77e2a (diff)
downloadarchiso32-da813e5b9ded288764708b651b24a8be08cd9629.tar.xz
[hooks/archiso_pxe_nbd] Refactor, remove sed usage.
* ipconfig cmd writes a file in /tmp that is ready for direct evaluation. We can use this instead of parsing the output, to do this some variable renames are needed. Signed-off-by: Gerardo Exequiel Pozzi <vmlinuz386@yahoo.com.ar>
-rw-r--r--archiso/hooks/archiso_pxe_nbd50
-rw-r--r--archiso/install/archiso_pxe_nbd2
2 files changed, 12 insertions, 40 deletions
diff --git a/archiso/hooks/archiso_pxe_nbd b/archiso/hooks/archiso_pxe_nbd
index cdf4392..be3db28 100644
--- a/archiso/hooks/archiso_pxe_nbd
+++ b/archiso/hooks/archiso_pxe_nbd
@@ -1,8 +1,12 @@
# vim: set ft=sh:
run_hook () {
- local line i net_mac bootif_mac bootif_dev address netmask gateway dns0 dns1 rootserver rootpath filename
-
- : > /ip_opts
+ local line i net_mac bootif_mac bootif_dev
+ # These variables will be parsed from /tmp/net-*.conf generated by ipconfig
+ local DEVICE
+ local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1
+ local HOSTNAME DNSDOMAIN NISDOMAIN ROOTSERVER ROOTPATH
+ local filename
+ # /tmp/net-*.conf
if [ -n "${ip}" ]; then
if [ -n "${BOOTIF}" ]; then
@@ -20,45 +24,11 @@ run_hook () {
fi
# 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
+ ipconfig "ip=${ip}"
- echo "IP-Config: ${address}/${netmask}"
- echo "IP-Config: gw: ${gateway} dns0: ${dns0} dns1: ${dns1}"
+ . /tmp/net-*.conf
- nbdserver=${rootserver}
+ nbdserver=${ROOTSERVER}
[[ -z "${archiso_nbd_name}" ]] && archiso_nbd_name="archiso"
diff --git a/archiso/install/archiso_pxe_nbd b/archiso/install/archiso_pxe_nbd
index 69a12ce..c26648c 100644
--- a/archiso/install/archiso_pxe_nbd
+++ b/archiso/install/archiso_pxe_nbd
@@ -12,6 +12,8 @@ build ()
FILES=""
SCRIPT="archiso_pxe_nbd"
+ add_dir /tmp
+
add_binary "/usr/sbin/nbd-client" "/bin/nbd-client"
add_binary "/lib/initcpio/ipconfig" "/bin/ipconfig"