Mail archive
alpine-devel

Re: [alpine-devel] udev replacement on Alpine Linux

From: Natanael Copa <ncopa_at_alpinelinux.org>
Date: Mon, 27 Jul 2015 10:37:37 +0200

On Sat, 25 Jul 2015 21:11:41 -0300
Alan Pillay <alanppillay4_at_gmail.com> wrote:

> Dear Alpine Linux developers and mailing-list lurkers,
>
> udev is currently being used on Alpine version 3.2.2, but we all know
> it detracts from the philosophy to keep things simple, small and
> efficient.

udev is optional. Default Alpine Linux uses only mdev.

> There are many programs out there that could replace udev and help
> Alpine get in a better shape. I will list some that I know.
>
> [mdev] there are 2 mdev implementations that I know, busybox's and
> toybox's. On Alpine Linux, busybox already comes installed by default
> (and its mdev comes with it, which is weird since it isn't currently
> used, but I digress)

mdev is used and is fully supported. You may replace mdev with udev if
you need Xorg hotplugging. This is not installed by default though.

There was also a long discussion about adding netlink support to
busybox mdev on busybox mailing list. There was some disagreement on
how to do it.

There was even some patches that made busybox mdev read events from
stdin.

> [smdev] smdev is an even simpler implementation of a device manager by
> the well-known suckless developers. If it is mature enough, certainly
> a high contender.

I did look at smdev. One of the big benefits with smdev is the
mdev.conf compatibility. I don't want support 3-4 different config
formats (udev rules, mdev.conf etc).

smdev requires fork/exec for every single event which has a performance
issue. I believe that you can solve the performance issue too, with
just a little more effort.

> [eudev] a fork of udev from the gentoo developers. Doesn't appear to
> be as small as others, but should be more easily integrated into
> alpine.

Alpine Linux switched the udev support to eudev a couple of weeks ago
and rebuilt everything that linked to libudev.

Benefit with eudev is that it is "mainstream" nowdays. upstream
softwoare project often supports only udev.

Downside is that code comes from systemd and suffers from many of the
same management issues that upstream systemd. (eg. no support for
separate /usr partition, network interface renaming policies etc,
require devtmpfs etc)

To use eudev efficiently we would have to follow whatever systemd does
on many things. I am not comfortable with that thought.

I would like to get rid of eudev/udev, but at the same time, I want
support for hotplugging in Xorg. I want plug in a moue and keyboard and
I want it to just work, without needing changing xorg.xonf and restart
xorg. Today you need (e)udev for that.

> [vdev] a device manager with an approach a bit different, offers an
> optional filesystem interface that implements a per-process view of
> /dev. Possibly the least simple alternative, but interesting
> nonetheless.

I will have to look at vdev. The udev compat might be of interest.

> I thought about using this means of communication so developers ca
> discuss this matter that impacts the use of the Alpine Linux
> distribution as a whole.
> I am also emailing relevant parties (developers of the cited device
> managers, so they can participate if they desire).
> Thanks for the attention.

Thanks for raising the topic and for bringing in the people who likely
sit with the answers. I think it would be great if we together could
come up with something. I should present my thoughts/ideas on the
subject in a separate email.

Thanks!

>
> KISS
>


---
Unsubscribe:  alpine-devel+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-devel+help_at_lists.alpinelinux.org
---
Received on Mon Jul 27 2015 - 10:37:37 GMT