[SOLVED] Udev alternatives in Artix 04 May 2018, 10:38:40 Hi all!I want to try to run Artix without udev. As its alternatives i have tried smdev itself (https://git.suckless.org/smdev) and nldev (http://git.r-36.net/nldev). In both cases (i just replaced udev openrc script with simple script starting smdev or nldev) system started normally and i could mount any partition without problems. On the other hand, system then had no network access, no audio and no possibility to start X.As i found in mdev docs (https://git.busybox.net/busybox/plain/docs/mdev.txt) and morpheus linux init scripts (https://git.2f30.org/fs/file/bin/rc.init.html) one needs to add path to smdev in /proc/sys/kernel/hotplug. Artix does not have this file.Can this be avoided without kernel rebuld or how kernel should be configured? Last Edit: 25 December 2018, 14:06:04 by phoenix_king_rus 2 Likes
Re: Udev alternatives in Artix Reply #1 – 04 May 2018, 23:30:37 Quote from: phoenix_king_rus – on 04 May 2018, 10:38:40Hi all!I want to try to run Artix without udev. As its alternatives i have tried smdev itself (https://git.suckless.org/smdev) and nldev (http://git.r-36.net/nldev). In both cases (i just replaced udev openrc script with simple script starting smdev or nldev) system started normally and i could mount any partition without problems. On the other hand, system then had no network access, no audio and no possibility to start X.As i found in mdev docs (https://git.busybox.net/busybox/plain/docs/mdev.txt) and morpheus linux init scripts (https://git.2f30.org/fs/file/bin/rc.init.html) one needs to add path to smdev in /proc/sys/kernel/hotplug. Artix does not have this file.Can this be avoided without kernel rebuld or how kernel should be configured?It will require a kernel rebuild. You have to enable "CONFIG_UEVENT_HELPER" in the kernel. 2 Likes
Re: Udev alternatives in Artix Reply #2 – 05 May 2018, 09:18:30 Quote from: Chris Cromer – on 04 May 2018, 23:30:37It will require a kernel rebuild. You have to enable "CONFIG_UEVENT_HELPER" in the kernel.Thanks! I will try it
Re: Udev alternatives in Artix Reply #3 – 06 July 2018, 15:27:12 After some time of working on using nldev in Artix i see following picture:1) It is possible to configure smdev to populate /dev almost correct (it looks like all files are detected but not all symlinks. I will try to fix it later)2) With nldev one doesn't need any special files to start smdev: it just works (but probably one needs a way to respawn nldev as it fails sometimes because of some buffer problems. I use respawn command from ubase for it)3) The one thing which still misses is to load module once device is detected. Some parts of this task is done: nlmon shows all environment variables for each device, which contains MODALIAS. I wrote a script which finds and loads module by given alias. The problem is to connect one to other: i cannot make script start until i kill nlmon 1 Likes
Re: Udev alternatives in Artix Reply #4 – 02 August 2018, 21:03:45 Some news on nldev state:1) all mentioned further works without any manual intervention now2) I have almost all modules loaded at setup (udev setup has 5 modules more with fuse among them. Other 4 are unclear for me: ccm, ax25, 8021q, mrp)3) The system is closer to be able to work: it has working gpm and network connection (but my wlp3s0 interface is shown as wlan0). It is possible to start X session but it has no reaction to keyboard and mouse4) Links in /dev are still missing: there are no links for input devices and audio (so, cmus doesn't work). /dev/dri links are also missing but graphics itself works OK. Also there is no /dev/mapper but as i don't use LVM on testing machine i can't check if it will work
Re: Udev alternatives in Artix Reply #5 – 02 August 2018, 22:27:56 It would be great if nldev reached a status of full operability. Please keep up the good work. 1 Likes
Re: Udev alternatives in Artix Reply #6 – 03 August 2018, 04:03:31 Quote from: phoenix_king_rus – on 04 May 2018, 10:38:40Hi all!I want to try to run Artix without udev. As its alternatives i have tried smdev itself (https://git.suckless.org/smdev) and nldev (http://git.r-36.net/nldev). In both cases (i just replaced udev openrc script with simple script starting smdev or nldev) system started normally and i could mount any partition without problems. On the other hand, system then had no network access, no audio and no possibility to start X.This is probably an ignorant question but why is X affected?
Re: Udev alternatives in Artix Reply #7 – 03 August 2018, 08:16:52 Quote from: mrbrklyn – on 03 August 2018, 04:03:31This is probably an ignorant question but why is X affected?Nldev and smdev themselves don't load modules (so they don't load module for GPU). For mdev and smdev this could be done through configuration file but this case you probably need to know which devices really need modules. I wrote simple script to start smdev and load modules and use it as runpath for nldev. As i mentioned above this works but i still have some things missing
Re: Udev alternatives in Artix Reply #8 – 03 August 2018, 11:05:11 Is there an equivalent of a libudev?In terms of making it install on artix, the package would have to be a split package into libudev and udev part to swap out eudev.
Re: Udev alternatives in Artix Reply #9 – 03 August 2018, 12:12:29 Quote from: artoo – on 03 August 2018, 11:05:11Is there an equivalent of a libudev?In terms of making it install on artix, the package would have to be a split package into libudev and udev part to swap out eudev.By default nldev reads messages from kernel and libudev (unless you tell it to ignore one of them). After your reply i tested nldev only with kernel messages: the only difference is that rtsx_usb_ms and memstick modules are not loaded and ccm module is loaded.Also i made a mistake in last report: sound works OK, at least cmus and alsamixer work without problems Last Edit: 03 August 2018, 12:22:01 by phoenix_king_rus
Re: Udev alternatives in Artix Reply #10 – 06 August 2018, 08:43:33 I have tested nldev on another device which uses LVM. So:1) nldev may crush with buffer overflow error. It needs some respawning mechanism then. Also you may need to run nltrigger once more2) LVM works but you need proper initscripts order (as lvm2 runit script running after triggering command). On shutdown this script provides messages "Device /dev/<all block devices> not initialized in udev database even after waiting 10000000 microseconds"Also i found some info on problem with input in X11 in other distro wikis: Gentoo wiki says that evdev requires udev (but which module is used by gpm?) and Alpine wiki says that xorg might need udev for input devices
Re: Udev alternatives in Artix Reply #11 – 06 August 2018, 10:50:31 Quote from: phoenix_king_rus – on 03 August 2018, 08:16:52Nldev and smdev themselves don't load modules (so they don't load module for GPU). For mdev and smdev this could be done through configuration file but this case you probably need to know which devices really need modules. I wrote simple script to start smdev and load modules and use it as runpath for nldev. As i mentioned above this works but i still have some things missingbut the GPU is loaded by the kernel on boot?
Re: Udev alternatives in Artix Reply #12 – 06 August 2018, 10:55:05 Quote from: mrbrklyn – on 06 August 2018, 10:50:31but the GPU is loaded by the kernel on boot?On my first device (where nldev runs without any crushes) GPU driver is detected on boot (intel). On the second one it is detected after second nltrigger call (amdgpu). In both cases libudev is not required
Re: Udev alternatives in Artix Reply #13 – 08 August 2018, 15:07:43 So, disabling evdev module didn't help. I will think on how else to make input in X workingI post here links to my current versions of nldev and smdev on gitlab for anybody who wants also test it: https://gitlab.com/phkr/nldev and https://gitlab.com/phkr/smdev
Re: Udev alternatives in Artix Reply #14 – 08 August 2018, 16:49:00 This is a deep dive into what has become a broken X11 system since it has been "deseated" and made to be run out of systemd.There is no reason why x should not just work with startx