Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 5 May 2022 17:21:00 -0500
From:      Wes Maag <jwmaag@gmail.com>
To:        Michael Schuster <michaelsprivate@gmail.com>
Cc:        FreeBSD CURRENT <freebsd-current@freebsd.org>
Subject:   Re: FreeBSD, boot environments and /dev
Message-ID:  <CAHMcx4PKQzxOCo2GPa7gR544OK7GQrhfbwQ4A8BBQPCteQXKTA@mail.gmail.com>
In-Reply-To: <CADqw_g%2BUa8oc-cPm6N3ah1Ey1v-nfNk881O2Vp9TquhBcjDj_g@mail.gmail.com>
References:  <CADqw_g%2BUa8oc-cPm6N3ah1Ey1v-nfNk881O2Vp9TquhBcjDj_g@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

[-- Attachment #1 --]
On Thu, May 5, 2022 at 4:10 PM Michael Schuster <michaelsprivate@gmail.com>
wrote:

> Hi all,
>
> while still working (slowly) on an answer to my own question on the
> right workflow to keep current up to date reliably with boot
> environments, I noticed that after creating and mounting a new BE,
> that new BE's /dev (eg /mnt/dev) is very sparsely populated:
>
> [22:44:45: ~ 0] $ ll /mnt/dev
> total 20
> 9 dr-xr-xr-x   4 root  wheel   7 Apr 18 00:35 .
> 9 drwxr-xr-x  23 root  wheel  30 May  5 22:44 ..
> 1 drwxr-xr-x   2 root  wheel   2 Apr 18 00:35 fd
> 1 lrwxr-xr-x   1 root  wheel  12 Apr 17 20:41 log -> /var/run/log
> 1 -rw-r--r--   1 root  wheel  63 May  3 22:19 null
> 1 -rw-r--r--   1 root  wheel   1 May  3 22:18 null.bak
> 1 drwxr-xr-x   2 root  wheel   2 Apr 18 00:35 shm
> [22:44:48: ~ 0] $
>
> (no matter whether I use "beadm create" or "bectl create -r")
>
> I can then mount devfs:
> # mount -t devfs devfs /mnt/dev
>
> and it will look (and work) as expected (eg for "pkg -c /mnt update"
> (*)) ... as long as the BE is mounted.
> When I try to boot from (into?) that BE though, it fails, and on the
> console I can see messages about missing /dev/... entries. I sneaked a
> peek into beinstall.sh, found no inspiration there, I'm afraid.
>
> I believe I noticed this apparent requirement to mount devfs
> separately not so long ago ... definitely this year, while I've been
> experimenting with boot environments for quite a bit longer. Was I
> just lucky all along, or did something change ... and, more
> importantly, how do I make my boot environments bootable again?
>
> TIA for hints, pointers, advice
> Michael
>
> *) I first noticed something was amiss when "pkg -c /mnt ... "
> complained about /dev/null missing, IIRC ...
> --
> Michael Schuster
> http://recursiveramblings.wordpress.com/
> recursion, n: see 'recursion'
>
>
getting /dev/null errors with pkg -c makes sense. I wouldn't expect /dev to
contain anything after a create.

Why it is not populated on boot seems odd to me though... It's possible, if
you created a deep boot environment, you created a pool/ROOT/dev dataset
and it is overwriting the initial /dev from boot (I have not tested this
theory). Tough to say without more information about the BE layout, and
maybe a look at fstab.

FWIW I typically run "pkg -r /tmp/be_mount.XXXX" after mounting with "bectl
mount" which should give you the same effect as -c without the rooted devfs
requirement

--
Wes

[-- Attachment #2 --]
<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, May 5, 2022 at 4:10 PM Michael Schuster &lt;<a href="mailto:michaelsprivate@gmail.com">michaelsprivate@gmail.com</a>&gt; wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi all,<br>
<br>
while still working (slowly) on an answer to my own question on the<br>
right workflow to keep current up to date reliably with boot<br>
environments, I noticed that after creating and mounting a new BE,<br>
that new BE&#39;s /dev (eg /mnt/dev) is very sparsely populated:<br>
<br>
[22:44:45: ~ 0] $ ll /mnt/dev<br>
total 20<br>
9 dr-xr-xr-x   4 root  wheel   7 Apr 18 00:35 .<br>
9 drwxr-xr-x  23 root  wheel  30 May  5 22:44 ..<br>
1 drwxr-xr-x   2 root  wheel   2 Apr 18 00:35 fd<br>
1 lrwxr-xr-x   1 root  wheel  12 Apr 17 20:41 log -&gt; /var/run/log<br>
1 -rw-r--r--   1 root  wheel  63 May  3 22:19 null<br>
1 -rw-r--r--   1 root  wheel   1 May  3 22:18 null.bak<br>
1 drwxr-xr-x   2 root  wheel   2 Apr 18 00:35 shm<br>
[22:44:48: ~ 0] $<br>
<br>
(no matter whether I use &quot;beadm create&quot; or &quot;bectl create -r&quot;)<br>
<br>
I can then mount devfs:<br>
# mount -t devfs devfs /mnt/dev<br>
<br>
and it will look (and work) as expected (eg for &quot;pkg -c /mnt update&quot;<br>
(*)) ... as long as the BE is mounted.<br>
When I try to boot from (into?) that BE though, it fails, and on the<br>
console I can see messages about missing /dev/... entries. I sneaked a<br>
peek into beinstall.sh, found no inspiration there, I&#39;m afraid.<br>
<br>
I believe I noticed this apparent requirement to mount devfs<br>
separately not so long ago ... definitely this year, while I&#39;ve been<br>
experimenting with boot environments for quite a bit longer. Was I<br>
just lucky all along, or did something change ... and, more<br>
importantly, how do I make my boot environments bootable again?<br>
<br>
TIA for hints, pointers, advice<br>
Michael<br>
<br>
*) I first noticed something was amiss when &quot;pkg -c /mnt ... &quot;<br>
complained about /dev/null missing, IIRC ...<br>
-- <br>
Michael Schuster<br>
<a href="http://recursiveramblings.wordpress.com/" rel="noreferrer" target="_blank">http://recursiveramblings.wordpress.com/</a><br>;
recursion, n: see &#39;recursion&#39;<br>
<br></blockquote><div> </div><div><div>getting /dev/null errors with pkg -c makes sense. I wouldn&#39;t expect /dev to contain anything after a create.</div><div><br></div><div>Why it is not populated on boot seems odd to me though... It&#39;s possible, if you created a deep boot environment, you created a pool/ROOT/dev dataset</div><div>and it is overwriting the initial /dev from boot (I have not tested this theory). Tough to say without more information about the BE layout, and maybe a look at fstab.<br></div><div><br></div><div>FWIW I typically run &quot;pkg -r /tmp/be_mount.XXXX&quot; after mounting with &quot;bectl mount&quot; which should give you the same effect as -c without the rooted devfs requirement<br></div><div><br></div><div>--<br></div><div>Wes </div> </div></div></div>

Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHMcx4PKQzxOCo2GPa7gR544OK7GQrhfbwQ4A8BBQPCteQXKTA>