Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

udev nach Kernelupdate kaputt

15 views
Skip to first unread message

Nico Hoffmann

unread,
May 19, 2013, 5:42:05 AM5/19/13
to
Hallo,

das letzte Update hatte es in sich, und ich komme wieder mal nicht
recht weiter. Aber der Reihe nach.

Ich habe auf meinem Gentoo-Rechner ein world-Update laufen lassen. Im
Zuge dieses Updates bekam der Rechner ein sys-fs/udev Version 200 und
Kernel-Sourcen fᅵr 3.7.10-gentoo-r1. Derzeitiger Kernel ist
3.6.11-gentoo.

Kernel 3.6.11 und das aktuelle udev 200 laufen,

Ich habe nach dem Update natᅵrlich einen Kernel 3.7.10
kompiliert. Wenn ich diesen Kernel boote, lᅵuft udev nicht:

/etc/init.d/udev status
* status: crashed

Der Kernel 3.7.10 bootet scheinbar ohne Probleme, bis auf dass einige
Module nicht automatisch geladen werden und dass ich unter X weder
Tastatur noch Maus zur Verfᅵgung habe.
Auᅵerdem habe ich festgestellt, dass unter /dev einiges fe_lt,
z.B. /dev/char/, /dev/disk, und die meisten Eintrᅵge unter /dev/input.


In /etc/udev habe ich nix auᅵergewᅵhnliches drin, vor allem nichts,
was den alten Kernel stᅵrt:

# ls -lR /etc/udev/
/etc/udev/:
insgesamt 5484
-r--r--r-- 1 root root 5601550 9. Mai 18:03 hwdb.bin
drwxr-xr-x 2 root root 4096 2. Feb 14:00 hwdb.d
drwxr-xr-x 2 root root 4096 12. Mai 15:37 rules.d
-rw-r--r-- 1 root root 43 19. Mai 10:59 udev.conf

/etc/udev/hwdb.d:
insgesamt 0

/etc/udev/rules.d:
insgesamt 4
-rw-r--r-- 1 root root 1666 2. Feb 14:00 80-net-name-slot.rules


Ich finde weder in /var/log/messages noch in /run/udevmonitor.log
Hinweise, warum udev klemmt. Genauer gesagt finde ich udevmonitor.log
mit dem neuen Kernel ᅵberhaupt keine Eintrᅵge von udev, eben offenbar
weil er nicht lᅵuft.

Leider hat mich auch google nicht weitergebracht.

Ich vermute, dass ich irgendeine Kerneloption nicht angehakt habe,
die ich eigentlich brauche, aber ich wᅵᅵte nicht, welche.

Zweckdienliche Hinweise sind willkommen :-)

