[2d439ed] | 1 | LSB-Bootscripts README
|
---|
[1c48007] | 2 |
|
---|
[a8a87e6] | 3 | The scripts contained in this directory are a complete rewrite of the
|
---|
[2d439ed] | 4 | boot scripts from LFS-6.1. As is usually the case with a rewrite, there have
|
---|
| 5 | been many changes:
|
---|
[1c48007] | 6 |
|
---|
[2d439ed] | 7 | LSB Version 4.1 Compliant Scripts - Immediately noticable are the LSB headers
|
---|
[1c48007] | 8 | in the rc.d scripts themselves. Each script contains a usable header to
|
---|
| 9 | allow for automating both the installation of, and determining proper
|
---|
| 10 | execution order for the startup scripts. These values can also be used
|
---|
| 11 | directly in parallel boot setups. Additionally, messages are displayed in
|
---|
| 12 | one single write to the screen, after exit status is determined, so that
|
---|
| 13 | they can be used in parallel setups. I am not sure if this was the only
|
---|
| 14 | barrier to auto language translation in the previous bootscripts. Further,
|
---|
| 15 | the messages are created from parts and only written to the screen in a
|
---|
| 16 | single command, so maybe no help at all WRT translated boot messages.
|
---|
| 17 |
|
---|
[2d439ed] | 18 | AS OF 20080907, THESE SCRIPTS REQUIRE THE initd-tools PACKAGE.
|
---|
| 19 | Dan Nicholson has recently released an initd-tools package that contain
|
---|
| 20 | LSB compliant install_initd and remove_initd programs written in C.
|
---|
| 21 | See the INSTALL file for installation instructions.
|
---|
| 22 |
|
---|
| 23 | Path changes - The base directory for the bootscripts is now /etc. This is
|
---|
| 24 | mostly to conform with mainstream distros. Of course, this is still
|
---|
| 25 | configurable in /etc/default/rc.site. The rcsysinit.d directory has been
|
---|
| 26 | removed and and replaced with the shorter rcS.d. /etc/sysconfig has been
|
---|
| 27 | removed in favor of /etc/default. The network service scripts have been moved
|
---|
| 28 | to /lib/network-services and the the network configuration files to
|
---|
| 29 | /etc/network. Values for short, and relatively static, configuration files
|
---|
| 30 | (clock and network) have been included in the rc.site file directly.
|
---|
| 31 |
|
---|
[1c48007] | 32 | Distribution Independent - this original goal for the LFS scripts has been
|
---|
| 33 | stretched even further by providing both a global rc config file that
|
---|
| 34 | contains (generally) static values, and a new rc.site config file to allow
|
---|
| 35 | customization of messages as diplayed to the end user during the boot
|
---|
[2d439ed] | 36 | process. The format of messages printed to the screen is adjustable
|
---|
| 37 | here. Other options that were available in the previous versions of the
|
---|
| 38 | lfs-bootscripts, and additional options such as message format and color, are
|
---|
| 39 | configurable by the /etc/sysconfig/rc.site file.
|
---|
[1c48007] | 40 |
|
---|
| 41 | Single Environment - The rc script has been rewritten completely to allow a
|
---|
| 42 | single source of the boot configuration per runlevel change. This config
|
---|
| 43 | is inherited from rc's environment as opposed to being sourced everytime a
|
---|
[2d439ed] | 44 | script is run. This does result in a negledgable decrease in boot time, but
|
---|
| 45 | is simply better in principle.
|
---|
[1c48007] | 46 |
|
---|
| 47 | Boot Logging - The previous incarnation of the boot log didn't begin
|
---|
| 48 | recording events until the root filesystem was mounted read/write. This has
|
---|
[2d439ed] | 49 | been corrected by providing the /run tempfs mount immediately after init hands
|
---|
[1c48007] | 50 | control to the rc script. The bootlog is generated on the tempfs and then
|
---|
[2d439ed] | 51 | passed to the log file before login. Additionally, shutdown events are no
|
---|
| 52 | longer recorded in the bootlog. They were pretty much useless and it really
|
---|
| 53 | wasn't what I'd call a *boot* log. Boot logging is on by default and is
|
---|
| 54 | configurable in the /etc/default/rc.site file via the "BOOTLOG_ENAB" parameter.
|
---|
[1c48007] | 55 |
|
---|
| 56 | Interactive Boot - This feature has been included by default, and is a
|
---|
[2d439ed] | 57 | little more polished than in previous versions. It does introduce a two
|
---|
[1c48007] | 58 | second delay in the boot process (so that you have time to press a button
|
---|
[2d439ed] | 59 | to select interactive mode). This time value, and the option prompt itself,
|
---|
| 60 | is configurable in the /etc/default/rc.site file via the "itime" and "iprompt"
|
---|
| 61 | variables respectively.
|
---|
[1c48007] | 62 |
|
---|
| 63 | LSB Functions - The previous lfs-bootscripts sourced a functions file
|
---|
| 64 | located at /etc/rc.d/init.d/functions. This file has been renamed
|
---|
| 65 | $distro-functions to segregate it from the old. The name is configurable
|
---|
[2d439ed] | 66 | by the rc.site configuration file ("DISTRO_MINI"). LSB defined functions are
|
---|
| 67 | used where possible througout the individual scripts, but the $distro-functions
|
---|
| 68 | file provides, easy to use wraper functions that start, stop, reload,
|
---|
| 69 | force-reload, and restart programs, evaluate the numerical LSB return values,
|
---|
| 70 | and print status messages to the screen and boot log. Both distro functions and
|
---|
| 71 | LSB functions are documented directly in the scritps located at
|
---|
| 72 | /etc/init.d/$distro-functions and /lib/lsb/init-functions respectively.
|
---|
| 73 |
|
---|
| 74 | Pretier - By default, successful boot messages are prefixed with a single green
|
---|
| 75 | astrik character, warning messages with two yellow astirks, and failures are
|
---|
| 76 | prefixed with three red astriks. This provides a second 'quick glance' status
|
---|
| 77 | when watching the boot messages fly by. Again, the prefixes are configurable
|
---|
| 78 | (or completely removable) in the /etc/default/rc.site file.
|
---|
| 79 |
|
---|
| 80 | ConsoleLog - The sysctl script runs much earlier in the boot process, as a
|
---|
| 81 | result, it negates the need for the consolelog script. Set 'kernel.printk = X'
|
---|
| 82 | in your /etc/sysctl.conf file for equivalent functionality.
|
---|
| 83 |
|
---|
| 84 | Complete Rewrite - That doesn't mean that code wasn't reused when possible,
|
---|
| 85 | so to Alexander Patrakov, Archiac, Bruce Dubbs, Bryan Kadzban, Dan Nicholson,
|
---|
| 86 | Gerard Beekmans, Jeremy Huntwork, Jim Gifford, Mathias Benkmans, Matthew
|
---|
| 87 | Burgess, Nathan Coulson, and countless other contributors: Thanks for the help
|
---|
| 88 | and guidance.
|
---|
| 89 |
|
---|
| 90 | Please report any bugs to lfs-dev@linuxfromscratch.org.
|
---|
[ec45bd6] | 91 |
|
---|
[1c48007] | 92 | Thanks.
|
---|
| 93 |
|
---|
| 94 | -- DJ Lucas
|
---|
| 95 | dj@linuxfromscratch.org
|
---|
| 96 |
|
---|