LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware - Installation (https://www.linuxquestions.org/questions/slackware-installation-40/)
-   -   Is life without udev possible? (https://www.linuxquestions.org/questions/slackware-installation-40/is-life-without-udev-possible-4175528546/)

genss 12-19-2014 09:19 AM

Quote:

Originally Posted by gearheadgeek (Post 5287471)
I have too much else to do to keep up with kernel development so I missed that. I have been using 2.6 kernels recently and this is my first go with a 3.x series. I can't find anything anywhere that explains tmpdevfs or how to use it.

As I mentioned, I have been using Slack in embedded since 4.0 (or maybe it was 3.4) so I actually do understand device nodes know how to make them.

problem is that the whole udev thing is made by Kay Sievers with help from GKH
hence NO documentation, 0, nada
Kay is too smart to explain anything

the hotplug doc i linked is the best documentation there is

as for the /dev entries being nodes
afaik they always have been, at least since 2.6 (maybe in 2.4 they werent, idk)

gearheadgeek 12-19-2014 01:14 PM

Quote:

Originally Posted by genss (Post 5287533)
problem is that the whole udev thing is made by Kay Sievers with help from GKH
hence NO documentation, 0, nada
Kay is too smart to explain anything

Which, to me, is a very good reason to avoid udev.
Quote:

the hotplug doc i linked is the best documentation there is
I will take a look at that.

gearheadgeek 12-19-2014 01:19 PM

Quote:

Originally Posted by veerain (Post 5287521)
To use devtmpfs all you have to do is:

mount -t devtmpfs devtmpfs /dev

Apparently it is not that simple. The kernel seems to populate /dev with what it finds at boot, but needs some hotplug mechanism (udev/mdev/etc) to find anything that is added later. In my case, the only thing added is a thumb drive to get data off the device. That works fine with a static /dev but not with devtmpfs.

gearheadgeek 12-19-2014 01:22 PM

As a postscript to this, I am happy. I have 14.1 running without udev and with a monolithic kernel (no modules or initrd) and it is booting in about 12 seconds and everything works.

Didier Spaier 12-19-2014 02:26 PM

Quote:

Originally Posted by genss (Post 5287533)
problem is that the whole udev thing is made by Kay Sievers with help from GKH
hence NO documentation, 0, nada
Kay is too smart to explain anything

Really? What about the man page? the reference manual? If you miss something, please state what. But maybe you've found something wrong, inaccurate, or not up to date in the documentation: please tell us what. Till then, I'll assume that you are just spreading FUD.

ReaperX7 12-19-2014 08:33 PM

Using mdev as an alternative to udev will require some heavy work.

I've been tinkering with a SlackBuild to build a working mdev solution for a few weeks now, but I need to get the rc.mdev init script crafted before I can try to test the package. Be heavily forewarned, mdev does not have rule-based auto-loading of modules. All it does is creates an instance of the device node and attempts to populate it based on it's configuration.

If you want additional rule-based assignment of devices, such as input devices, you'll need haldaemon (hal with hal-info). Also, if you decide to disable udev, do NOT uninstall it. Several projects rely on libudev as a dependency, but don't actively use it. Plus, you'll need to use the xf86-input-keyboard/mouse/joystick drivers for input devices if you go with mdev.

genss 12-20-2014 04:20 PM

Quote:

Originally Posted by Didier Spaier (Post 5287689)
Really? What about the man page? the reference manual? If you miss something, please state what. But maybe you've found something wrong, inaccurate, or not up to date in the documentation: please tell us what. Till then, I'll assume that you are just spreading FUD.

you can assume whatever you want

that is not documentation on udev, but on writing against udev
udev does A LOT of things that you don't know about and even the things you do know about (making nodes, loading firmware) are never explained in any way
like that udev sends events to xorg-server

you can also go check the source code to find almost no comments and absolutely non existent function naming convention
(i counted 3 styles, one of them OO)

in short it's about just a little less documented then X
and it matters for udev more then your avg program in that there is only one way to do what it does
not to mention that a page of ascii art drawings and half a page of text could explain it all



anyway we were not here talking about udev api, but about what udev does to make those dev nodes




PS if you can find me documentation on how logind/console-kit does anything, id be grateful
PPS look at the udev's device struct to see something funny

John VV 12-20-2014 04:42 PM

Quote:

As a postscript to this, I am happy. I have 14.1 running without udev and with a monolithic kernel (no modules or initrd) and it is booting in about 12 seconds and everything works.
now ,plug in that kindle fire that is under the tree and see it it works
or
the usb laser Virtual keyboard

mlslk31 12-22-2014 10:29 PM

You might go the devtmpfs route, really. It makes little difference in boot memory or kernel size, but you do have to set custom permissions after boot.

If you must go static, there's Documentation/devices.txt in the kernel source, which tells your where the devices are supposed to be. Use mknod if you have to do so. Also, /proc/devices can give a hint on where devices are located. There are also files in /sys that tell you about the nodes. For a command like `find /sys -name dev`, the actual contents of those dev files are the major and minor numbers for the device. You might have to figure out if the device is a block device, character device, or something else.

Slackware can be done without udev, easily. But yeah, it helps to have a PS/2 keyboard. I think I'll find that reply and mod it up. A bit of precaution: You might look at the /dev directory of your system by booting from a utility disk, just to be sure that the static devs are still there. Also, if you want to slack off, you could just tar the devtmpfs /dev from a running system, then restore it as static devs from a utility disk, to have a nice starting point. Reboot using a devtmpfs-free kernel, and you should be good to go.

gearheadgeek 12-23-2014 03:58 PM

Quote:

Originally Posted by John VV (Post 5288238)
now ,plug in that kindle fire that is under the tree and see it it works
or
the usb laser Virtual keyboard

Apparently you haven't been paying attention. Neither of those get plugged into my embedded device.

ReaperX7 12-25-2014 04:55 AM

LFS has a good section on setting up static devices also:

http://linuxfromscratch.org/blfs/vie...s/devices.html

gearheadgeek 01-02-2015 07:06 AM

Quote:

Originally Posted by ReaperX7 (Post 5290282)
LFS has a good section on setting up static devices also:

http://linuxfromscratch.org/blfs/vie...s/devices.html

Thanks. Interesting that they recommend static devices on servers.


All times are GMT -5. The time now is 10:34 AM.