From 0563b1e982c504c9f093ef5d9ea68b1c09f54904 Mon Sep 17 00:00:00 2001 From: Friedrich Weber Date: Tue, 21 May 2024 14:55:18 +0200 Subject: [PATCH] network: override device names: suggest running update-initramfs The initramfs-tools hook /usr/share/initramfs-tools/hooks/udev copies link files from /etc/systemd/network to the initramfs, where they take effect in early userspace. If the link files in the initramfs diverge from the link files in the rootfs, this can lead to confusing behavior, as reported in enterprise support. For instance: - If an interface matches link files both in the initramfs and the rootfs, it will be renamed twice during boot. - A leftover link file in the initramfs renaming an interface A to a new name X may prevent a link file in the rootfs from renaming a different interface B to the same name X (it will fail with "File exists"). To avoid this confusion, mention the link files are copied to the initramfs, and suggest updating the initramfs after making changes to the link files. Suggested-by: Hannes Laimer Signed-off-by: Friedrich Weber --- pve-network.adoc | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/pve-network.adoc b/pve-network.adoc index be8d63c..acdcf39 100644 --- a/pve-network.adoc +++ b/pve-network.adoc @@ -184,6 +184,13 @@ manpage] for more details. Then, you can assign a name using the `Name` option in the `[Link]` section. +Link files are copied to the `initramfs`, so it is recommended to refresh the +`initramfs` after adding, modifying, or removing a link file: + +---- +# update-initramfs -u -k all +---- + For example, to assign the name `enwan0` to the Ethernet device with MAC address `aa:bb:cc:dd:ee:ff`, create a file `/etc/systemd/network/10-enwan0.link` with the following contents: @@ -197,8 +204,9 @@ Type=ether Name=enwan0 ---- -Do not forget to adjust `/etc/network/interfaces` to use the new name. -You need to reboot the node for the change to take effect. +Do not forget to adjust `/etc/network/interfaces` to use the new name, and +refresh your `initramfs` as described above. You need to reboot the node for +the change to take effect. NOTE: It is recommended to assign a name starting with `en` or `eth` so that {pve} recognizes the interface as a physical network device which can then be -- 2.39.2