tech-userlevel archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Shared-root diskless netboot, critical local/remote mounts, and rc.conf



At Mon, 6 Oct 2025 20:12:10 -0700, Chris Hanson <cmhanson%eschatologist.net@localhost> wrote:
Subject: Re: Shared-root diskless netboot, critical local/remote mounts, and rc.conf
> 
> Itʼs certainly simpler to change bootparams to add an additional
> mount or to change imit to invoke an /etc/rc.boot first, but I
> want to do something that I might have a chance of
> contributing. :)

It's not only simpler to fix the NFS boot code to optionally ask for an
/etc mount, it's the only way to avoid going down a rabbit hole.  I went
down that rabbit hole once before -- it's a long climb back out and
nobody really wanted to hear all my trials and tribulations, so I looked
for an easier solution, and of course mounting /etc before starting init
was the answer.

I've got diffs for sys/nfs/nfs_bootdhcp.c too (I called it "option
NetBSD.etc-path", i.e. using a separate "vendor-option-space NetBSD"),
along with all the related common glue bits for sys/nfs/nfs_boot*.  It's
about 1000 lines, including lots of comments and some fixes to error
reporting and such.

I don't know why I never posted them -- I had them all the way back to
NetBSD-4.0.  I guess when my last big monochrome monitor died and I
stopped using a sparc-20 as my main workstation I never had any more
reasons to run diskless systems.

It's all very straight forward and I think it's the only right way to
fix the problem properly, once and for all, without going down a rabbit
hole full of magic incantations and hidden twists.

It's really not a stretch to mount two filesystems at boot instead of
just the one, thus allowing the root filesystem itself to be read-only
while still keeping host-specific configurations all in the natural /etc
spot.

In the old days I think the idea was the root filesystem was small
enough (i.e. without /usr, /var, /tmp, /home, ...) that it could be
replicated entirely for each client, but with the trend today to merge /
and /usr (especially given the "everything's a vax, er, x86_64" mantra
resurfacing), well that's getting wasteful again, so having a separate
boot parameter for /etc is ideal and it completely avoids the issue of
whether / and /usr should be on the same filesystem or not.

-- 
					Greg A. Woods <gwoods%acm.org@localhost>

Kelowna, BC     +1 250 762-7675           RoboHack <woods%robohack.ca@localhost>
Planix, Inc. <woods%planix.com@localhost>     Avoncote Farms <woods%avoncote.ca@localhost>

Attachment: pgpj2jH_hXk9r.pgp
Description: OpenPGP Digital Signature



Home | Main Index | Thread Index | Old Index