Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 302173 - sys-fs/udev-150 block devices missing
Summary: sys-fs/udev-150 block devices missing
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] baselayout (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: udev maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-01-25 14:21 UTC by barthek
Modified: 2010-02-01 19:26 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description barthek 2010-01-25 14:21:38 UTC
hi,

i havent rebooted in a while and after finally doing so I noticed that udev doesnt register my block devices anymore(namely, hd*).

there are no /dev/hd* or /dev/sd* entries. other usual stuff is there.

/proc/partitions shows correct entries (partitions from different hd*)

/sys/block shows correct entries (hda,hdb,hdc,hdd)

/dev/block only shows loop devices

udevadm test /sys/block/hda runs fine and creates /dev/hda (until the reboot)

i have so far cleared /etc/udev and reemerged udev.

please assist


emerge --info
Portage 2.1.7.16 (hardened/linux/x86/10.0, gcc-4.3.4, glibc-2.11-r1, 2.6.29-hardened i686)
=================================================================
System uname: Linux-2.6.29-hardened-i686-Pentium_III_-Katmai-with-gentoo-2.0.1
Timestamp of tree: Sun, 24 Jan 2010 04:45:01 +0000
app-shells/bash:     4.0_p37
dev-lang/python:     2.6.4, 3.1.1-r1
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="x86 ~x86"
ACCEPT_LICENSE="* -@EULA"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-march=pentium3 -O2 -pipe -fstack-protector"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=pentium3 -O2 -pipe -fstack-protector"
DISTDIR="/opt/distfiles"
FEATURES="assume-digests collision-protect distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync7.pl.gentoo.org/gentoo-portage"
USE="bashlogger bitmap-fonts bzip2 caps chroot cli cracklib crypt cxx dri ftp glibc-omitfp hardened hpn iconv jpeg mmx modules ncurses nptl nptlonly openmp pam pam_chroot pam_timestamp pcre pic png pppd pthreads python readline reflection session slang spl sse ssl symlink sysfs tcpd threads urandom userlocales webdav-neon x86 xinetd xorg zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1   emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m       maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="apm ark chips cirrus cyrix dummy fbdev glint i128 i740 intel  mach64 mga neomagic nsc nv r128 radeon rendition s3 s3virge savage      siliconmotion sis sisusb tdfx tga trident tseng v4l vesa via vmware     voodoo"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
Comment 1 Rafał Mużyło 2010-01-25 14:51:44 UTC
Try migrating to pure CONFIG_ATA first (that is: unset CONFIG_IDE
and add correct devices from libata branch).
Comment 2 barthek 2010-01-25 15:11:43 UTC
hi Rafal,

thanks for suggestions - will try that.

it is strange though that udevadm test works fine.

considering that CONFIG_ATA is marked experimental in my kernel tree
and that its all worked fine with CONFIG_IDE so far is there not something wrong with udev ?
Comment 3 Rafał Mużyło 2010-01-25 15:20:46 UTC
CONFIG_ATA has stopped being experimental quite a few kernels ago and
in 2.6.33 CONFIG_IDE will be officially marked deprecated.

As for the other part, udev has removed support for hd* devices
in 150, Gentoo is reverting that, but perhaps they've missed a spot.
Comment 4 Rafał Mużyło 2010-01-25 15:21:58 UTC
By "removed support", I mean "removed from default rules", of course.
Comment 5 barthek 2010-01-25 15:31:06 UTC
bear in mind hardened has no newer kernel than 2.6.29 :<

downgrading to udev-149 fixes the problem.

anyway, i looked at udev-149 vs udev-150 /lib/udev/rules.d and found no differences. is that something built in that can be customised ?
Comment 6 Rafał Mużyło 2010-01-25 16:27:47 UTC
Having both CONFIG_ATA and CONFIG_IDE set messes things up anyway
(mostly in a subtle way, though).
2.6.29 should be OK.
Have a look at 'lspci -k' and 'udevadm info' for your drives.
Comment 7 barthek 2010-01-25 17:19:03 UTC
as to your first comment...

$ zgrep CONFIG_IDE /proc/config.gz
CONFIG_IDE=y
CONFIG_IDE_TIMINGS=y
CONFIG_IDE_ATAPI=y
CONFIG_IDE_GD=y
CONFIG_IDE_GD_ATA=y
# CONFIG_IDE_GD_ATAPI is not set
# CONFIG_IDE_TASK_IOCTL is not set
# CONFIG_IDE_PROC_FS is not set
# CONFIG_IDE_GENERIC is not set
# CONFIG_IDEPCI_PCIBUS_ORDER is not set
$ zgrep CONFIG_ATA /proc/config.gz
# CONFIG_ATALK is not set
# CONFIG_ATA_OVER_ETH is not set
# CONFIG_ATA is not set

as to the rest, is there any particular info you want to get?

things work fine with udev-149 so im wondering if creating custom rules for udev-150 would be a way to go?
Comment 8 Rafał Mużyło 2010-01-25 20:39:08 UTC
There are two parts of the problem:
- technically, if it works in udev-149,
it should still work with 150
- migration to CONFIG_ATA should still be done,
due to the deprecation (while 2.6.33 will be official
announcement, it was that way for a few version already)

As for the migration settings, under CONFIG_ATA you should
choose a correct driver for your board and instead of those
_IDE options select:
CONFIG_BLK_DEV_SD
CONFIG_BLK_DEV_SG
CONFIG_BLK_DEV_SR
Comment 9 Rafał Mużyło 2010-01-25 20:41:20 UTC
Be sure to unset CONFIG_IDE, as having both
leads to interesting results at times.
Comment 10 Rafał Mużyło 2010-01-25 20:45:47 UTC
OK, I should have posted all of this in one go.

As for 'udevadm info', it was about something like:
'udevadm info --query all --name hda'.
Once you'll do the migration, it'll be
probably:
'udevadm info --query all --name sda'.

Don't forget to fix your fstab/grub boot line.
Comment 11 barthek 2010-01-25 21:48:27 UTC
so technically speaking there is a misbehaviour if you're saying it should work with udev 150 ;)

i did this test - restart with udev150 - no /dev/hd*. restart of udev - no /dev/hd*. downgrade to udev149. restart of udev - bang the entries appear.

i dont know what you mean by giving me example of the udevadm? I gave this as an indication that udev sees the device once triggered by udevadm info so it does recognize /sys/block mappings etc.
Comment 12 Micael Beronius 2010-01-26 09:57:03 UTC
Hi,

I'm not sure if I can help or anything, but I have the same issues; with udev 150, my sda partitions disappear in /dev, and also the network NIC order gets bad.
Kernel has no issues (still have my old 2.6.28-gentoo) seeing sda, and it has CONFIG_IDE unset in .config.

Going back to 149 solves all my issues.

Portage 2.1.7.16 (default/linux/amd64/10.0, gcc-4.3.4, glibc-2.11-r1, 2.6.28-gentoo x86_64)
=================================================================
System uname: Linux-2.6.28-gentoo-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9450_@_2.66GHz-with-gentoo-2.0.1
Timestamp of tree: Mon, 25 Jan 2010 10:30:01 +0000
distcc 3.1 x86_64-pc-linux-gnu [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p37
dev-java/java-config: 1.3.7-r1, 2.1.10
dev-lang/python:     2.4.4-r6, 2.5.4-r2, 2.6.4, 3.1.1-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r8
dev-util/cmake:      2.8.0
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.6.0-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.5, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10.3, 1.11.1
sys-devel/binutils:  2.20
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
virtual/os-headers:  2.6.30-r1
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=nocona -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/X11/xkb /usr/share/config /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-march=nocona -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LDFLAGS="-Wl,-O1"
LINGUAS="se en_GB sv sv_SE en_US"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X acl acpi alsa amarok amd64 automount berkdb bluetooth bonjour bzip2 cdaudio cddb cdparanoia cdr cli consolekit cracklib cscope cups cxx daap dbus dga dri dvd dvdr embedded extras ffmpeg flac fortran fts3 gdbm gif gimp git glitz gnome gnutls gpm gtk hal highlight iconv ipv6 java javascript jpeg kde lcms libffi lm_sensors logrotate matroska mmap mmx mmxext mng modules mozilla mp3 mp3tunes mudflap multilib mysql ncurses nls nptl nptlonly nsplugin obex opengl openmp oscar pam paste64 pcre pdf perl png python qt3 qt3support qt4 rdesktop readline reflection reiserfs sasl se_swedb session smp speex spell spl sql sqlite sse sse2 sse3 ssl ssse3 subversion svg sysfs tcpd threads truetype unicode usb vnc webkit winpopup wlm x264 xcb xine xinerama xorg xterm xv xvid xvmc yahoo zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="se en_GB sv sv_SE en_US" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="intel i810 nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 13 Rafał Mużyło 2010-01-26 13:32:23 UTC
What I was trying to say was:
if it's broken with CONFIG_IDE, but works with CONFIG_ATA,
it's better to migrate to CONFIG_ATA.

Given comment 12, however, the problem may be bit more
serious than the initial report suggested.
Comment 14 Rafał Mużyło 2010-01-26 15:21:25 UTC
There's an another idea: udev 150 removed *all* support
for CONFIG_SYSFS_DEPRECATED.
Make sure it's unset, see if /sys is empty before it's mounted
and see what 'ls -l /sys/class/mem/null' prints.
Comment 15 barthek 2010-01-26 15:35:09 UTC
in my case...

$ zgrep DEPREC /proc/config.gz
# CONFIG_SYSFS_DEPRECATED_V2 is not set
# CONFIG_ENABLE_WARN_DEPRECATED is not set

# mount --bind / /mnt/tmp
# ls -l /mnt/tmp/sys
total 0

$ ls -l /sys/class/mem/null
lrwxrwxrwx 1 root root 0 Jan 26 16:33 /sys/class/mem/null -> ../../devices/virtual/mem/null
Comment 16 Micael Beronius 2010-01-27 09:14:08 UTC
> There's an another idea: udev 150 removed *all* support
> for CONFIG_SYSFS_DEPRECATED.

Excellent! For some reason, my CONFIG_SYSFS_DEPRECATED where set. Now my issues with 150 are gone. No need to delete anything in /sys for me.

Cheers,
 Micael
Comment 17 Matthias Schwarzott gentoo-dev 2010-01-27 21:44:44 UTC
(In reply to comment #16)
> > There's an another idea: udev 150 removed *all* support
> > for CONFIG_SYSFS_DEPRECATED.
> 
> Excellent! For some reason, my CONFIG_SYSFS_DEPRECATED where set. Now my issues
> with 150 are gone. No need to delete anything in /sys for me.
> 
Well, udev-ebuild already warns about enabled DEPRECATED settings.
Comment 18 barthek 2010-02-01 19:26:14 UTC
just wanted to confirm that udev-151 fixes the thing... (old-hd-rules USE flag added).

so to sum up...
1. I didnt have any of the DEPRECATED
2. I didnt mix CONFIG_ATA with CONFIG_IDE
3. udev 149 worked ok

happy days!