mirror of
https://github.com/nchevsky/systemrescue-zfs.git
synced 2025-12-06 07:12:01 +01:00
61 lines
2.3 KiB
Diff
61 lines
2.3 KiB
Diff
diff --git a/archiso/initcpio/hooks/archiso_pxe_common b/archiso/initcpio/hooks/archiso_pxe_common
|
|
index 2380ca3..fa2a6a0 100644
|
|
--- a/archiso/initcpio/hooks/archiso_pxe_common
|
|
+++ b/archiso/initcpio/hooks/archiso_pxe_common
|
|
@@ -3,6 +3,8 @@
|
|
run_hook () {
|
|
# Do *not* declare 'bootif_dev' local! We need it in run_latehook().
|
|
local i net_mac bootif_mac
|
|
+ local ifdevlist
|
|
+ local ipcfgres
|
|
# These variables will be parsed from /tmp/net-*.conf generated by ipconfig
|
|
local DEVICE
|
|
local IPV4ADDR IPV4BROADCAST IPV4NETMASK IPV4GATEWAY IPV4DNS0 IPV4DNS1
|
|
@@ -19,18 +21,40 @@ run_hook () {
|
|
if [[ "${bootif_mac}" == "${net_mac}" ]]; then
|
|
bootif_dev=${i#/sys/class/net/}
|
|
bootif_dev=${bootif_dev%/address}
|
|
+ ifdevlist="${bootif_dev}"
|
|
break
|
|
fi
|
|
done
|
|
- if [[ "${ip}" == "dhcp" ]]; then
|
|
- ip=":::::${bootif_dev}:dhcp"
|
|
- else
|
|
- ip="${ip}::${bootif_dev}"
|
|
- fi
|
|
+ else
|
|
+ for i in /sys/class/net/*; do
|
|
+ bootif_dev=${i#/sys/class/net/}
|
|
+ if [[ "${bootif_dev}" != 'lo' ]]; then
|
|
+ ifdevlist="${ifdevlist} ${bootif_dev}"
|
|
+ fi
|
|
+ done
|
|
fi
|
|
|
|
+ for bootif_dev in ${ifdevlist}
|
|
+ do
|
|
+ if [[ "${ip}" == "dhcp" ]]; then
|
|
+ ipopt=":::::${bootif_dev}:dhcp"
|
|
+ else
|
|
+ ipopt="${ip}::${bootif_dev}"
|
|
+ fi
|
|
+
|
|
+ # setup network and save some values
|
|
+ echo "Attempting to configure network interface ${bootif_dev} ..."
|
|
+ ipconfig -t 20 "ip=${ipopt}"
|
|
+ ipcfgres=$?
|
|
+ if [[ ${ipcfgres} -eq 0 ]]; then
|
|
+ echo "SUCCESS: Network interface ${bootif_dev} has been successfully configured"
|
|
+ sleep 1
|
|
+ break
|
|
+ fi
|
|
+ done
|
|
+
|
|
# setup network and save some values
|
|
- if ! ipconfig -t 20 "ip=${ip}"; then
|
|
+ if [[ ${ipcfgres} -ne 0 ]]; 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"
|