Linux From ScratchThis Forum is for the discussion of LFS.
LFS is a project that provides you with the steps necessary to build your own custom Linux system.
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.
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.
devd and udev are similar in functionality. Other than the fact udev was coded for Linux and devd for BSD, they share somewhat similar functionality, but their code is different on many levels.
devd, for a while, required hald as a step-in to serve as a hardware device manager as well as other functionalities it lacked at the time. However, devd has matured since FreeBSD 11.0 has been worked on, and it's very close to the same functionality as udev, however, it does not have the same interfaces at the API layer which is why desktops like Xfce and such still lack automounting of hotplugged USB drives. udev also provided gudev for gobject-introspection and usage of the Gnome Virtual File System for hotswapped USB drives. This means udisks can not be used to handle automounting and limits some functionality back to standard user based controls.
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616
Rep:
Quote:
Originally Posted by ReaperX7
devd and udev are similar in functionality. Other than the fact udev was coded for Linux and devd for BSD, they share somewhat similar functionality, but their code is different on many levels.
devd, for a while, required hald as a step-in to serve as a hardware device manager as well as other functionalities it lacked at the time. However, devd has matured since FreeBSD 11.0 has been worked on, and it's very close to the same functionality as udev, however, it does not have the same interfaces at the API layer which is why desktops like Xfce and such still lack automounting of hotplugged USB drives. udev also provided gudev for gobject-introspection and usage of the Gnome Virtual File System for hotswapped USB drives. This means udisks can not be used to handle automounting and limits some functionality back to standard user based controls.
I figured... But, I am almost willing to try anything since udev is such a piece of crap. I've got a message right now I am trying to fix where the KERNEL consistently names a device and udev changes it, with no directive to do any such thing. Why on earth would anyone ever program a DEFAULT behavior like that? It's just nonsense to change a behavior that's worked for decades with no good reason.
I figured... But, I am almost willing to try anything since udev is such a piece of crap. I've got a message right now I am trying to fix where the KERNEL consistently names a device and udev changes it, with no directive to do any such thing. Why on earth would anyone ever program a DEFAULT behavior like that? It's just nonsense to change a behavior that's worked for decades with no good reason.
You can try mdev from busybox + devtmpfs. I use it in my system last five years (desktop+notebook). It simple, fast and debug friendly.
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616
Rep:
I'm not saying that Linux plumbing doesn't need work either. I just think a lot of what's being done is of poor design. (Though, I can't speak for the packages you two mentioned.)
SysV is still fine for servers, but something for desktop, particularly mobile, is needed. At the same time the replacement need not be more than a process manager. Personally, with what we know today, I think a completely new way of doing it is in order that doesn't involve consolidation.
At the same time, some of the Unix philosophy guys are going a little too far too. Mainly in the area of interpretation of KISS and the idea that programs should do one thing only. If every program did only one thing, we'd have hundreds of thousands of executables in a single desktop. Which, to me, sounds just as complicated as one program that does two thousand things. Imagine a web browser that required a separate exec for images, sound, forms and double that for two tabs. The kernel does more than one thing, so does the CLI and there are commands that do multiple things that manage to do them all well.
When it comes to KISS, I prefer Einstein's idea, "Everything should be as simple as possible and no simpler." So, I tend to think of such things like a floating point number... How much do I need to carry and how much resolution is enough.
At the same time, some of the Unix philosophy guys are going a little too far too. Mainly in the area of interpretation of KISS and the idea that programs should do one thing only. If every program did only one thing, we'd have hundreds of thousands of executables in a single desktop. Which, to me, sounds just as complicated as one program that does two thousand things. Imagine a web browser that required a separate exec for images, sound, forms and double that for two tabs. The kernel does more than one thing, so does the CLI and there are commands that do multiple things that manage to do them all well.
You, right - but only if program still do one thing
For example: ffmpeg have many av format, av filters, etc, but it only work with media - it not file manager/database/text editor.
Kernel also work only with hardware.
Quote:
Originally Posted by Luridis
When it comes to KISS, I prefer Einstein's idea, "Everything should be as simple as possible and no simpler." So, I tend to think of such things like a floating point number... How much do I need to carry and how much resolution is enough.
IMHO we already have good and simple stack for hardware:
kernel - work with hardware
devtmpfs - show devices to userspace software
proc/sysfs - control kernel and hardware
mdev/udev - control hotplug reaction
The purpose of writing programs that do one thing and does it well was the issue of quality software over quantity of software. If a program does only the job it's intended to do, fixing problems becomes trivial.
You can run LFS without udev or mdev, if you know how to use kmod's mknod utility proficiently.
BLFS has a section on how to set up device nodes in /dev and use the /etc/sysconfig/modules script to manually load drivers.
Distribution: LFS 9.0 Custom, Merged Usr, Linux 4.19.x
Posts: 616
Rep:
Quote:
Originally Posted by ReaperX7
The purpose of writing programs that do one thing and does it well was the issue of quality software over quantity of software. If a program does only the job it's intended to do, fixing problems becomes trivial.
The view of "simple" I mention is apparently based on other people's misunderstanding and misquoting the philosophy. Some people explain the "one thing" as if it means singular in activity. I think that's going too far. One domain, sure... Needing a separate executable for every menial task is too much though.
Mdev-like-a-boss has an mdev bootscript that I modified for LFS. It worked fine. Actually Busybox init and mdev both worked well for LFS. The troubles began with BLFS where packages exist that expect udev to be present. And I had to learn how to write in mdev.conf to get predictable handling of USB devices. Anyway, it all worked and was interesting, but I went back to Eudev (especially since the LFS book returned to it at about that time). I still use Busybox init and my own bootscripts though.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.