X-Git-Url: https://iankelling.org/git/?a=blobdiff_plain;f=fai%2Fconfig%2Fscripts%2FDEBIAN%2F30-interface;h=12672f1ff4f7f18781c5e94e8038abb054383fe9;hb=4c0b3d508093cd1561f6ae887f154f06383b67d3;hp=c3fbeaabe9fcecd5d80c0c148399fb57f7b2d557;hpb=3bd65f0ca635f1349626c2393a4dd8a50df64f54;p=automated-distro-installer diff --git a/fai/config/scripts/DEBIAN/30-interface b/fai/config/scripts/DEBIAN/30-interface index c3fbeaa..12672f1 100755 --- a/fai/config/scripts/DEBIAN/30-interface +++ b/fai/config/scripts/DEBIAN/30-interface @@ -1,26 +1,46 @@ #! /bin/bash +# modified from upstream fai example error=0; trap 'error=$(($?>$error?$?:$error))' ERR # save maximum error code -if ifclass DHCPC && [ $FAI_ACTION = "install" ] +if ifclass DHCPC && [ $FAI_ACTION = "install" -o $FAI_ACTION = "dirinstall" ] then - cat > $target/etc/network/interfaces <<-EOF - # generated by FAI - auto lo $NIC1 - iface lo inet loopback - iface $NIC1 inet dhcp + if ifclass VM; then + cat > $target/etc/network/interfaces <<-EOF + # installed by FAI + auto lo $NIC1 + iface lo inet loopback + iface $NIC1 inet dhcp EOF -elif [ $FAI_ACTION = "install" ] + else + cat > $target/etc/network/interfaces <<-EOF + # generated by FAI + auto lo br0 + iface lo inet loopback + iface $NIC1 inet manual + # make a bridge by default so we can have bridged vms. + # Some example I read had stp on, but i don't need stp, + # and it causes a vm to fail pxe boot, presumably unless + # you add some delay. + # http://wiki.libvirt.org/page/PXE_boot_%28or_dhcp%29_on_guest_failed + iface br0 inet dhcp + bridge_ports $NIC1 + bridge_stp off + bridge_maxwait 0 +EOF + fi +elif [ $FAI_ACTION = "install" -o $FAI_ACTION = "dirinstall" ] then - [ -n "$IPADDR" ] && cat > $target/etc/network/interfaces <<-EOF - # generated by FAI - auto lo $NIC1 - iface lo inet loopback - iface $NIC1 inet static - address $IPADDR - netmask $NETMASK - broadcast $BROADCAST - gateway $GATEWAYS + [ -n "$IPADDR" ] && cat > $target/etc/network/interfaces <<-EOF + # generated by FAI + auto lo $NIC1 + iface lo inet loopback + iface $NIC1 inet static + address $IPADDR + netmask $NETMASK + broadcast $BROADCAST + gateway $GATEWAYS + hwaddress ether $(cat /sys/class/net/$NIC1/address) EOF [ -n "$NETWORK" ] && echo "localnet $NETWORK" > $target/etc/networks if [ ! -L $target/etc/resolv.conf -a -e /etc/resolv.conf ]; then