diff --git a/common/qubes_network.rules b/common/qubes_network.rules new file mode 100644 index 0000000..077c841 --- /dev/null +++ b/common/qubes_network.rules @@ -0,0 +1,2 @@ + +SUBSYSTEMS=="xen", KERNEL=="eth*", ACTION=="add", RUN+="/usr/lib/qubes/setup_ip" diff --git a/common/setup_ip b/common/setup_ip new file mode 100755 index 0000000..267d7ba --- /dev/null +++ b/common/setup_ip @@ -0,0 +1,12 @@ +#!/bin/sh + +ip=`/usr/bin/xenstore-read qubes_ip` +netmask=`/usr/bin/xenstore-read qubes_netmask` +gateway=`/usr/bin/xenstore-read qubes_gateway` +secondary_dns=`/usr/bin/xenstore-read qubes_secondary_dns` +if [ x$ip != x ]; then + /sbin/ifconfig $INTERFACE $ip netmask 255.255.255.255 up + /sbin/route add default dev $INTERFACE + echo "nameserver $gateway" > /etc/resolv.conf + echo "nameserver $secondary_dns" >> /etc/resolv.conf +fi diff --git a/rpm_spec/core-commonvm.spec b/rpm_spec/core-commonvm.spec index bd0a540..d4944b7 100644 --- a/rpm_spec/core-commonvm.spec +++ b/rpm_spec/core-commonvm.spec @@ -74,6 +74,10 @@ mkdir -p $RPM_BUILD_ROOT/usr/bin cp xenstore-watch $RPM_BUILD_ROOT/usr/bin mkdir -p $RPM_BUILD_ROOT/etc cp serial.conf $RPM_BUILD_ROOT/var/lib/qubes/ +mkdir -p $RPM_BUILD_ROOT/etc/udev/rules.d +cp qubes_network.rules $RPM_BUILD_ROOT/etc/udev/rules.d/ +mkdir -p $RPM_BUILD_ROOT/usr/lib/qubes/ +cp setup_ip $RPM_BUILD_ROOT/usr/lib/qubes/ %triggerin -- initscripts cp /var/lib/qubes/serial.conf /etc/init/serial.conf @@ -220,3 +224,5 @@ rm -rf $RPM_BUILD_ROOT /etc/pki/rpm-gpg/RPM-GPG-KEY-qubes* /sbin/qubes_serial_login /usr/bin/xenstore-watch +/etc/udev/rules.d/qubes_network.rules +/usr/lib/qubes/setup_ip