Re: bin/60607: /etc/rc does too much throw-away work and is needlessly slow on constrained systems
Taylor R Campbell <[email protected]>
| Newsgroups | gmane.os.netbsd.bugs |
|---|---|
| Message-ID | <[email protected]> |
> Date: Mon, 17 Aug 2026 05:35:00 +0000 (UTC) > From: Jason Thorpe <[email protected]> > > I've devised a simple solution to the problem that's minimally > invasive and, on the wrap030 homebrew, cuts the boot time (with > ldconfig=NO) from ~13 minutes to ~7 minutes. Nice! > 2. Another small change to /etc/rc where the real work of invoking > the rc.d scripts is performed. This second change introduces the > notion of the "rcorder.cache". At boot time, if it is determined > that the cache needs to be rebuilt, then all of the rc.d scripts are > interrogated in rcorder-order to see if they will do work. If so, > they're added to the list, otherwise they are ignored. Once the > list is built, then the list is invoked to start each service in the > normal way. The list is saved in the "rcorder.cache" and consulted > at the next boot. The cache is invalidated by modifying > /etc/rc.conf, /etc/rc.d, or by manually removing /etc/rcorder.cache. Can you make this part optional, and/or populated up front at build-time or repopulated on request? It would be nice if we could boot to multi-user from a read-only /, with all state stored on other file systems like /var, and without spurious EROFS warnings spewed to the console. (I know we'll hit issues with, e.g., /etc/motd today, but I'd like to avoid adding more issues.)