| | 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 gave up on a bash version of these |
|---|
| | 22 | scripts when I lost scope about three bash arrays deep (hint: you only want |
|---|
| | 23 | to read from and write to disk one time at program start and end repectively). |
|---|
| | 24 | But do feel free to write a perl or bash implementation if you have the |
|---|
| | 25 | ability and patience to do so. You might see a contrib directory appear in |
|---|
| | 26 | BLFS-Bootscripts someday in the future if there is any demand for the already |
|---|
| | 27 | writen Python version of these programs. |
|---|
| | 28 | |
|---|
| | 29 | Distribution Independent - this original goal for the LFS scripts has been |
|---|
| | 30 | stretched even further by providing both a global rc config file that |
|---|
| | 31 | contains (generally) static values, and a new rc.site config file to allow |
|---|
| | 32 | customization of messages as diplayed to the end user during the boot |
|---|
| | 33 | process. The format of messages printed to the screen is adjustable |
|---|
| | 34 | here. As well, the other options that were available in the previous |
|---|
| | 35 | versions of the lfs-bootscripts, and additional options as discussed below, |
|---|
| | 36 | are configurable by the /etc/sysconfig/rc.site file. |
|---|
| | 37 | |
|---|
| | 38 | Single Environment - The rc script has been rewritten completely to allow a |
|---|
| | 39 | single source of the boot configuration per runlevel change. This config |
|---|
| | 40 | is inherited from rc's environment as opposed to being sourced everytime a |
|---|
| | 41 | script is run. This results in a negledgable decrease in boot time, but |
|---|
| | 42 | it is just better in principle, assuming I didn't break anything. For those |
|---|
| | 43 | familiar with the previous versions, the 'stty sane' bit comes to mind, but |
|---|
| | 44 | I haven't witnessed any dispaly amomolies, nor do I remember how to reproduce |
|---|
| | 45 | the situation that caused us to move that into the functions file before. |
|---|
| | 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 |
|---|
| | 49 | been corrected by providing a tempfs mount immediately after init hands |
|---|
| | 50 | control to the rc script. The bootlog is generated on the tempfs and then |
|---|
| | 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/sysconfig/rc.site file. |
|---|
| | 55 | |
|---|
| | 56 | Interactive Boot - This feature has been included by default, and is a |
|---|
| | 57 | little more polished than my previous attempt. It does introduce a two |
|---|
| | 58 | second delay in the boot process (so that you have time to press a button |
|---|
| | 59 | to select interactive mode). This time value, and the option prompt itself, |
|---|
| | 60 | is configurable in the /etc/sysconfig/rc.site file. |
|---|
| | 61 | |
|---|
| | 62 | RC_BASE - The base directory for the bootscripts is now /etc, not |
|---|
| | 63 | /etc/rc.d. This is mostly to conform with mainstream distros, but other |
|---|
| | 64 | boot methods do expect that /etc/init.d is the location of bootscripts. |
|---|
| | 65 | Some distros provide a rc.d direcorty with symlinks to the rc*.d and init.d |
|---|
| | 66 | directories, I have not done that. /etc is the location now, get your |
|---|
| | 67 | flying fingers accustomed to it! Of course, this is still configurable in |
|---|
| | 68 | /etc/sysconfig/rc.site, and if the change is too great, I'll put it back. |
|---|
| | 69 | |
|---|
| | 70 | LSB Functions - The previous lfs-bootscripts sourced a functions file |
|---|
| | 71 | located at /etc/rc.d/init.d/functions. This file has been renamed |
|---|
| | 72 | lfs-functions to segregate it from the old. Both old and new bootscripts |
|---|
| | 73 | can be used simultaneously in a SYS-V setup (with proper symlinks in place). |
|---|
| | 74 | LSB defined functions are used where possible, but the lfs-functions file |
|---|
| | 75 | provides, easy to use wraper functions that |
|---|
| | 76 | start/stop/reload/force-reload/restart programs, evaluate the numerical |
|---|
| | 77 | LSB return values, and print status messages to the screen. Both LFS |
|---|
| | 78 | functions and LSB functions are documented directly in the scritps located |
|---|
| | 79 | at /etc/init.d/lfs-functions and /lib/lsb/init-functions respectively. |
|---|
| | 80 | |
|---|
| | 81 | Pretier - Yeah, I just couldn't handle all the grey text... By default, |
|---|
| | 82 | successful boot messages are prefixed with a single green astrik character, |
|---|
| | 83 | warning messages with two yellow astirks, and failures are prefixed with |
|---|
| | 84 | three red astriks. This just provides a second 'quick glance' status when |
|---|
| | 85 | watching the boot messages fly by. Again, the prefixes are configurable (or |
|---|
| | 86 | completely removable) in the /etc/sysconfig/rc.site file. |
|---|
| | 87 | |
|---|
| | 88 | Complete Rewrite - Yep. That doesn't mean that code wasn't reused when |
|---|
| | 89 | possible, so Nathan, Alexander, Jim, Matthew, Bryan, Gerard, Mathias, and |
|---|
| | 90 | countless other contributors (whose names I've forgotten and will promptly |
|---|
| | 91 | be reminded of (please)) are owed credit for these as well. That said, |
|---|
| | 92 | at very least, this is a complete reorganisation that I've tested to the |
|---|
| | 93 | best of my ability, but there probably are some hidden bugs that will come |
|---|
| | 94 | to lite when used more frequently. Please give me a shout *when* you find |
|---|
| | 95 | them. |
|---|
| | 96 | |
|---|
| | 97 | Thanks. |
|---|
| | 98 | |
|---|
| | 99 | -- DJ Lucas |
|---|
| | 100 | dj AT linuxfromscratch DOT org |
|---|
| | 101 | |
|---|