N.
--
[de] DE steht fuer Delirium Expressis. Ausgedrueckter Wahnsinn.
(o'h in <7Lq8m...@p0000013.willy-s.de>)

Reinhard Tchorz

unread,
May 19, 2013, 10:36:50 AM5/19/13
to
Hi,

Am 19.05.2013 11:42, schrieb Nico Hoffmann:
> das letzte Update hatte es in sich, und ich komme wieder mal nicht
> recht weiter. Aber der Reihe nach.
>
> Ich habe auf meinem Gentoo-Rechner ein world-Update laufen lassen. Im
> Zuge dieses Updates bekam der Rechner ein sys-fs/udev Version 200 und
> Kernel-Sourcen fᅵr 3.7.10-gentoo-r1. Derzeitiger Kernel ist
> 3.6.11-gentoo.
>
> Kernel 3.6.11 und das aktuelle udev 200 laufen,
>
> Ich habe nach dem Update natᅵrlich einen Kernel 3.7.10
> kompiliert. Wenn ich diesen Kernel boote, lᅵuft udev nicht:
>
> /etc/init.d/udev status
> * status: crashed
>
> Der Kernel 3.7.10 bootet scheinbar ohne Probleme, bis auf dass einige
> Module nicht automatisch geladen werden und dass ich unter X weder
> Tastatur noch Maus zur Verfᅵgung habe.
> Auᅵerdem habe ich festgestellt, dass unter /dev einiges fe_lt,
> z.B. /dev/char/, /dev/disk, und die meisten Eintrᅵge unter /dev/input.

Eben dafᅵr ist ja udev verantwortlich.

> In /etc/udev habe ich nix auᅵergewᅵhnliches drin, vor allem nichts,
> was den alten Kernel stᅵrt:
>
> # ls -lR /etc/udev/
> /etc/udev/:
> insgesamt 5484
> -r--r--r-- 1 root root 5601550 9. Mai 18:03 hwdb.bin
> drwxr-xr-x 2 root root 4096 2. Feb 14:00 hwdb.d
> drwxr-xr-x 2 root root 4096 12. Mai 15:37 rules.d
> -rw-r--r-- 1 root root 43 19. Mai 10:59 udev.conf
>
> /etc/udev/hwdb.d:
> insgesamt 0
>
> /etc/udev/rules.d:
> insgesamt 4
> -rw-r--r-- 1 root root 1666 2. Feb 14:00 80-net-name-slot.rules
>
>
> Ich finde weder in /var/log/messages noch in /run/udevmonitor.log
> Hinweise, warum udev klemmt. Genauer gesagt finde ich udevmonitor.log
> mit dem neuen Kernel ᅵberhaupt keine Eintrᅵge von udev, eben offenbar
> weil er nicht lᅵuft.
>
> Leider hat mich auch google nicht weitergebracht.
>
> Ich vermute, dass ich irgendeine Kerneloption nicht angehakt habe,
> die ich eigentlich brauche, aber ich wᅵᅵte nicht, welche.

Kommt darauf an, wie du das Update durchgefᅵhrt hast.
Ich kopiere immer die alte .config-Datei ins Verzeichnis der neuen
Kernelsourcen und rufe dort dann make oldconfig auf. Klappt immer.

Wenn mit dem Kernel 3.7.10 (vermutlich ck-sources?) emerge funktioniert,
emerge -1p udev aufrufen - das ebuild ᅵberprᅵft die Kerneloptionen.

MfG
Reinhard

--
Gentoo Kernel 3.8.13 X-Server 1.13.4 KDE 4.10.2
Asus M2A-VM AMD Athlon X2 4450e Nvidia 7300LE

Martin Vaeth

unread,
May 19, 2013, 11:16:18 AM5/19/13
to
Nico Hoffmann <oxen...@gmx.de> schrieb:
>
> Kernel-Sourcen für 3.7.10-gentoo-r1. Derzeitiger Kernel ist
> 3.6.11-gentoo.

gentoo-sources-3.7.* ist nicht mehr im Gentoo-Baum, das hat
sicher Gründe.
Ich würde empfehlen, die aktuellen stabilen gentoo-sources-3.8.6
zu versuchen, wobei ich für Kernel-Sources eigentlich generell
sogar ~ARCH empfehle, denn man weiß nie, welche Sicherheitlücken
da klammheimlich gefixt wurden.

> Wenn ich diesen Kernel boote, läuft udev nicht:
>
> /etc/init.d/udev status
> * status: crashed

Das ist natürlich das eigentliche Problem. Alles andere sind
Folgerungen daraus. Wenn ein weiteres Kernel-Upgrade nicht hilft,
und Du nicht herausfinden kannst, warum udevd abstürzt,
kannst Du auch mal eudev als udev-Alternative versuchen.
Ansonsten kann es möglicherweise helfen, (e)udev mit den passenden
linux-headers zu reemergen, vielleicht hat sich da was geändert,
was nicht abwärtskompatibel ist.
Du hast doch hoffentlich nicht bei udev mit experimentellen
CFLAGS oder LDFLAGS herumgespielt!?

Nico Hoffmann

unread,
May 19, 2013, 5:44:26 PM5/19/13
to
Reinhard Tchorz schreibt:


> Am 19.05.2013 11:42, schrieb Nico Hoffmann:

>> Ich habe nach dem Update natᅵrlich einen Kernel 3.7.10
>> kompiliert. Wenn ich diesen Kernel boote, lᅵuft udev nicht:
>>
>> /etc/init.d/udev status
>> * status: crashed
>>
>> Der Kernel 3.7.10 bootet scheinbar ohne Probleme, bis auf dass einige
>> Module nicht automatisch geladen werden und dass ich unter X weder
>> Tastatur noch Maus zur Verfᅵgung habe.
>> Auᅵerdem habe ich festgestellt, dass unter /dev einiges fe_lt,
>> z.B. /dev/char/, /dev/disk, und die meisten Eintrᅵge unter /dev/input.


>> Ich vermute, dass ich irgendeine Kerneloption nicht angehakt habe,
>> die ich eigentlich brauche, aber ich wᅵᅵte nicht, welche.
>
> Kommt darauf an, wie du das Update durchgefᅵhrt hast.
> Ich kopiere immer die alte .config-Datei ins Verzeichnis der neuen
> Kernelsourcen und rufe dort dann make oldconfig auf. Klappt immer.
>
> Wenn mit dem Kernel 3.7.10 (vermutlich ck-sources?) emerge funktioniert,
> emerge -1p udev aufrufen - das ebuild ᅵberprᅵft die Kerneloptionen.

Da bekomme ich sowas:

# emerge -1p udev

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild R ] sys-fs/udev-200

