LinuxQuestions.org
Review your favorite Linux distribution.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware
User Name
Password
Slackware This Forum is for the discussion of Slackware Linux.

Notices


Reply
  Search this Thread
Old 03-12-2012, 03:37 PM   #1
fdelente
LQ Newbie
 
Registered: Mar 2012
Posts: 8

Rep: Reputation: Disabled
Upgrading udev


Hello.

I'd like to upgrade udev from 165 to 181, but I can't get to do it. It seems the architecture of udev has must changed, and even by mimicking the build script on slackbuilds it's a no go.

Does anyone have any pointers or help?

Thanks!

--
F. Delente
 
Old 03-12-2012, 05:31 PM   #2
55020
Senior Member
 
Registered: Sep 2009
Location: Yorks. W.R. 167397
Distribution: Slackware
Posts: 1,307
Blog Entries: 4

Rep: Reputation: Disabled
Quote:
Originally Posted by fdelente View Post
I'd like to upgrade udev from 165 to 181
Look at the NEWS file in udev's source. Start at 165, and read upwards to 181. You will find lots of very bad news like this:

Code:
50 udev 176
51 ========
52 The 'devtmpfs' filesystem is required now, udev will not create or delete
53 device nodes anymore, it only adjusts permissions and ownership of device
54 nodes and maintains additional symlinks.
55
56 A writable /run directory (ususally tmpfs) is required now for a fully
57 functional udev, there is no longer a fallback to /dev/.udev.
58
59 The default 'configure' install locations have changed. Packages for systems
60 with the historic / vs. /usr split need to be adapted, otherwise udev will
61 be installed in /usr and not work properly. Example configuration options
62 to install things the traditional way are in INSTALL.
63
64 The default install location of the 'udevadm' tool moved from 'sbin'
65 to /usr/bin. Some tools expect udevadm in 'sbin', a symlink to udevadm
66 needs to be manually created if needed, or --bindir=/sbin be specified.
67
68 The expected value of '--libexecdir=' has changed and must no longer contain
69 the 'udev' directory.
70
71 Kernel modules are now loaded directly by linking udev to 'libkmod'. The
72 'modprobe' tool is no longer executed by udev.
Maybe this gives you some insight why the next release of Slackware will not be quick and easy for the Slackware team.
 
Old 03-13-2012, 11:14 AM   #3
zk1234
4MLinux Maintainer
 
Registered: Oct 2010
Location: Poland
Distribution: 4MLinux, Slackware
Posts: 1,254

Rep: Reputation: 220Reputation: 220Reputation: 220
Quote:
Originally Posted by fdelente View Post
Hello.

I'd like to upgrade udev from 165 to 181, but I can't get to do it. It seems the architecture of udev has must changed, and even by mimicking the build script on slackbuilds it's a no go.

Does anyone have any pointers or help?

Thanks!

--
F. Delente
The biggest issue is that the newest udev versions require devtmpfs to be enabled. As far as I know it is disabled in Slackware 13.37 by default, meaning that your new udev will not work unless you recompile/upgrade your kernel.

Last edited by zk1234; 03-13-2012 at 11:23 AM.
 
Old 03-13-2012, 11:17 AM   #4
zk1234
4MLinux Maintainer
 
Registered: Oct 2010
Location: Poland
Distribution: 4MLinux, Slackware
Posts: 1,254

Rep: Reputation: 220Reputation: 220Reputation: 220
Quote:
Originally Posted by 55020 View Post
Look at the NEWS file in udev's source. Start at 165, and read upwards to 181. You will find lots of very bad news like this:

Code:
50 udev 176
51 ========
52 The 'devtmpfs' filesystem is required now, udev will not create or delete
53 device nodes anymore, it only adjusts permissions and ownership of device
54 nodes and maintains additional symlinks.
55
56 A writable /run directory (ususally tmpfs) is required now for a fully
57 functional udev, there is no longer a fallback to /dev/.udev.
58
59 The default 'configure' install locations have changed. Packages for systems
60 with the historic / vs. /usr split need to be adapted, otherwise udev will
61 be installed in /usr and not work properly. Example configuration options
62 to install things the traditional way are in INSTALL.
63
64 The default install location of the 'udevadm' tool moved from 'sbin'
65 to /usr/bin. Some tools expect udevadm in 'sbin', a symlink to udevadm
66 needs to be manually created if needed, or --bindir=/sbin be specified.
67
68 The expected value of '--libexecdir=' has changed and must no longer contain
69 the 'udev' directory.
70
71 Kernel modules are now loaded directly by linking udev to 'libkmod'. The
72 'modprobe' tool is no longer executed by udev.
Maybe this gives you some insight why the next release of Slackware will not be quick and easy for the Slackware team.
Take it easy! These are not "bad news", but improvements :-)
 
