Re: Adjustments to userland for a quieter startup (RC system)
- Reply: Sulev-Madis Silber : "Re: Adjustments to userland for a quieter startup (RC system)"
- Reply: Tomek CEDRO : "Re: Adjustments to userland for a quieter startup (RC system)"
- Reply: Gleb Smirnoff : "Re: Adjustments to userland for a quieter startup (RC system)"
- In reply to: Tomek CEDRO : "Re: Adjustments to userland for a quieter startup (RC system)"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Sun, 02 Feb 2025 10:19:11 UTC
> 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