Gentoo Archives: gentoo-amd64

From: Mark Knecht <markknecht@×××××.com>
To: Gentoo AMD64 <gentoo-amd64@l.g.o>
Subject: Re: [gentoo-amd64] eth device vanished
Date: Mon, 15 Apr 2013 13:14:07
Message-Id: CAK2H+edwxN+X0i0gBb2SfneEwLYuCa-ciA5QqRxqW9+O5-rzVA@mail.gmail.com
In Reply to: Re: [gentoo-amd64] eth device vanished by "Vítor Brandão"
1 On Mon, Apr 15, 2013 at 6:09 AM, Vítor Brandão
2 <vitorbrandao.pt@×××××.com> wrote:
3 > Most likely this is due to a udev upgrade.
4 >
5 > Please check the udev upgrade guide:
6 > http://wiki.gentoo.org/wiki/Udev/upgrade
7 >
8 >
9
10 +1
11
12 mark@c2stable ~ $ eselect news list
13 News items:
14 [1] 2012-09-09 make.conf and make.profile move
15 [2] 2012-11-06 PYTHON_TARGETS deployment
16 [3] 2013-01-23 (2013-01-23-udev-upgrade - removed?)
17 [4] 2013-03-29 Upgrading udev to version >=200
18 mark@c2stable ~ $ eselect news read 4
19 2013-03-29-udev-upgrade
20 Title Upgrading udev to version >=200
21 Author Samuli Suominen <ssuominen@g.o>
22 Posted 2013-03-29
23 Revision 2
24
25 This replaces the earlier news item about the udev 197 upgrade and
26 describes the predictable network interface names in more detail.
27
28 If you skip anything in this news item, your system will not be
29 bootable, or your networking will be down, or both.
30
31 Pay attention also to every message printed by emerge of sys-fs/udev
32 and sys-fs/udev-init-scripts as this news item may not be complete.
33
34 1. udev-postmount init script:
35
36 Remove the udev-postmount init script from your runlevels.
37
38 2. devtmpfs support:
39
40 You need at least version 2.6.32 of the kernel for devtmpfs
41 functionality. Once you have this, make sure CONFIG_DEVTMPFS=y is set
42 in the kernel configuration. See the gentoo udev guide for the option in
43 make menuconfig [1].
44
45 If you have a line for /dev in /etc/fstab, make sure it is configured
46 for file system type devtmpfs (not tmpfs or any other type). Also, you
47 can remove this line if you prefer, since devtmpfs is mounted
48 automatically.
49
50 3. Old interface naming rules:
51
52 If the system still has old network interface renaming rules in
53 /etc/udev/rules.d, like 70-persistent-net.rules, those will need
54 to be either modified or removed.
55
56 If you choose to modify them, you must use free namespace (like net*
57 or internet*) instead of kernel namespace (like eth* or wlan*)
58 because in-place renaming has been deprecated, see small
59 documentation of it if you like[2].
60
61 The file 70-persistent-net.rules, like the 70-persistent-cd.rules
62 should be removed, so if you modify, rename the file also to something
63 else like 70-my-network.rules to silence the deprecation warning
64 coming
65 from the end of the sys-fs/udev emerge.
66
67 This is the old format with reserved namespace:
68
69 SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx",
70 NAME="eth0"
71 SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="yy:yy:yy:yy:yy:yy",
72 NAME="eth1"
73
74 This is the new format with free namespace:
75
76 SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx",
77 NAME="net0"
78 SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="yy:yy:yy:yy:yy:yy",
79 NAME="net1"
80
81 4. predictable network interface names:
82
83 If /etc/udev/rules.d/80-net-name-slot.rules is an empty file or a
84 symlink to /dev/null, the new names will be disabled and the kernel
85 will
86 do all the interface naming, and the resulting names may vary by
87 kernel
88 configuration, hardware configuration and kernel version.
89
90 Also, the forementioned old 70-persistent-net.rules might interfere with
91 the new predictable interface names.
92
93 You can get attributes of your network interfaces using a command like
94 the following (replace eth0 with the name of the appropriate interface):
95
96 # udevadm test-builtin net_id /sys/class/net/eth0 2> /dev/null
97
98 You can copy /lib/udev/rules.d/80-net-name-slot.rules to
99 /etc/udev/rules.d and specify the attributes and in which order
100 they will be used for naming. See upstream wiki[3] for detailed list
101 of options.
102
103 You can prepare the system for the new names before booting for example
104 by renaming /etc/init.d/net.* symlinks, editing /etc/conf.d/net, etc.
105
106 The feature can also be completely disabled using net.ifnames=0 on the
107 kernel command line.
108
109 If you only have one interface card, you don't necessarily have much
110 use for this feature as the name almost always stays at eth0, you can
111 easily disable it using forementioned methods.
112
113 This feature can also replace the functionality of sys-apps/biosdevname,
114 but you can still keep using it if you want.
115
116 In a normal new installation there are no files in /etc/udev/rules.d
117 and if you haven't edited any files you have in there, you should most
118 likely backup and delete them all if they don't belong to any packages.
119
120 The official wiki has a dedicated page for udev upgrade notes[4].
121
122 [1] http://www.gentoo.org/doc/en/udev-guide.xml
123 [2] http://www.kernel.org/doc/htmldocs/device-drivers/API-device-rename.html
124 [3] http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
125 [4] http://wiki.gentoo.org/wiki/Udev/upgrade
126
127 mark@c2stable ~ $

Replies

Subject Author
Re: [gentoo-amd64] eth device vanished Frank Peters <frank.peters@×××××××.net>