X-Git-Url: https://git.siccegge.de//index.cgi?p=forks%2Fvmdebootstrap.git;a=blobdiff_plain;f=vmdebootstrap;h=51c2674f5d37c914a749a3a923e0cb2c53e6e83d;hp=3cd526d81a261865a255ee01ff7b3544b713b463;hb=a60411308e1ceae7dd385fcaa65225d2123a07e1;hpb=bdc4a21b04cb4abace81a2a54d240945b69a50cb diff --git a/vmdebootstrap b/vmdebootstrap index 3cd526d..51c2674 100755 --- a/vmdebootstrap +++ b/vmdebootstrap @@ -784,6 +784,17 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth else: logging.debug('not removing non-existent %s', pathname) + def mask_udev_predictable_rules(self, rootdir): + """ + This can be reset later but to get networking using immediately + on boot, the interface we're going to use must be kno + http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames/ + """ + self.message('Disabling systemd predictable interface names') + udev_path = os.path.join( + 'etc', 'udev', 'rules.d', '80-net-setup-link.rules') + self.runcmd(['chroot', rootdir, 'ln', '-s', '/dev/null', udev_path]) + def setup_networking(self, rootdir): self.message('Setting up networking') ifc_file = os.path.join(rootdir, 'etc', 'network', 'interfaces') @@ -808,6 +819,8 @@ class VmDebootstrap(cliapp.Application): # pylint: disable=too-many-public-meth eth.write('\n') eth.write('auto eth0\n') eth.write('iface eth0 inet dhcp\n') + # force predictable interface names + self.mask_udev_predictable_rules(rootdir) def append_serial_console(self, rootdir): if self.settings['serial-console']: