LSB compatible bootscripts originating from the Linux From Scratch project
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


LSB-Bootscripts README

The scripts contained in this directory are a complete rewrite of the
boot scripts from LFS-6.1. As is usually the case with a rewrite, there have
been many changes:

LSB Version 4.1 Compliant Scripts - Immediately noticable are the LSB headers
in the rc.d scripts themselves.  Each script contains a usable header to
allow for automating both the installation of, and determining proper
execution order for the startup scripts.  These values can also be used
directly in parallel boot setups.  Additionally, messages are displayed in
one single write to the screen, after exit status is determined, so that
they can be used in parallel setups.  I am not sure if this was the only
barrier to auto language translation in the previous bootscripts.  Further,
the messages are created from parts and only written to the screen in a
single command, so maybe no help at all WRT translated boot messages.

Dan Nicholson has recently released an initd-tools package that contain
LSB compliant install_initd and remove_initd programs written in C.
See the INSTALL file for installation instructions.

Path changes - The base directory for the bootscripts is now /etc. This is
mostly to conform with mainstream distros. Of course, this is still
configurable in /etc/default/ The rcsysinit.d directory has been
removed and and replaced with the shorter rcS.d. /etc/sysconfig has been
removed in favor of /etc/default. The network service scripts have been moved
to /lib/network-services and the the network configuration files to
/etc/network. Values for short, and relatively static, configuration files
(clock and network) have been included in the file directly.

Distribution Independent - this original goal for the LFS scripts has been
stretched even further by providing both a global rc config file that
contains (generally) static values, and a new config file to allow
customization of messages as diplayed to the end user during the boot
process. The format of messages printed to the screen is adjustable
here. Other options that were available in the previous versions of the
lfs-bootscripts, and additional options such as message format and color, are
configurable by the /etc/sysconfig/ file.

Single Environment - The rc script has been rewritten completely to allow a
single source of the boot configuration per runlevel change.  This config
is inherited from rc's environment as opposed to being sourced everytime a
script is run. This does result in a negledgable decrease in boot time, but
is simply better in principle.

Boot Logging - The previous incarnation of the boot log didn't begin
recording events until the root filesystem was mounted read/write.  This has
been corrected by providing the /run tempfs  mount immediately after init hands
control to the rc script.  The bootlog is generated on the tempfs and then
passed to the log file before login. Additionally, shutdown events are no
longer recorded in the bootlog. They were pretty much useless and it really
wasn't what I'd call a *boot* log. Boot logging is on by default and is
configurable in the /etc/default/ file via the "BOOTLOG_ENAB" parameter.

Interactive Boot - This feature has been included by default, and is a
little more polished than in previous versions. It does introduce a two
second delay in the boot process (so that you have time to press a button
to select interactive mode). This time value, and the option prompt itself,
is configurable in the /etc/default/ file via the "itime" and "iprompt"
variables respectively.

LSB Functions - The previous lfs-bootscripts sourced a functions file
located at /etc/rc.d/init.d/functions.  This file has been renamed
$distro-functions to segregate it from the old. The name is configurable
by the configuration file ("DISTRO_MINI"). LSB defined functions are
used where possible througout the individual scripts, but the $distro-functions
file provides, easy to use wraper functions that start, stop, reload,
force-reload, and restart programs, evaluate the numerical LSB return values,
and print status messages to the screen and boot log. Both distro functions and
LSB functions are documented directly in the scritps located at
/etc/init.d/$distro-functions and /lib/lsb/init-functions respectively.

Pretier - By default, successful boot messages are prefixed with a single green
astrik character, warning messages with two yellow astirks, and failures are
prefixed with three red astriks.  This provides a second 'quick glance' status
when watching the boot messages fly by. Again, the prefixes are configurable
(or completely removable) in the /etc/default/ file.

ConsoleLog - The sysctl script runs much earlier in the boot process, as a
result, it negates the need for the consolelog script.  Set 'kernel.printk = X'
in your /etc/sysctl.conf file for equivalent functionality.

Complete Rewrite - That doesn't mean that code wasn't reused when possible,
so to Alexander Patrakov, Archiac, Bruce Dubbs, Bryan Kadzban, Dan Nicholson,
Gerard Beekmans, Jeremy Huntwork, Jim Gifford, Mathias Benkmans, Matthew
Burgess, Nathan Coulson, and countless other contributors: Thanks for the help
and guidance.

Please report any bugs to


-- DJ Lucas