[RFC] Rewriting sade(8)

Dag-Erling Smørgrav des at des.no
Fri Apr 9 09:23:52 UTC 2010

Garrett Cooper <yanefbsd at gmail.com> writes:
> Dag-Erling Smørgrav <des at des.no> writes:
> > Garrett Cooper <yanefbsd at gmail.com> writes:
> > > Dag-Erling Smørgrav <des at des.no> writes:
> > > > [restored relevant context which was removed earlier in the thread]
> > > > ...which is exactly what I said - but in the sysinstall case, you may
> > > > want to ask some additional questions ("are you sure you want to proceed
> > > > without a swap partition?") or place some additional constraints (such
> > > > as "don't allow the user to mount something on top of /mnt or /rescue"),
> > > > and sysinstall needs to know the outcome.
> > > If the user shoots him or herself in the foot, that's their own
> > > problem.
> > That kind of attitude is why people choose Linux over FreeBSD...
> Where do you draw the line though? /media, /libexec, /proc, /sys, etc?
> I think it's better to educate users than build in more complexity to
> the install application.

I draw the line at mounting something - anything - on top of directories
that contain files that are critical to sysinstall's operation.  IIRC,
/mnt is where the installation CD is mounted.

In sysinstall mode, sade's role is to 1) make sure that something
sensible is mounted in the location where sysinstall is going to install
the OS, 2) assist the user in making the correct disk, slice, partition
or what-have-you bootable, 3) within reasonable limits, prevent the user
from doing something that will break sysinstall, and 4) optionally allow
the user to prepare additional filesystems that sysinstall doesn't care
about (e.g. /usr/obj), as long as this does not conflict with 3).

I think the easiest way to achieve this is for sysinstall to provide an
empty directory (e.g. /inst) and have sade operate with that directory
as root, so what the user sees is how things will look when the system
reboots after installation; when the user asks sade to create /usr/obj,
sade actually creates /inst/usr/obj.

Last but not least, sade should report what it did to sysinstall -
perhaps in fstab format, since sysinstall needs to populate
(/inst)/etc/fstab anyway.

Dag-Erling Smørgrav - des at des.no

More information about the freebsd-current mailing list