1 |
On 06/09/2016 10:00 AM, Dale wrote: |
2 |
> waltdnes@××××××××.org wrote: |
3 |
>> On Thu, Jun 09, 2016 at 08:16:57AM -0500, Dale wrote |
4 |
>>> karl@××××××××.se wrote: |
5 |
>>>> Dale: |
6 |
>>>> ... |
7 |
>>>>> Can a system even boot without udev? |
8 |
>>>> Yes, use sys-fs/static-dev (unless you have some special boot |
9 |
>>>> requirements). |
10 |
>>> Well, I was talking about if udev was removed and then a reboot |
11 |
>>> was done. I would think it would boot to a certain point then when |
12 |
>>> whatever started and needed devices to be created in /dev, it would |
13 |
>>> start failing. I suspect this would vary depending on the install |
14 |
>>> as well. |
15 |
>> You need *A* device-manager. You can use udev, eudev, static-dev, |
16 |
>> mdev, whatever, but you need something. Mind you, some software assumes |
17 |
>> or requires udev/eudev. |
18 |
>> |
19 |
> |
20 |
> |
21 |
> What I was referring to was if during this switch from udev to eudev, |
22 |
> someone rebooted without any dev manager at all. In other words, emerge |
23 |
> -C udev and then reboot before emerging eudev or some other dev |
24 |
> manager. I suspect that would get interesting pretty quick. |
25 |
> |
26 |
> Dale |
27 |
> |
28 |
> :-) :-) |
29 |
> |
30 |
> |
31 |
|
32 |
Actually, you no longer need a user-space device manager at all, unless |
33 |
you want to be able to access device nodes under /dev as a user that |
34 |
isn't UID=0 or has CAP_DAC_OVERRIDE. The kernel provides a devtmpfs |
35 |
filesystem that will have every single device node that udev used to |
36 |
create (udev no longer even creates the devices -- it just relies on |
37 |
devtmpfs doing so), but most of them will be owned by 0:0 (root:root) |
38 |
with permissions 0600; excepting certain nodes like /dev/null or |
39 |
/dev/zero, which will be owned by 0:0 with permissions 0666. One other |
40 |
thing that udev does that you might rely on is to create symlinks like |
41 |
/dev/disk/by-label/*, which can be used by mount(8) if you specify |
42 |
LABEL=foo in /etc/fstab. The only other things that I'm aware of udev |
43 |
doing is to rename network devices and (possibly) to notify other |
44 |
applications of changes, somehow (but I'm not sure that it actually does |
45 |
that). |
46 |
|
47 |
If you don't actually need any of that (you are working on an embedded |
48 |
system where you only need root anyway, for instance), then you can just |
49 |
use a bare devtmpfs without a device manager changing permissions, |
50 |
adding links, etc. |
51 |
|
52 |
-- |
53 |
Jonathan Callen |