Old 03-13-2012, 12:13 PM   #5
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
Quote:
Originally Posted by zk1234 View Post
The biggest issue is that the newest udev versions require devtmpfs to be enabled. As far as I know it is disabled in Slackware 13.37 by default, meaning that your new udev will not work unless you recompile/upgrade your kernel.
FYI, it's enabled in -current
Code:
$ grep -i devtmpfs /usr/src/linux-3.2.7/.config 
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
 
Old 03-13-2012, 01:49 PM   #6
zk1234
4MLinux Maintainer
 
Registered: Oct 2010
Location: Poland
Distribution: 4MLinux, Slackware
Posts: 1,254

Rep: Reputation: 220Reputation: 220Reputation: 220
Quote:
Originally Posted by ponce View Post
FYI, it's enabled in -current
Code:
$ grep -i devtmpfs /usr/src/linux-3.2.7/.config 
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
...and considering @ponce remark, @fdelente may choose to upgrade kernel (recompiling may be more difficult).
 
Old 03-13-2012, 01:58 PM   #7
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
you can't use current's kernel on 13.37, or better, it will run but you will face a lot of problems because it was built with a different toolchain: you need to rebuild it.

Last edited by ponce; 03-13-2012 at 02:03 PM. Reason: added link to alienBOB's kernel building guide
 
1 members found this post helpful.
Old 03-13-2012, 02:04 PM   #8
zk1234
4MLinux Maintainer
 
Registered: Oct 2010
Location: Poland
Distribution: 4MLinux, Slackware
Posts: 1,254

