Bug#793374: [PATCH] Copy .link interface naming definitions to initramfs

Julian Wollrath jwollrath at web.de
Sun Jul 26 14:17:05 BST 2015


Currently, only the default .link files from /lib/systemd/network are
copied to the initramfs, meaning, that additional (local) .link naming
definitions will be ignored when the system is still controlled by the
initramfs and interfaces might get wrong names.

Fix this by copying all .link files from /lib/systemd/network and
/etc/systemd/network into the initramfs, with the files from
/etc/systemd/network taking precedence over files with the same name
from /lib/systemd/network, as stated in the systemd.link manpage.

Signed-off-by: Julian Wollrath <jwollrath at web.de>
---
 debian/changelog                        | 3 +++
 debian/extra/initramfs-tools/hooks/udev | 9 ++-------
 2 files changed, 5 insertions(+), 7 deletions(-)

diff --git a/debian/changelog b/debian/changelog
index 7cb36aef4f44..c756afb225c3 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -10,6 +10,9 @@ systemd (222-3) UNRELEASED; urgency=medium
   * Enable GNU EFI support and add gnu-efi build dep. This enables/ships the
     systemd EFI boot loader. (Closes: #787720)
 
+  [ Julian Wollrath ]
+  * Copy all .link interface naming definitions to initramfs. (Closes: 793374)
+
  -- Michael Biebl <biebl at debian.org>  Tue, 21 Jul 2015 22:24:51 +0200
 
 systemd (222-2) unstable; urgency=medium
diff --git a/debian/extra/initramfs-tools/hooks/udev b/debian/extra/initramfs-tools/hooks/udev
index cfe5085ae079..71e597bca128 100755
--- a/debian/extra/initramfs-tools/hooks/udev
+++ b/debian/extra/initramfs-tools/hooks/udev
@@ -32,14 +32,9 @@ cp -a /sbin/udevadm $DESTDIR/sbin/udevadm
 mkdir -p $DESTDIR/etc/udev
 cp -p /etc/udev/udev.conf $DESTDIR/etc/udev/
 
+# copy .link files containing interface naming definitions
 mkdir -p $DESTDIR/lib/systemd/network/
-for link in 01-mac-for-usb.link 99-default.link; do
-  if   [ -e /etc/systemd/network/$link ]; then
-    cp -p /etc/systemd/network/$link $DESTDIR/lib/systemd/network/
-  elif [ -e /lib/systemd/network/$link ]; then
-    cp -p /lib/systemd/network/$link $DESTDIR/lib/systemd/network/
-  fi
-done
+find /lib/systemd/network /etc/systemd/network -name \*.link -execdir cp -pt $DESTDIR/lib/systemd/network/ '{}' +
 
 mkdir -p $DESTDIR/lib/udev/rules.d/
 for rules in 50-firmware.rules 50-udev-default.rules 60-persistent-storage.rules \
-- 
2.4.6




More information about the Pkg-systemd-maintainers mailing list