[1c48007] | 1 | LSB-V3 README
|
---|
| 2 |
|
---|
| 3 | The scripts contianed in this directory are a complete rewrite of the
|
---|
| 4 | boot scripts from LFS-6.1 (updated for LFS-SVN about 2008-04-13). As is
|
---|
| 5 | usually the case with a rewrite, there have been many changes:
|
---|
| 6 |
|
---|
| 7 | LSB Version 3.1 Compliant Scripts - Immediately noticable are the LSB headers
|
---|
| 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 |
|
---|
| 18 | LSB 3.1 Omissions - Unfortunately, this package is not completely LSB
|
---|
| 19 | compliant as it lacks install-initd and remove-initd programs. The current
|
---|
| 20 | popular flavor of these programs is written in Python, which, as you should
|
---|
| 21 | know, is not installed until BLFS. I began work on a bash implementation,
|
---|
| 22 | and have provided the needed functions to parse the LSB headers in the
|
---|
| 23 | manage-functions script (insalled by default into /lib/lsb). Unfortunately,
|
---|
| 24 | I have yet to complete the actual install-initd and remove-initd scripts,
|
---|
| 25 | however, I do have an almost complete install-initd kept locally. I am
|
---|
| 26 | currently working on a separate script to completely rewrite the symlinks
|
---|
| 27 | should LFS default values not prove sufficient when working with scripts in
|
---|
| 28 | the wild. I have not included either here because they are not yet complete
|
---|
| 29 | or thoroughly tested, and due to the development process of lfs-bootscritps,
|
---|
| 30 | would be included in a release tarball. If you would like to assist with the
|
---|
| 31 | development of these scripts, or would even just like to see what I have so
|
---|
| 32 | far, please email me privately. Of course, feel free to write your own if you
|
---|
| 33 | do not like the manage-fucntions script (or bash).
|
---|
| 34 |
|
---|
| 35 | Distribution Independent - this original goal for the LFS scripts has been
|
---|
| 36 | stretched even further by providing both a global rc config file that
|
---|
| 37 | contains (generally) static values, and a new rc.site config file to allow
|
---|
| 38 | customization of messages as diplayed to the end user during the boot
|
---|
| 39 | process. The format of messages printed to the screen is adjustable
|
---|
| 40 | here. As well, the other options that were available in the previous
|
---|
| 41 | versions of the lfs-bootscripts, and additional options as discussed below,
|
---|
| 42 | are configurable by the /etc/sysconfig/rc.site file.
|
---|
| 43 |
|
---|
| 44 | Single Environment - The rc script has been rewritten completely to allow a
|
---|
| 45 | single source of the boot configuration per runlevel change. This config
|
---|
| 46 | is inherited from rc's environment as opposed to being sourced everytime a
|
---|
| 47 | script is run. This results in a negledgable decrease in boot time, but
|
---|
| 48 | it is just better in principle.
|
---|
| 49 |
|
---|
| 50 | Boot Logging - The previous incarnation of the boot log didn't begin
|
---|
| 51 | recording events until the root filesystem was mounted read/write. This has
|
---|
| 52 | been corrected by providing a tempfs mount immediately after init hands
|
---|
| 53 | control to the rc script. The bootlog is generated on the tempfs and then
|
---|
| 54 | passed to the log file before login. Additionally, shutdown events are no
|
---|
| 55 | longer recorded in the bootlog. They were pretty much useless and it really
|
---|
| 56 | wasn't what I'd call a *boot* log. Boot logging is on by default and is
|
---|
| 57 | configurable in the /etc/sysconfig/rc.site file.
|
---|
| 58 |
|
---|
| 59 | Interactive Boot - This feature has been included by default, and is a
|
---|
| 60 | little more polished than my previous attempt. It does introduce a two
|
---|
| 61 | second delay in the boot process (so that you have time to press a button
|
---|
| 62 | to select interactive mode). This time value, and the option prompt itself,
|
---|
| 63 | is configurable in the /etc/sysconfig/rc.site file.
|
---|
| 64 |
|
---|
| 65 | RC_BASE - The base directory for the bootscripts is now /etc, not
|
---|
| 66 | /etc/rc.d. This is mostly to conform with mainstream distros, but other
|
---|
| 67 | boot methods do expect that /etc/init.d is the location of bootscripts.
|
---|
| 68 | Some distros provide a rc.d direcorty with symlinks to the rc*.d and init.d
|
---|
| 69 | directories, I have not done that. /etc is the location now, get your
|
---|
| 70 | flying fingers accustomed to it! Of course, this is still configurable in
|
---|
| 71 | /etc/sysconfig/rc.site, and if the change is too great, I'll put it back.
|
---|
| 72 |
|
---|
| 73 | LSB Functions - The previous lfs-bootscripts sourced a functions file
|
---|
| 74 | located at /etc/rc.d/init.d/functions. This file has been renamed
|
---|
| 75 | $distro-functions to segregate it from the old. The name is configurable
|
---|
| 76 | by the rc.site configuration file. Both old and new bootscripts can be
|
---|
| 77 | used simultaneously in a SYS-V setup (with proper symlinks in place).
|
---|
| 78 | LSB defined functions are used where possible, but the $distro-functions file
|
---|
| 79 | provides, easy to use wraper functions that
|
---|
| 80 | start/stop/reload/force-reload/restart programs, evaluate the numerical
|
---|
| 81 | LSB return values, and print status messages to the screen. Both LFS
|
---|
| 82 | functions and LSB functions are documented directly in the scritps located
|
---|
| 83 | at /etc/init.d/$distro-functions and /lib/lsb/init-functions respectively.
|
---|
| 84 |
|
---|
| 85 | Pretier - Yeah, I just couldn't handle all the grey text... By default,
|
---|
| 86 | successful boot messages are prefixed with a single green astrik character,
|
---|
| 87 | warning messages with two yellow astirks, and failures are prefixed with
|
---|
| 88 | three red astriks. This just provides a second 'quick glance' status when
|
---|
| 89 | watching the boot messages fly by. Again, the prefixes are configurable (or
|
---|
| 90 | completely removable) in the /etc/sysconfig/rc.site file.
|
---|
| 91 |
|
---|
| 92 | Complete Rewrite - Yep. That doesn't mean that code wasn't reused when
|
---|
| 93 | possible, so Alexander, Bryan, Dan, Gerard, Jeremy, Jim, Mathias, Matthew,
|
---|
| 94 | Nathan, and countless other contributors (whose names I've forgotten and will
|
---|
| 95 | promptly be reminded of (please)) are due credit for these as well. That
|
---|
| 96 | said, at very least, this is a complete reorganisation that I've tested to
|
---|
| 97 | the best of my ability, but there probably are some hidden bugs that will
|
---|
| 98 | come to lite when used more frequently. Please give me a shout _when_ you
|
---|
| 99 | find them.
|
---|
| 100 |
|
---|
| 101 | Thanks.
|
---|
| 102 |
|
---|
| 103 | -- DJ Lucas
|
---|
| 104 | dj@linuxfromscratch.org
|
---|
| 105 |
|
---|