devd in jail
Giulio Ferro
auryn at zirakzigil.org
Mon Sep 4 06:54:37 UTC 2017
On 09/08/2017 21:14, Alan Somers wrote:
> On Wed, Aug 9, 2017 at 12:47 PM, Giulio Ferro <auryn at zirakzigil.org> wrote:
>> Hello all,
>>
>> Setup : 11.1-STABLE FreeBSD 11.1-STABLE #0 r321925M amd64
>>
>>
>> I'm trying to create a fully virtualized desktop enviroment in a jail by
>> means of installing there
>> a xrdp-devel server + Xorg installation (xorg + xorgrdp).
>>
>> Everything seems to work until the moment when the X server actually tries
>> to come up (after I choose session=xorg, username + password)
>> In the X logs in the jail, in fact, I have this error:
>>
>> ...
>> [ 9768.824] (EE) config/devd: fail to connect to devd
>> [ 9768.824] [config] failed to initialise devd
>>
>>
>> I've checked on the host machine, and I don't have that error as everything
>> works fine there...
>>
>> In my jail, I've setup the devfs like this (/etc/jail.conf in the host):
>>
>> ---
>> exec.start="/bin/sh /etc/rc";
>> exec.stop="/bin/sh /etc/rc.shutdown";
>> exec.clean;
>> mount.devfs;
>> devfs_ruleset=1;
>>
>> path="/usr/home/jail/$name";
>>
>> myjail {
>> host.hostname="myjail.me.com";
>> vnet;
>> vnet.interface = epair0b, epair1b;
>> persist;
>> }
>> ---
>>
>>
>> and in the /etc/devfs.conf everythink is commented out.
>>
>> In the /dev directory in the jail, I get both the devctl and devctl2
>> devices.
>>
>> As the devd demon is not running in the jail, I've tried adding
>> devd_enable="YES"
>>
>> in the rc.conf (jail), but when I try to start it, I get:
>>
>> # /etc/rc.d/devd start
>> Starting devd.
>> devd: Can't open devctl device /dev/devctl: Device busy
>> /etc/rc.d/devd: WARNING: failed to start devd
>>
>>
>> Do you know if I'm doing something wrong, or there's a proper way to have
>> devd running in the jail?
>>
>> I've thought that maybe I should use the devtcl2 device, as the devctl is
>> used by the host,
>> but I don't know how to specify that to devd...
>>
>> Thanks in advance for your help.
>>
>> Giulio
> Unfortunately, you're not going to be able to run devd(8) in the jail.
> /dev/devctl can be opened by only one reader at a time, and that
> reader is always devd(8). /dev/devctl2 is actually a completely
> different device with a totally different interface. Apologies for
> the confusing names. But you may not need to run a totally separate
> instance of devd. The X server is probably trying to open either
> /var/run/devd.pipe or /var/run/devd.seqpacket.pipe. ktrace would tell
> you which. If you can bridge those sockets into the jail, then X
> would probably run.
>
> -Alan
> _______________________________________________
> freebsd-hackers at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-hackers
> To unsubscribe, send any mail to "freebsd-hackers-unsubscribe at freebsd.org"
Hi Alan,
sorry for the late feedback and thanks for your advice.
Unfortunately I haven't found a way to bridge (as you say) the relevant
pipe files to the jail.
I've tried to mount_nullfs the host /var/run to the jail /var/run, but
with tragic results, as the jail deletes
the /var/run content when it starts up.
Do you have some better way to do that? I ask because this may be more
convenient venue compared to apply the patches,
and more portable in case of updates, etc...
Thanks
Giulio
More information about the freebsd-hackers
mailing list