mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-01-20 05:57:43 +00:00
010d1082d8
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8555 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
106 lines
6.0 KiB
Plaintext
106 lines
6.0 KiB
Plaintext
LSB-V3 README
|
|
|
|
The scripts contianed in this directory are a complete rewrite of the
|
|
boot scripts from LFS-6.1 (updated for LFS-SVN about 2008-05-31). As is
|
|
usually the case with a rewrite, there have been many changes:
|
|
|
|
LSB Version 3.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.
|
|
|
|
LSB 3.1 Omissions - Unfortunately, this package is not completely LSB
|
|
compliant as it lacks install_initd and remove_initd programs. The current
|
|
popular flavor of these programs is written in Python, which, as you should
|
|
know, is not installed until BLFS. I began work on a bash implementation,
|
|
and have provided the needed functions to parse the LSB headers in the
|
|
manage-functions script (insalled by default into /lib/lsb). Unfortunately,
|
|
I have yet to complete the actual install_initd and remove_initd scripts,
|
|
and have found bash to an unsuitable language to write a complete reorder
|
|
due to the ammount of time for recursive funtions and loops to complete.
|
|
Dan Nicholson has began work on initd-tools, a C implementaion of
|
|
install_initd and remove_initd. At the time of writing (20080830) the
|
|
programs themselves are not yet functional, however, the libraries used
|
|
to parse the scripts and provide the dependency order are working as
|
|
expected. I would expect a completely standards compliant set of programs,
|
|
written in C very soon. Dans work can be viewed via git-web at
|
|
http://gitweb.dwcab.com/?p=initd-tools.git;a=summary .
|
|
|
|
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 rc.site 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. As well, the other options that were available in the previous
|
|
versions of the lfs-bootscripts, and additional options as discussed below,
|
|
are configurable by the /etc/sysconfig/rc.site 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 results in a negledgable decrease in boot time, but
|
|
it is just 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 a 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/sysconfig/rc.site file.
|
|
|
|
Interactive Boot - This feature has been included by default, and is a
|
|
little more polished than my previous attempt. 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/sysconfig/rc.site file.
|
|
|
|
Path changes - The base directory for the bootscripts is now /etc, not
|
|
/etc/rc.d. This is mostly to conform with mainstream distros, but other
|
|
boot methods do expect that /etc/init.d is the location of bootscripts.
|
|
Some distros provide a rc.d direcorty with symlinks to the rc*.d and init.d
|
|
directories, I have not done that. /etc is the location now, get your
|
|
flying fingers accustomed to it! Of course, this is still configurable in
|
|
/etc/sysconfig/rc.site, and if the change is too great, I'll put it back.
|
|
I've also removed the rcsysinit.d and replaced it with rcS.d.
|
|
|
|
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 rc.site configuration file. LSB defined functions are used where
|
|
possible, but the $distro-functions file provides, easy to use wraper
|
|
functions that start/stop/reload/force-reload/restart programs, evaluate
|
|
the numerical LSB return values, and print status messages to the screen.
|
|
Both LFS functions and LSB functions are documented directly in the scritps
|
|
located at /etc/init.d/$distro-functions and /lib/lsb/init-functions
|
|
respectively.
|
|
|
|
Pretier - Yeah, I just couldn't handle all the grey text... 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 just provides a second 'quick glance' status when
|
|
watching the boot messages fly by. Again, the prefixes are configurable (or
|
|
completely removable) in the /etc/sysconfig/rc.site file.
|
|
|
|
Complete Rewrite - Yep. That doesn't mean that code wasn't reused when
|
|
possible, so Alexander, Bryan, Dan, Gerard, Jeremy, Jim, Mathias, Matthew,
|
|
Nathan, and countless other contributors (whose names I've forgotten and will
|
|
promptly be reminded of (please)) are due credit for these as well. That
|
|
said, at very least, this is a complete reorganisation that I've tested to
|
|
the best of my ability, but there probably are some hidden bugs that will
|
|
come to lite when used more frequently. Please give me a shout _when_ you
|
|
find them.
|
|
|
|
Thanks.
|
|
|
|
-- DJ Lucas
|
|
dj@linuxfromscratch.org
|
|
|