Rep: Reputation: 220Reputation: 220Reputation: 220
Quote:
Originally Posted by ponce View Post
you can't use current's kernel on 13.37, or better, it will run but you will face a lot of problems because of that, it has been built with a different toolchain: you need to rebuild it.
ooops :-(
So recompilation is needed.
 
Old 03-13-2012, 02:06 PM   #9
ponce
LQ Guru
 
Registered: Aug 2004
Location: Pisa, Italy
Distribution: Slackware
Posts: 7,097

Rep: Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174Reputation: 4174
I don't think so, I just checked on 13.37
Code:
# uname -r
2.6.37.6
# zgrep -i devtmpfs /proc/config.gz 
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
but I'm pretty sure (hoping no 0-day appears) that udev won't be upgraded there

Last edited by ponce; 03-13-2012 at 02:11 PM.
 
Old 03-13-2012, 02:32 PM   #10
zk1234
4MLinux Maintainer
 
Registered: Oct 2010
Location: Poland
Distribution: 4MLinux, Slackware
Posts: 1,254

Rep: Reputation: 220Reputation: 220Reputation: 220
Quote:
Originally Posted by ponce View Post
I don't think so, I just checked on 13.37
Code:
# uname -r
2.6.37.6
# zgrep -i devtmpfs /proc/config.gz 
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
but I'm pretty sure (hoping no 0-day appears) that udev won't be upgraded there
I've just rebooted my machine to Slackware 13.37, and (whatever the reason is) devtmpfs is not mounted at /dev during the boot time, so no wonder that the newest udev cannot work there.
 
Old 03-13-2012, 02:54 PM   #11
GazL
LQ Veteran
 
Registered: May 2008
Posts: 6,897

Rep: Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019
devtmpfs is available and most likely in use in 13.37. It's probably just that you haven't noticed.

Code:
gazl@slackbox:~$ grep -i devtmpfs < /local/mirrors/slackware64-13.37/source/k/config-generic-2.6.37.6
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
gazl@slackbox:~$ cat /proc/mounts | grep devtmpfs
devtmpfs /dev devtmpfs rw,relatime,size=2021064k,nr_inodes=505266,mode=755 0 0
When the initrd/init scripts run they don't update /etc/mtab to reflect the devtmpfs mount so if you do a df or a mount command you probably won't spot it, but if you check /proc/mounts you should see you're using it.

I've patched my init scripts locally to fix this, but when I wrote Pat about it he believed it better to keep the devtmpfs mount hidden (something I don't agree with, but it is his distro so I wasn't going to argue).
 
1 members found this post helpful.
Old 03-13-2012, 03:20 PM   #12
zk1234
4MLinux Maintainer
 
Registered: Oct 2010
Location: Poland
Distribution: 4MLinux, Slackware
Posts: 1,254

Rep: Reputation: 220Reputation: 220Reputation: 220
Quote:
Originally Posted by GazL View Post
devtmpfs is available and most likely in use in 13.37. It's probably just that you haven't noticed.

Code:
gazl@slackbox:~$ grep -i devtmpfs < /local/mirrors/slackware64-13.37/source/k/config-generic-2.6.37.6
CONFIG_DEVTMPFS=y
CONFIG_DEVTMPFS_MOUNT=y
gazl@slackbox:~$ cat /proc/mounts | grep devtmpfs
devtmpfs /dev devtmpfs rw,relatime,size=2021064k,nr_inodes=505266,mode=755 0 0
When the initrd/init scripts run they don't update /etc/mtab to reflect the devtmpfs mount so if you do a df or a mount command you probably won't spot it, but if you check /proc/mounts you should see you're using it.

I've patched my init scripts locally to fix this, but when I wrote Pat about it he believed it better to keep the devtmpfs mount hidden (something I don't agree with, but it is his distro so I wasn't going to argue).
@GazL Thanks for this info! It explains everything. I've just remembered that I didn't see devtmpfs under Slackware. This is why I wrote "As far as I know it is disabled in Slackware 13.37 by default, meaning that your new udev will not work unless you recompile/upgrade your kernel", and it has now appeared that I was wrong :-(

@fdelente It is me to blame that we have an off topic discussion (titled "Is devtmpfs enabled in Slackware or not") in your post. Sorry for this! I am shutting up now ;-)

Last edited by zk1234; 03-13-2012 at 03:29 PM.
 
Old 03-13-2012, 04:11 PM   #13
GazL
LQ Veteran
 
Registered: May 2008
Posts: 6,897

Rep: Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019Reputation: 5019
Quote:
Originally Posted by zk1234 View Post
and it has now appeared that I was wrong :-(
Given the way that slackware hides the mount I don't think it would be fair for anyone to criticise you for it.


BTW, if you're interested in the patches to make the mount visible I posted them here
 
Old 03-13-2012, 05:41 PM   #14
the3dfxdude
Member
 
Registered: May 2007
Posts: 730

Rep: Reputation: 358Reputation: 358Reputation: 358Reputation: 358
Does anyone have this latest udev-181 fully functional? I'm not worried about devtmpfs. I'm worried about what I've read following the link on post #2 is moving files around, symlinking, libkmod, etc.
 
Old 03-21-2012, 05:44 AM   #15
fdelente
LQ Newbie
 
Registered: Mar 2012
Posts: 8

Original Poster
Rep: Reputation: Disabled
I've got it nearly functional, even though some things were not right (the WIFI never wanted to work...)

Mainly, I fixed UDEV_ROOT to /dev in /etc/rc.d/rc.udev, because udev.conf didn't have a udev_root key.

I also had to comment out the lines in rc.udev about udevadm -- failed, because it's deprecated in udev-181.

All in all it was functinal but flaky, so I reverted to 165; I'll give it a later go when I have a better understanding of udev in general and the way it is implemented in Slackware.
 
  


Reply



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
Have to alter fstab when upgrading to udev? rabalder321 Linux - Newbie 2 01-12-2006 07:53 PM
Upgrading to unstable broke udev Ephracis Debian 5 10-17-2005 04:28 AM
Upgrading to 2.6 Kernel, ALSA, Udev Kenji Miyamoto Slackware 8 08-27-2005 05:24 PM
Kernel Upgrading, dev, udev, etc... Makaelin Slackware 2 02-11-2005 05:58 PM
upgrading to linux 2.6.5 with hotplugging and udev behmjose Linux From Scratch 6 05-05-2004 06:22 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Distributions > Slackware

All times are GMT -5. The time now is 09:06 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration