From: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 00/12 v8] Introduce libudev (branch yem/libudev-4)
Date: Mon, 18 Jul 2016 22:19:35 +0200 [thread overview]
Message-ID: <20160718221935.3dbad2da@free-electrons.com> (raw)
In-Reply-To: <20160718175241.GA3738@free.fr>
Hello,
On Mon, 18 Jul 2016 19:52:41 +0200, Yann E. MORIN wrote:
> That is *not* about size; I don't think I even ever made that point as a
> reason to have only libudev.
OK, then I really don't see the point.
> > So I'm not sure if it's really worth the effort. After all, installing
> > only libudev without eudev is not really supported upstream (we have to
> > trick by building only some subdirectories).
> >
> > I'm not entirely decided yet, so I'm waiting for arguments. But I'm
> > hesitating between merging this, or asking people who really care about
> > this to simply remove the eudev daemon in a post-build script.
>
> But then you would not have libudev if you use mdev or a static /dev.
Correct. But why would you want mdev or a static /dev absolutely if you
need udev?
> Note that libudev is not about managing /dev. It is about providing an
> abstraction to device descriptions (e.g. type and so on) as well as
> events (like hotplug).
Right, but libudev is provided by eudev, and it does both, without even
providing a configure option to build either one or the other.
> A udev daemon (be it from eudev or systemd) is about managing the
> content of /dev. For that it uses libudev to get the device descriptions
> and events, and matches that to a DB of rules to generate the entries
> in /dev.
>
> Bernd has a (imho, valid) use-case about using only libudev without a
> udev daemon altogether; there *are* other similar cases.
You still don't explain which use-case is that. You keep saying that
Bernd wants to use libudev without the udev daemon, but you don't
explain *why*.
As far as I'm aware, Bernd's use case is on using Kodi, so I'm sure you
can agree that the build time savings and storage size savings are
really in the noise.
> For example, we now have support (and have pending patches) for some
> "containerisation" stuff, like docker and lxc. You can also see that
> Buildroot can be used to generate lightweight containers. Such
> containers need not have a udev daemon of their own (the system has one,
> and /dev is bind-mounted into the container); however, an application
> inside that container will need to have access to the device "DB" and
> events, thus needs libudev.
As far as I understand, in a Docker situation, you don't bind
mount /dev into your container. Instead, you use the --device option of
docker run to get only some specific devices visible in your container.
Regarding LXC
(https://linuxcontainers.org/fr/lxc/manpages/man5/lxc.container.conf.5.html) :
By default, lxc creates a few symbolic links (fd,stdin,stdout,stderr)
in the container's /dev directory but does not automatically create
device node entries. This allows the container's /dev to be set up as
needed in the container rootfs. If lxc.autodev is set to 1, then
after mounting the container's rootfs LXC will mount a fresh tmpfs
under /dev (limited to 100k) and fill in a minimal set of initial
devices. This is generally required when starting a container
containing a "systemd" based "init" but may be optional at other
times. Additional devices in the containers /dev directory may be
created through the use of the lxc.hook.autodev hook.
So no, it does not seem like bind-mounting /dev inside a container is a
typical use-case.
Again, this is a lot of additional complexity for very very dubious
use-cases. I believe we have much more interesting and useful things to
merge than this functionality, at least as long as it doesn't come with
stronger arguments as to why it's useful.
Best regards,
Thomas
--
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
next prev parent reply other threads:[~2016-07-18 20:19 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-07-11 22:16 [Buildroot] [PATCH 00/12 v8] Introduce libudev (branch yem/libudev-4) Yann E. MORIN
2016-07-11 22:16 ` [Buildroot] [PATCH 01/12 v8] package/eudev: explicitly disable rules generator if not wanted Yann E. MORIN
2016-07-15 18:36 ` Thomas Petazzoni
2016-07-11 22:16 ` [Buildroot] [PATCH 02/12 v8] package/eudev: use the description on their home page Yann E. MORIN
2016-07-15 18:36 ` Thomas Petazzoni
2016-07-11 22:16 ` [Buildroot] [PATCH 03/12 v8] package/eudev: add option to enable the udev daemon Yann E. MORIN
2016-07-11 22:16 ` [Buildroot] [PATCH 04/12 v8] package/eudev: fix configure options Yann E. MORIN
2016-07-15 18:36 ` Thomas Petazzoni
2016-07-11 22:16 ` [Buildroot] [PATCH 05/12 v8] package/eudev: libgudev is no longer provided by eudev Yann E. MORIN
2016-07-15 18:36 ` Thomas Petazzoni
2016-07-11 22:16 ` [Buildroot] [PATCH 06/12 v8] package/eudev: allow building only libudev Yann E. MORIN
2016-07-13 19:40 ` Bernd Kuhls
2016-07-11 22:16 ` [Buildroot] [PATCH 07/12 v8] package/libudev: new virtual package Yann E. MORIN
2016-07-13 19:41 ` Bernd Kuhls
2016-07-11 22:16 ` [Buildroot] [PATCH 08/12 v8] package/eudev: provides libudev Yann E. MORIN
2016-07-13 19:41 ` Bernd Kuhls
2016-07-11 22:16 ` [Buildroot] [PATCH 09/12 v8] package/systemd: " Yann E. MORIN
2016-07-11 22:16 ` [Buildroot] [PATCH 10/12 v8] package/libudev: make it selectable Yann E. MORIN
2016-07-13 19:41 ` Bernd Kuhls
2016-07-11 22:16 ` [Buildroot] [PATCH 11/12 v8] package/qt5base: optionally use libudev Yann E. MORIN
2016-07-11 22:16 ` [Buildroot] [PATCH 12/12 v8] package/libinput: only needs libudev, not udev daemon Yann E. MORIN
2016-07-12 20:16 ` [Buildroot] [PATCH 00/12 v8] Introduce libudev (branch yem/libudev-4) Bernd Kuhls
2016-07-12 20:49 ` Yann E. MORIN
2016-07-13 19:43 ` Bernd Kuhls
2016-07-16 13:47 ` Thomas Petazzoni
2016-07-18 17:52 ` Yann E. MORIN
2016-07-18 20:19 ` Thomas Petazzoni [this message]
2016-07-27 21:37 ` Peter Korsgaard
2016-07-28 20:01 ` Bernd Kuhls
2016-07-28 20:28 ` Peter Korsgaard
2021-03-08 21:59 ` Bernd Kuhls
[not found] ` <99d32ded-9102-c9a7-4f15-38d1bd0a0537@t-online.de>
2021-03-08 22:30 ` Yann E. MORIN
2021-08-13 5:28 ` Bernd Kuhls
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160718221935.3dbad2da@free-electrons.com \
--to=thomas.petazzoni@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox