Parallelizing bootscripts [was: Make bootscripts more POSIX compliant]

Bryan Kadzban bryan at kadzban.is-a-geek.net
Tue Feb 20 09:46:04 PST 2007


On Tue, Feb 20, 2007 at 12:45:38PM +0000, TheOldFellow wrote:
> On the point of speeding up bootscripts, you'll have far more luck by
> parallelising your service start ups, then lightening the scripter.

Yep, that's right; most of the time now is spent waiting for various
services to actually start up.  If the services are not interdependent,
then starting them in parallel will speed up booting a lot more than
making the interpreter load faster -- or run faster, for that matter.

(However, the biggest delay on my machine is udev, and we can't
parallelize that away.  The devices that udevd creates are needed for
both checkfs and mountfs, and mountfs is probably required for most
other scripts.  But whatever.)

On the topic of parallelizing the bootscripts, what do people think
about doing this?  DJ has added some easily-parallelizable scripts to
the contrib/ directory in the bootscripts repo (basically, by making
them LSB compliant, you make them easy to run in parallel).  Should we
look into making these scripts the default, perhaps for LFS 6.4 or 7?
(And should we actually run them in parallel or not?)

On the one hand, it could be argued that this is not at all needed for a
base system, and depending on your definition of "base", that may be
right.  But OTOH, most users expect OSes to come up in way less than a
minute these days.  Plus, having parallel bootscripts is certainly an
education opportunity, if the user looks into how the scripts work
together, or if the general idea is explained when the scripts get
installed.  (And LSB compliance helps when another package, e.g. one
that isn't in LFS or BLFS, needs to install a bootscript -- but I'm not
sure how many of those there even are.  Of course, we would get that by
using the LSB scripts without running them in parallel, too.)

If I remember, I'll try doing some testing on my machine sometime soon,
to see what, if anything, is required to get these contrib scripts to
work, and then what else, if anything, is required to get them to work
in parallel.  (Well, "what else" apart from actually running them in
parallel from rc, that is.)

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
URL: <http://lists.linuxfromscratch.org/pipermail/lfs-dev/attachments/20070220/21eb7649/attachment.sig>


More information about the lfs-dev mailing list