manjaro-tools/initcpio/hooks/miso_pxe_common
artoo 42e0735b77 prepare 0.15.1 (#261)
* improve btrfs handling devtools patches

* buildios: drop ck on openrc

* data: update base-devel-udev

* util-iso-image: configure live logind on openrc too

* util-iso-image: fix logind cof path on openrc

* util-mount: always bind mount /etc/resolve.conf in chroot

* util: create empty /etc/resolv.conf on minimal requirement for pacman

* util: revert last 2 commits, default mirrorliust is now always generated

* util-iso-image: simplify logind config

* data: rm workaround from mlinitcpio.conf

* data: reenable workaround

* Unify grub (#262)

* initial commit testing unified grub

* buildiso: update to working grub version

* data: remove grub; move to own repo

* buildiso: adopt new grub-theme path

* clean up makefile

* buildiso: rm pxe_boot switch; always enabled now

* data: rm memdisk hook from initcpio

* util-iso-boot: clean up grub code

* initcpio_ back pxe hook arch patch

* buildiso:
* always clean entire chroot profile on -c
* tweak kernels.cfg

* util-iso-boot: fix efiboot mount path

* util-iso-boot: some corrections to efi.img

* buildiso: improve grub configuration

* util-iso-boot: add mhwd args in configure_grub()

* util-iso-boot: fix typo in mhwd args

* util-iso-boot: display proper grub image name for efi image
2017-03-26 18:54:45 +02:00

72 lines
2.4 KiB
Bash

# vim: set ft=sh:
run_hook () {
# Do *not* declare 'bootif_dev' local! We need it in run_latehook().
local i net_mac bootif_mac
# 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
bootif_mac=${BOOTIF#01-}
bootif_mac=${bootif_mac//-/:}
for i in /sys/class/net/*/address; do
read 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
ip=":::::${bootif_dev}:dhcp"
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
fi
. /tmp/net-*.conf
pxeserver=${ROOTSERVER}
# setup DNS resolver
if [[ "${IPV4DNS0}" != "0.0.0.0" ]]; then
echo "# added by miso_pxe_common hook" > /etc/resolv.conf
echo "nameserver ${IPV4DNS0}" >> /etc/resolv.conf
fi
if [[ "${IPV4DNS1}" != "0.0.0.0" ]]; then
echo "nameserver ${IPV4DNS1}" >> /etc/resolv.conf
fi
if [[ -n "${DNSDOMAIN}" ]]; then
echo "search ${DNSDOMAIN}" >> /etc/resolv.conf
echo "domain ${DNSDOMAIN}" >> /etc/resolv.conf
fi
fi
}
run_latehook () {
if [[ -n "${ip}" ]]; then
[[ -z "${copy_resolvconf}" ]] && copy_resolvconf="y"
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
cp /etc/resolv.conf /new_root/etc/resolv.conf
fi
fi
}