index : archiso32 | |
Archlinux32 iso tools | gitolite user |
summaryrefslogtreecommitdiff |
-rw-r--r-- | archiso/initcpio/hooks/archiso_pxe_common | 57 |
diff --git a/archiso/initcpio/hooks/archiso_pxe_common b/archiso/initcpio/hooks/archiso_pxe_common index 2380ca3..e31903e 100644 --- a/archiso/initcpio/hooks/archiso_pxe_common +++ b/archiso/initcpio/hooks/archiso_pxe_common @@ -1,55 +1,55 @@ -# vim: set ft=sh: +#!/bin/ash run_hook () { # Do *not* declare 'bootif_dev' local! We need it in run_latehook(). local i net_mac bootif_mac + local DNSDOMAIN HOSTNAME IPV4DNS0 IPV4DNS1 ROOTSERVER # 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 + # shellcheck disable=SC2034 + local DEVICE IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY NISDOMAIN ROOTPATH filename - if [[ -n "${ip}" ]]; then - if [[ -n "${BOOTIF}" ]]; then - bootif_mac=${BOOTIF#01-} - bootif_mac=${bootif_mac//-/:} + if [ -n "${ip}" ]; then + if [ -n "${BOOTIF}" ]; then + bootif_mac="${BOOTIF#01-}" + # shellcheck disable=SC2169 # ash supports bash-like string replacment + bootif_mac="${bootif_mac//-/:}" for i in /sys/class/net/*/address; do - read net_mac < ${i} - if [[ "${bootif_mac}" == "${net_mac}" ]]; then + read -r net_mac < "${i}" + if [ "${bootif_mac}" = "${net_mac}" ]; then bootif_dev=${i#/sys/class/net/} bootif_dev=${bootif_dev%/address} break fi done - if [[ "${ip}" == "dhcp" ]]; then + if [ "${ip}" = "dhcp" ]; then ip=":::::${bootif_dev}:dhcp" - else + else ip="${ip}::${bootif_dev}" fi fi # setup network and save some values if ! ipconfig -t 20 "ip=${ip}"; then - echo "ERROR; Failed to configure network" - echo " Falling back to interactive prompt" - echo " You can try to fix the problem manually, log out when you are finished" - launch_interactive_shell + echo "ERROR; Failed to configure network" + echo " Falling back to interactive prompt" + echo " You can try to fix the problem manually, log out when you are finished" + launch_interactive_shell fi + # shellcheck disable=SC1090 # ipconfig generates these files . /tmp/net-*.conf - pxeserver=${ROOTSERVER} + export pxeserver="${ROOTSERVER}" # setup DNS resolver - if [[ "${IPV4DNS0}" != "0.0.0.0" ]]; then + if [ "${IPV4DNS0}" != "0.0.0.0" ]; then echo "# added by archiso_pxe_common hook" > /etc/resolv.conf echo "nameserver ${IPV4DNS0}" >> /etc/resolv.conf fi - if [[ "${IPV4DNS1}" != "0.0.0.0" ]]; then + if [ "${IPV4DNS1}" != "0.0.0.0" ]; then echo "nameserver ${IPV4DNS1}" >> /etc/resolv.conf fi - if [[ -n "${DNSDOMAIN}" ]]; then + if [ -n "${DNSDOMAIN}" ]; then echo "search ${DNSDOMAIN}" >> /etc/resolv.conf echo "domain ${DNSDOMAIN}" >> /etc/resolv.conf fi @@ -57,16 +57,19 @@ run_hook () { } run_latehook () { - if [[ -n "${ip}" ]]; then - [[ -z "${copy_resolvconf}" ]] && copy_resolvconf="y" + if [ -n "${ip}" ]; then + [ -z "${copy_resolvconf}" ] && copy_resolvconf="y" - if [[ "${copytoram}" == "y" ]]; then - if [[ -n "${bootif_dev}" ]]; then + # shellcheck disable=SC2154 # defined via initcpio's parse_cmdline() + if [ "${copytoram}" = "y" ]; then + if [ -n "${bootif_dev}" ]; then ip addr flush dev "${bootif_dev}" ip link set "${bootif_dev}" down fi - elif [[ "${copy_resolvconf}" != "n" && -f /etc/resolv.conf ]]; then + elif [ "${copy_resolvconf}" != "n" ] && [ -f /etc/resolv.conf ]; then cp /etc/resolv.conf /new_root/etc/resolv.conf fi fi } + +# vim: set ft=sh: |