> Okay, I am sorry, I mixed the general idea with detailed PR that aims
> just updating routing and devmatch parts with user selectable option
> not changing a defaults, thus my previous remarks are invalid and
> updated, I apologize! :-)

A goal of this PR was to flush out dialogue around whether there was a 
universal noise level-adjusting knob in the RC system. [jlduran]'s more 
ambitious PR, my PR, and the discussion to this post suggest "no." I think it's 
probably right to generalize the discussion!

I also realize that this is a probably a controversial perspective. My 
motivation here is ultimately service to the FreeBSD Laptop project. Windows 
and OSX have conditioned many in the population of the FreeBSD-curious to 
expect a lot less text on startup if things are going well. 

To those who say "Yes, seeing the diagnostic data is why FreeBSD is so great," 
I say: In a server/device context, I'd not change anything (something my PR may 
have flubbed in its implementation). ***But***, I contend that for FreeBSD to 
thrive on a wider population of laptops and access a wider population of users, 
some options (including such a noise knob for the RC system) ought be 
available. The extent that [helloSystem] went to hide messages suggests an 
unmet need. 

[helloSystem]: https://hellosystem.github.io/docs/developer/boot.html#boot-mute
[jlduran]: https://github.com/jlduran/freebsd-src/pull/90/files

> * There is already `rc_info` that may be used?
> https://github.com/freebsd/freebsd-src/blob/50c962d773705f60d32c29f8e4bb2743ab55733b/libexec/rc/rc.conf#L29

I could see that and/or rc_debug replacing RC scripts' use of `echo`, though. 
But (per "it's controversial"), we'd need future RC authors to adopt a notion 
of "log level output" versus "printf/echo to the screen." My PR was modest in 
its aims and didn't want to edit all the `echo`s. [jlduran] *did* dare more 
bravely :) Although it seems (from the comments) that rc_debug has some complex 
interactions with rc.subr that might make this option (my favorite thus far) 
more complex than expected.

[rc.subr]: 
https://github.com/freebsd/freebsd-src/blob/50c962d773705f60d32c29f8e4bb2743ab55733b/libexec/rc/rc.conf#L26
 
> * There is already `rc_startmsg` that may be used?
> https://github.com/freebsd/freebsd-src/blob/50c962d773705f60d32c29f8e4bb2743ab55733b/libexec/rc/rc.conf#L30

This was insufficient. It only squelched the "Starting ${name}" line :-/. e.g. 
all the data e.g. about setting up a default route / interface output were 
still logged.
 
> * If really necessary `_msgs` can be replaced with `_verbose` suffix?
> https://github.com/freebsd/freebsd-src/blob/50c962d773705f60d32c29f8e4bb2743ab55733b/libexec/rc/rc.conf#L568

Seems promising, but this would mean more conditional logic per each flag? I 
think that's probably insufficiently general. `info` with its control in 
`rc_info` per your earlier suggestion would seem the way to go.

> * I guess the idea is to silence the terminal? How many flags need to
> be put to silent instead just one? Why not just put a boot logo image
> if you really do not want to see the boot messages? It may provide
> expected user experience and will not impact diagnostic information
> that are usually useful :-)

Sadly boot_mute="YES" was insufficient as well. It only seems to  mute 
/kernel/-level diagnostics. Afterward, my screen was still full of 
RC-originating content. And yes, suppose we /could/ do an overlay until the 
login prompt -- I think that should be supported. It's what I _expected_ 
boot_mute=YES to do by default, frankly.

Perhaps the take-away should be:

* Existing interfaces are insufficient to let people easily tune their level of 
RC output
* Resolve: Is this something that should be available?
  * If so: resolve via log level, per-function verbosity suffixes, provide a 
longer overlay bitmap duration option, or some other means

Thank you for your consideration,

Steven


Steven



Reply via email to