Ich habe zwar nicht verstanden, was mir das ᅵber die Kerneloptionen
sagt, aber aus einem Bauchgefᅵhl heraus habe ich udev einfach neu
emerged.

Und siehe da, emerge beschwerte sich ᅵber das fehlende
"CONFIG_INOTIFY_USER" (Kernelkonfig / File Systems).

Vorsichtshalber habe ich "CONFIG_DNOTIFY" und "CONFIG_FANOTIFY" auch
gleich angehakt und einen neuen Kernel compiliert. Ich bin dann auch
auf den Kernel 3.8.13 umgestiegen, wie von Martin vorgeschlagen.

Jetzt lᅵuft alles, wie es soll.

Stefan 'Steve' Tell

unread,
May 20, 2013, 2:57:35 AM5/20/13
to
* Martin Vaeth <va...@mathematik.uni-wuerzburg.de> wrote:

> gentoo-sources-3.7.* ist nicht mehr im Gentoo-Baum, das hat
> sicher Gründe.

Sozusagen:

https://bugs.gentoo.org/show_bug.cgi?id=469854
http://www.pro-linux.de/news/1/19797/linux-sicherheitsluecke-erlaubt-root-zugriff.html

,----[ /usr/portage/sys-kernel/gentoo-sources/ChangeLog ]
| 15 May 2013; Tom Wijsman <Tom...@gentoo.org> -gentoo-sources-3.7.10-r1.ebuild,
| gentoo-sources-3.7.10.ebuild:
| Users are adviced to upgrade to the latest kernel. Dropped amd64, x86 and hppa
| keywords on affected 3.7.10 kernels as 3.8.13 has stabilized for them; dropped
| testing keywords as well, since 3.7.10-r1 contains no more keywords it is
| dropped from the tree. 3.7.10 still has some less common arches awaiting
| 3.8.13 stabilization. See bug #469854 for more details.
`----

--
** Yours Sincerely, Stefan 'Steve' Tell - http://blog.crashmail.de
** encrypted mail preferred || GnuPG-Key ID: 0x9B6C7E15
** Fingerprint: 0A21 6C88 552E 54AE 3FB5 4732 25EE 6ABE 9B6C 7E15

Roland Schulte-Osthoff

unread,
May 23, 2013, 7:04:44 AM5/23/13
to
Hallo!

Nico Hoffmann wrote:
[gentoo udev-Update]
> Ich habe nach dem Update natᅵrlich einen Kernel 3.7.10
> kompiliert. Wenn ich diesen Kernel boote, lᅵuft udev nicht:

Hast Du devtmpfs einkompiliert? (siehe Punkt 2 im Zitat)

IRC war das udev Update schon Ende Mai, denn da kam einem Portage
update die folgende Nachricht/Anleitung zum udev-Wechsel.

eselect news {list|read}: (Achtung langes Zitat!)

/------------ Zitat ------------
2013-03-29-udev-upgrade
Title Upgrading udev to version >=200
Author Samuli Suominen <ssuo...@gentoo.org>
Posted 2013-03-29
Revision 2

This replaces the earlier news item about the udev 197 upgrade and
describes the predictable network interface names in more detail.

If you skip anything in this news item, your system will not be
bootable, or your networking will be down, or both.

Pay attention also to every message printed by emerge of sys-fs/udev
and sys-fs/udev-init-scripts as this news item may not be complete.

1. udev-postmount init script:

Remove the udev-postmount init script from your runlevels.

2. devtmpfs support:

You need at least version 2.6.32 of the kernel for devtmpfs
functionality. Once you have this, make sure CONFIG_DEVTMPFS=y is
set
in the kernel configuration. See the gentoo udev guide for the
option in
make menuconfig [1].

If you have a line for /dev in /etc/fstab, make sure it is
configured
for file system type devtmpfs (not tmpfs or any other type). Also,
you
can remove this line if you prefer, since devtmpfs is mounted
automatically.

3. Old interface naming rules:

If the system still has old network interface renaming rules in
/etc/udev/rules.d, like 70-persistent-net.rules, those will need
to be either modified or removed.

If you choose to modify them, you must use free namespace (like net*
or internet*) instead of kernel namespace (like eth* or wlan*)
because in-place renaming has been deprecated, see small
documentation of it if you like[2].

The file 70-persistent-net.rules, like the 70-persistent-cd.rules
should be removed, so if you modify, rename the file also to
something
else like 70-my-network.rules to silence the deprecation warning
coming
from the end of the sys-fs/udev emerge.

This is the old format with reserved namespace:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx",
NAME="eth0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="yy:yy:yy:yy:yy:yy",
NAME="eth1"

This is the new format with free namespace:

SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="xx:xx:xx:xx:xx:xx",
NAME="net0"
SUBSYSTEM=="net", ACTION=="add", ATTR{address}=="yy:yy:yy:yy:yy:yy",
NAME="net1"

4. predictable network interface names:

If /etc/udev/rules.d/80-net-name-slot.rules is an empty file or a
symlink to /dev/null, the new names will be disabled and the kernel
will
do all the interface naming, and the resulting names may vary by
kernel
configuration, hardware configuration and kernel version.

Also, the forementioned old 70-persistent-net.rules might interfere
with
the new predictable interface names.

You can get attributes of your network interfaces using a command
like
the following (replace eth0 with the name of the appropriate
interface):

# udevadm test-builtin net_id /sys/class/net/eth0 2> /dev/null

You can copy /lib/udev/rules.d/80-net-name-slot.rules to
/etc/udev/rules.d and specify the attributes and in which order
they will be used for naming. See upstream wiki[3] for detailed list
of options.

You can prepare the system for the new names before booting for
example
by renaming /etc/init.d/net.* symlinks, editing /etc/conf.d/net,
etc.

The feature can also be completely disabled using net.ifnames=0 on
the
kernel command line.

If you only have one interface card, you don't necessarily have much
use for this feature as the name almost always stays at eth0, you
can
easily disable it using forementioned methods.

This feature can also replace the functionality of sys-
apps/biosdevname,
but you can still keep using it if you want.

In a normal new installation there are no files in /etc/udev/rules.d
and if you haven't edited any files you have in there, you should
most
likely backup and delete them all if they don't belong to any
packages.

The official wiki has a dedicated page for udev upgrade notes[4].

[1] http://www.gentoo.org/doc/en/udev-guide.xml
[2] http://www.kernel.org/doc/htmldocs/device-drivers/API-device-rename.html
[3]
http://www.freedesktop.org/wiki/Software/systemd/PredictableNetworkInterfaceNames
[4] http://wiki.gentoo.org/wiki/Udev/upgrade
\--------------- Zitat Ende --------------

Gruᅵ
Roland

0 new messages