Slackware This Forum is for the discussion of Slackware Linux.
|
Notices |
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
Are you new to LinuxQuestions.org? Visit the following links:
Site Howto |
Site FAQ |
Sitemap |
Register Now
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
|
 |
|
10-11-2013, 11:05 AM
|
#16
|
LQ Addict
Registered: Nov 2008
Location: Paris, France
Distribution: Slint64-15.0
Posts: 11,368
Rep: 
|
Patrick Volkerding is the main author of rc.S, that's written in the script.
He didn't forget to explain anything: the purpose of its comment is to warn the user of the consequences of not making rc.udev executable, no more, no less.
Last edited by Didier Spaier; 10-11-2013 at 11:24 AM.
|
|
|
10-11-2013, 11:11 AM
|
#17
|
Senior Member
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442
Original Poster
Rep:
|
I would have considered it a courtesy at least a slight mentioning of recompilation of some packages. I expect my words will not be taken as a criticism. Nothing farther from my purpose. It's only that the words in rc.S made me feel very comfortable.
ADDENDUM: one of the consecuences you mention, is the need to recompile some packages, provided you want every thing to function flawlessly.
Last edited by stf92; 10-11-2013 at 11:26 AM.
|
|
|
10-11-2013, 11:45 AM
|
#18
|
Amigo developer
Registered: Dec 2003
Location: Germany
Distribution: Slackware
Posts: 4,928
|
I'm afraid that there are quite a few packages which cannot be (re)compiled without udev, dbus & Co. -particularly KDE/GNOME/XFCE to name a few. And some of those will not run without them being present -although you could probably link udev to /bin/true to ignore it.
If you are willing to mostly sacrifice using one of the 'big' desktops, you shouldn't have many problems. For device nodes, just install/use the old 'devs-*' package and be done with it. 'devfs' is very ancient -the current 'devtmpfs' does a fine job, but you might need to help it with special device nodes(create them in init scripts or add them manually). And for kernel modules, load them from rc.modules or roll yourself a nice monolithic kernel with everything you need built in.
As for there being notes in rc.S about desktop dependencies/compile order -I doubt that they are relevant there.
|
|
1 members found this post helpful.
|
10-11-2013, 11:50 AM
|
#19
|
Member
Registered: Oct 2005
Location: Sweden
Distribution: lackware and alpine
Posts: 137
Rep: 
|
I'm running my system with udev completely removed. With a kernel recompiled without CONFIG_SND_DYNAMIC_MINORS and CONFIG_DEVTMPFS_MOUNT. I've also had to recompile lvm2 and xorg-server.
Unless you know what you're doing you are probably better off with just setting rc.udev non-executable. I would think that both lvm and xorg should work with udev installed but disabled (with AllowEmptyInput set to false in xorg.conf, since otherwise it insists on getting input devices from udev). And a few other programs that link against udev work without modifications as long as libudev.so.0 is available (eg. lsblk from util-linux).
If you are using a (usb) scanner however, you'll probaby run into some problems. Since usbfs was deprecated some time ago, the only way to reliably get non-root access to the scanner seems to be with (udev, or) devtmpfs together with a hotplug script that figures out which usb device the scanner is, and chowns it to :lp (devtmpfs of course, need not be mounted at /dev, if you want to ha a static /dev).
Simply disabling udev shouldn't necessitate a recompile of core packages (except kernel, unless you use something else, e.g. busybox' mdev, to manage permissions of devtmpfs' /dev tree). But I don't know about KDE or other DEs and "desktop applications", I would gess that udisks and NetworkManager couldn't even be compiled without udev support.
|
|
2 members found this post helpful.
|
10-11-2013, 12:04 PM
|
#20
|
Senior Member
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442
Original Poster
Rep:
|
Quote:
Originally Posted by gnashley
I'm afraid that there are quite a few packages which cannot be (re)compiled without udev, dbus & Co. -particularly KDE/GNOME/XFCE to name a few. And some of those will not run without them being present -although you could probably link udev to /bin/true to ignore it.
If you are willing to mostly sacrifice using one of the 'big' desktops, you shouldn't have many problems. For device nodes, just install/use the old 'devs-*' package and be done with it. 'devfs' is very ancient -the current 'devtmpfs' does a fine job, but you might need to help it with special device nodes(create them in init scripts or add them manually). And for kernel modules, load them from rc.modules or roll yourself a nice monolithic kernel with everything you need built in.
As for there being notes in rc.S about desktop dependencies/compile order -I doubt that they are relevant there.
|
Ahhh, so the packages that need to be recompiled only affect the GUI behavior, that is, should you not use a GUI at all, the system behavior after the modifications suggested in rc.S would be flawless. And in distribution disk #1://ANNOUNCE.14_0, we read:
Quote:
Slackware 14.0 brings many updates and enhancements, among which
you'll find two of the most advanced desktop environments available
today: Xfce 4.10.0, a fast and lightweight but visually appealing and
easy to use desktop environment, and KDE 4.8.5, a recent stable release
of the 4.8.x series of the award-winning KDE desktop environment.
These desktops utilize udev, udisks, and udisks2, and many of the
specifications from freedesktop.org which allow the system administrator
to grant use of various hardware devices according to users' group
membership so that they will be able to use items such as USB flash
sticks, USB cameras that appear like USB storage, portable hard drives,
CD and DVD media, MP3 players, and more, all without requiring sudo, the
mount or umount command. Just plug and play. Slackware's desktop
should be suitable for any level of Linux experience.
|
Many thanks for your remarks about a udev-less system.
Last edited by stf92; 10-11-2013 at 12:11 PM.
|
|
|
10-11-2013, 12:32 PM
|
#21
|
Senior Member
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442
Original Poster
Rep:
|
Thanks for your remarks, e5150. They are welcome in deed.
Quote:
Originally Posted by e5150
Unless you know what you're doing you are probably better off with just setting rc.udev non-executable.
|
So no kernel recompilation? But you later add:
Quote:
Simply disabling udev shouldn't necessitate a recompile of core packages (except kernel, [...]) [...]
|
Should I take it that setting rc.udev non-executable will necessarily need kernel recompilation?
I said it before at the very thread beginning that I'm running slackware 14.0 (x86_64). I repeat it here to help avoid confusions. This distribution uses kernel 3.2.29.
Last edited by stf92; 10-11-2013 at 12:34 PM.
|
|
|
10-11-2013, 12:50 PM
|
#22
|
Member
Registered: Oct 2005
Location: Sweden
Distribution: lackware and alpine
Posts: 137
Rep: 
|
Quote:
Originally Posted by stf92
Thanks for your remarks, e5150. They are welcome in deed.
So no kernel recompilation? But you later add:
Should I take it that setting rc.udev non-executable will necessarily need kernel recompilation?
I said it before at the very thread beginning that I'm running slackware 14.0 (x86_64). I repeat it here to help avoid confusions. This distribution uses kernel 3.2.29.
|
If you are going for a static /dev you would have to recompile the kernel without DEVTMPFS_MOUNT (which is enabled by default for the stock generic kernel in 14.0), otherwise /dev will be automatically managed by the kernels devtmpfs. So after each reboot you'd have to set all the appropriate permissions on the devices, and maybe create some that devtmpfs doesn't cover (devtmpfs would not detect when I insert an SD-card into my card reader, for example, resulting in a /dev/sdh for the reader, but no sdh1 when there eventually was an actual partition present.)
And you would get problem with your sound unless you disable dynamic minors for sound cards. The help message from kernel configuration states: "If you say Y here, the minor numbers of ALSA device files in /dev/snd/ are allocated dynamically. This allows you to have more than 8 sound cards, but requires a dynamic device file system like udev. If you are unsure about this, say N here."
If you're going to use mdev, or some homebrewn magic script, you might get by, without recompiling the kernel. But for plain old static /dev from the a/devs package, and rc.modules, I'd suggest recomiling without those two setting.
ADDENDUM: What I ment by "just" setting rc.udev non-executable, was, making it non-executable, as opposed to flat out uninstalling udev, which would require recompilation of stuff like xorg-server and lvm. Kernel recompilation is advisable regardless of the method by which you stop using udev.
Last edited by e5150; 10-11-2013 at 12:58 PM.
|
|
1 members found this post helpful.
|
10-11-2013, 01:28 PM
|
#23
|
Senior Member
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442
Original Poster
Rep:
|
So, if I recompile without [CONFIG_]DEVTMPFS_MOUNT and without CONFIG_SND_DYNAMIC_MINORS, the scenario would likely be this:
Quote:
Originally Posted by e5150
[...] after each reboot you'd have to set all the appropriate permissions on the devices, and maybe create some that devtmpfs doesn't cover (devtmpfs would not detect when I insert an SD-card into my card reader, for example, resulting in a /dev/sdh for the reader, but no sdh1 when there eventually was an actual partition present.)
|
And I should respond saying N to the help message from the kernel configuration script (the ALSA thing). I'm writing under the assumption that I will use "plain old static /dev from the a/devs package, and rc.modules", to quote your words.
Quote:
ADDENDUM: What I ment by "just" setting rc.udev non-executable, was, making it non-executable, as opposed to flat out uninstalling udev, which would require recompilation of stuff like xorg-server and lvm. Kernel recompilation is advisable regardless of the method by which you stop using udev.
|
Your words cannot be clearer. May you have a fine week-end.
Last edited by stf92; 10-11-2013 at 01:42 PM.
|
|
|
10-11-2013, 01:53 PM
|
#24
|
Member
Registered: Oct 2005
Location: Sweden
Distribution: lackware and alpine
Posts: 137
Rep: 
|
Quote:
Originally Posted by stf92
So, if I recompile without [CONFIG_]DEVTMPFS_MOUNT and without CONFIG_SND_DYNAMIC_MINORS, the scenario would likely be this:
|
If you compile without DEVTMPFS_MOUNT you'll be able to use your static /dev, where you can mknod, chmod and chown as you feel is appropriate (if the defaults from the devs package doesn't suffice). And the changes will be persistent, so you wouldn't need to make changes after each reboot.
Note however, that you can still have devtmpfs enables. It's just that the kernel automounting that gets you into trouble, since devtmpfs creates only the device files that the kernel thinks are needed (similar to what udev does), but (unlike udev) everything is owned by root:root. So with devtmpfs mounted at /dev, you would have to use something like an rc.local that chowns and chmods everything that user needs access to. Creating a /dev/devtmpfs and mounting (by way of fstab) devtmpfs there for reference, might be a good idea.
(It might be possible to unmount an automounted devtmpfs, (maybe `umount -f /dev`?). But you would still be stuck with dynamic minor device numbers for sound cards. So, recompilation is probably your best bet.)
(There is also CONFIG_DVB_DYNAMIC_MINORS and CONFIG_USB_DYNAMIC_MINORS, which requires udev, but they aren't enabled by the stock kernel, so you shouldn't have to take care of those, unless you've explicitly enabled them yourself.)
|
|
1 members found this post helpful.
|
10-11-2013, 02:36 PM
|
#25
|
Senior Member
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442
Original Poster
Rep:
|
Well, I think after studying this thread and following the advices contained in here, I will be able to enjoy a fully udev-less system (please forgive my clumsiness in understanding your previous post). What good or evil can come out of it is a thing to be seen a posteriori. Plus I see I'm not the only linux user who made up his mind to settle things that way. By the way, may I ask you which is the operating system where you have "completely removed udev"? I mean what linux distrubution and version.
|
|
|
10-11-2013, 02:59 PM
|
#26
|
Member
Registered: Oct 2005
Location: Sweden
Distribution: lackware and alpine
Posts: 137
Rep: 
|
Quote:
Originally Posted by stf92
By the way, may I ask you which is the operating system where you have "completely removed udev"? I mean what linux distrubution and version.
|
Well, I think it started with slackware 11, when I first ran into a problem where the "proper" solution was to (re)write a udev rule. And it just seemed simpler to uninstall udev. Since then I've run through all slackware(-64) versions, without using udev (I went from 14.0 to current shortly after it was anounced as beta).
(But about once a year I seem to forget what I dislike about udev, and try it out for a few days, but in the end udev always tries to outsmart me (by deciding that my midi-controller should be the primary "sound card", resetting my carefully set permissions, or taking forever to load firmware during boot...), so then I go back to the sanity of the good old days.)
|
|
1 members found this post helpful.
|
10-11-2013, 04:16 PM
|
#27
|
Senior Member
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442
Original Poster
Rep:
|
Yes, forgetting things like that can be not an uncommon occurrence for people like me, I can tell you. In many systems, I have always asked for minimum automation. When the system is very complex, some things one is forced to let them be automatic. But I prefer manual control over automation and, because of this, little and simple systems over large complex ones. Another reason for this preference is that little systems are easier to understand whereas with larger systems, the number of things one must resign to understand is too great for my taste.
The old days were certainly good and certainly sane. I could, for instance, play with disk direct access, reading/writing whichever physical sector I wanted, or write a program to put the machine into protected mode and go back to real address mode (80x86 processors) after having done some fun things. I could not even dream with doing that with present day operating systems, whereas in those days, a couple of weeks reading the 80286 programmer's reference manual was enough to understand protected mode, and another couple reading its numeric suplement, enabled you to play with the floating-point processor (NPX).
Last edited by stf92; 10-11-2013 at 04:40 PM.
|
|
|
10-11-2013, 04:38 PM
|
#28
|
Senior Member
Registered: Dec 2008
Posts: 1,201
|
I don't think you did experience the good "old" days. Otherwise, you would not have been unaware what "devfs" meant and wanted to use it.
|
|
|
10-11-2013, 04:43 PM
|
#29
|
Senior Member
Registered: Apr 2007
Location: Buenos Aires.
Distribution: Slackware
Posts: 4,442
Original Poster
Rep:
|
The "good old days" were not exclusive to Unix, though it was one of the oldest OSs. Anyways, perhaps I should restrict my use of those words to the time from the launching of the first desktop computers --there were quite a few of them before the IBM PC-- until some given date.
Last edited by stf92; 10-11-2013 at 04:59 PM.
|
|
|
10-11-2013, 08:28 PM
|
#30
|
LQ Guru
Registered: Jul 2011
Location: California
Distribution: Slackware64-15.0 Multilib
Posts: 6,564
|
That's also why we had HAL and Hotplug which managed devices and auto-mounted drives. It wasn't perfect but it was a lot more sane than udev's rule-kit which still just barely works as well as DeviceKit's less than stellar track record.
|
|
|
All times are GMT -5. The time now is 06:04 AM.
|
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.
|
Latest Threads
LQ News
|
|