Index: boot-scripts/CHANGELOG.lfs
===================================================================
--- boot-scripts/CHANGELOG.lfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/CHANGELOG.lfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,791 @@
+n/a - September 11, 2005
+	* Removed text wraping and boot logging.
+	* Changed killproc to use warning if not running
+	* Changed 'print_status warning' to use old style output
+	* Fixed display error with LSB init-functions script
+	* Made above killproc/print_status changes in enhanced
+	  bootscripts.
+	* Made logger service configurable in enhanced 
+	  bootscripts. (DJ Lucas)
+
+n/a - August 14, 2005
+	* Added -s flag to pidofproc() for backwards 
+	  compatibility (DJ Lucas)
+	* Fixed erronous values returned by pidofproc() which 
+	  broke the functionality of statusproc (DJ Lucas)
+
+n/a - July 1, 2005
+	* Changed a == to a = in lfs/init.d/functions, in the boot_mesg
+	  function for ash compliancy (Nathan Coulson)
+
+n/a - June 26, 2005
+	* Removed consolelog script from contrib 
+	* Updated interactive rc script in contrib and added 
+	  README.rc-Interactive, added install target to the
+	  Makefile. (DJ Lucas)
+
+3.2.2 - May 29, 2005
+	* Tagged as 3.2.2 (Nathan Coulson)
+
+n/a - May 26, 2005
+	* Added minimal target for cross-lfs book (Jim Gifford)
+	* Fixed raq2 patch (Jim Gifford)
+
+3.2.1 - May 1, 2005
+	* Tagged as 3.2.1 (Nathan Coulson)
+
+n/a - April 17, 2005
+	* removed touch from hotplug bootscript (Matthew Burgess)
+	* moved commands around in localnet bootscript (Andrew Benton)
+
+3.2.0 - March 30, 2005
+	* Changed from syslog-ng to sysklogd (Archaic)
+	* Temporairly changed loadproc to return 0 if the program is
+	  already running (Nathan Coulson)
+	* Fixed (by reverting) ifup/ifdown/network (Nathan Coulson),
+	  Reported by Jim Gifford
+	* Fixed network up/down along with adding support of ONHOTPLUG
+	* Tagged as 3.2.0
+
+n/a - March 19, 2005
+	* Updated RaQ2 patch (Jim Gifford)
+	* Added net.agent for Hotplug of Network adapters in contrib
+	  (Jim Gifford)
+
+n/a - March 16, 2005
+	* Reverted the change from loadproc to start_daemon,
+	  Moved compatibility code into one single function.
+	  (Nathan Coulson)
+	* Readded the ONHOTPLUG option for ifup/ifdown (Nathan Coulson)
+	* Fixed killproc's output
+
+n/a - March 01, 2005
+	* Added CHECK_LINK variable in ifconfig.*/*, so if the
+	  interface does not exist, it will not fail.
+	  (Nathan Coulson)
+
+n/a - February 19, 2005
+	* Added evaluate_retval to the end of loadproc and killproc.
+	  lsb does not say that killproc should print [  OK  ],
+	  but required for compatibility.  (Nathan Coulson)
+
+n/a - February 9, 2005
+	* Accidently mounted /dev with 775 instead of 755, fixed
+	  (Reported by Alexander E. Patrakov)
+
+n/a - February 9, 2005
+	* Bugfix for /dev, now mounted with 755 permission
+
+n/a - February 8, 2005
+	* changed pidof, so it doesnt check the process id
+	  of running bootscripts, and to process shell scripts
+	  (Nathan Coulson)
+
+n/a - February 6, 2005
+	* Updated main functions file with lsb functions file
+	  Should now be LSB compliant (Nathan Coulson)
+
+n/a - January 10, 2005
+	* Moved ONBOOT check back to network (Nathan Coulson)
+	* Removed ONHOTPLUG check (Nathan Coulson)
+
+n/a - January 6, 2005
+	* fixed mountkernfs output (Nathan Coulson)
+	* reverted mountfs fakemounting (Nathan Coulson)
+
+n/a - January 5, 2005
+	* Attempted to simplify network bootup files (Nathan Coulson)
+	* Modified mountkernfs to use mountpoint (Nathan Coulson)
+	* Assuming sysfs is always mounted (Nathan Coulson)
+	* Moved fakemount to below mounting (Nathan Coulson)
+	* Removed -t noramfs from umount, as we now use tmpfs (Nathan Coulson)
+	* moved sysctl from mountkernfs to sysctl (Nathan Coulson)
+	* Added -q to sysctl (Nathan Coulson)
+
+n/a - January 2, 2005
+	* Fixed statusproc output. (DJ Lucas)
+
+3.1.0 - December 31, 2004
+	* fixed textoutput
+	* Tagged as 3.1.0
+
+n/a - December 30, 2004
+	* Fixed name of LSB Functions file
+	* Changed boot_mesg to act like echo instead of echo -n, boot_mesg now
+	  takes the -n argument if you do not wish to goto the next line
+
+3.0.1 - December 25, 2004
+	* Released as 3.0.1
+
+n/a - December 20, 2004
+	* Cleaned up header.
+	* Added RaQ2 Patch
+
+n/a - December 16, 2004
+	* Fixed a text typo in udev, tmpfs instead of ramfs (Steve Crosby)
+
+n/a - December 14, 2004
+	* Fixed a warning with find in cleanfs
+
+
+3.0 - December 8, 2004
+
+n/a - December 5, 2004
+	* Moved bootlog to use local2 service to avoide conflict with
+	  dhcpcd (DJ Lucas)
+
+3.0-rc1 - December 1, 2004
+	* rc-Interactive added (DJ Lucas)
+	* rc-Interactive moved to contrib (Nathan Coulson)
+
+n/a - November 27, 2004
+	* Moved bootlog to use local1 to avoid conflict with ppd (DJ Lucas)
+
+n/a - November 25, 2004
+	* Added consolelog to contrib/sysconfig (DJ Lucas)
+	* Rewrite of line wraping in boot_mesg and various fixes
+	  related to boot_mesg changes (DJ Lucas, Alexander Patrakov)
+	* syslog-ng is now installed by default (Jeremy Utley)
+	* hotplug is now installed by default (Jeremy Utley)
+	* udev now uses /sbin/hotplug as the default hotplug handler (Nathan Coulson)
+	* udev now mounts a tmpfs instead of a ramfs onto /dev,
+	  as suggested by Greg K-H (Nathan Coulson)
+	* Created contrib/lsb, and added a LSB compliant functions file
+	  (Nathan Coulson, and Alexander Patrakov)
+	* Modified find [requires find 4.2.3+] (Matthew Burgess)
+
+n/a - November 20, 2004
+	* Modifed modules script to return to previous kernel message
+	  level (DJ Lucas)
+
+n/a - November 02, 2004
+	* Added sysctl -p to mountkernfs (Matthew Burgess, DJ Lucas)
+
+n/a - October 07, 2004
+	* statusproc modified not to send data to bootlog (Nathan Coulson)
+	* Fixed halt commands in checkfs and udev (James Robertson)
+
+n/a - October 04, 2004
+	* Fixes to commit on 2004/09/30 (James Robertson)
+	* Revert a few changes until later (Nathan Coulson)
+	* Added a warning about switching from a 8bit font
+	  to a 9bit font (Alexander Patrakov)
+
+n/a - September 30, 2004
+	* Finished off boot_mesg() (James Robertson)
+	* Standardized all scripts to same variable format and other
+	  internal sh/bash function calls (James Robertson)
+	* Fully implemented boot_mesg across all scripts in sysconfig
+	  and init.d (James Robertson)
+
+n/a - September 26, 2004
+	* Added BOOTMESG_PREFIX variable, so users can optionally set a
+	  prefix for boot messages (James Robertson)
+	* Fixed localnet status, to use ip instead of ifconfig (Jim Gifford)
+	* Added consolelog to contrib (DJ Lucas)
+	* loadproc and killproc can have the -nomsg parameter to avoid
+	  calling evaluate_retval or print_status (Jim Gifford)
+	* boot_mesg no longer explicitly adds a \n onto end of lines
+	* Added a function called boot_mesg_flush, which can
+	  dump the BOOTMESG to the bootlog.  This helps avoid making
+	  everything have to end in OK/WARN/FAIL (Nathan Coulson)
+
+n/a - September 24, 2004
+	* Removed /dev/udev.tdb test
+
+n/a - September 23, 2004
+	* Fixed boot_log so it output's $@'s contents, not @$
+	* Added support for colors in boot_mesg (James Robertson)
+	* Modified udev's error checking
+	* Modified hotplug's error checking
+	* Converted checkfs's error handling to use boot_mesg with
+	  color support
+	* Added $INFO color to functions (James Robertson)
+
+n/a - September 22, 2004
+	* Removed the dependency on wl by replacing it with grep (Bryan Kadzban)
+	* Fixed getpids, to remove unused pids obtained from $PIDFILE
+	* Removed ${NORMAL} from echo "$BOOTMESG" in functions, and removed
+	   space added to each additional sentence tacked onto BOOTMESG
+	* boot_mesg now handles \n's properly, and does not dimish the size of
+	  the next line (James Robertson)
+	* boot_log has been added.  The echo_ functions commit the log,
+	  and then clear the BOOTMSG variable
+	* All scriptes have been converted to use boot_mesg
+
+n/a - September 21, 2004
+	* boot_mesg has been enhanced.  Subsequent calls will overwrite previous
+	  text, and it will wrap text basedupon the variable ${WCOL}. 
+	  (James Robertson)
+	* Fixed mtu optional service typo (Kevin P Fleming)
+	* Added SOURCE variable to ipv4-static-route (Kevin P Fleming)
+
+n/a - September 16, 2004
+	* nework interfaces are now brought down in reverse order
+
+n/a - September 15, 2004
+	* Added blue bracket, from dj's 3.0-pre1 bootscript package 
+	  [echo_failure, echo_warning, and echo_ok]
+	* Added a new function called boot_mesg, meant to replace the echo
+	  command.
+	  This will give us the posibility of doing logging at a later date
+	* Do not set COLUMNS if COLUMNS is already set
+	* Modified getpids, loadproc, killproc, reloadproc, and statusproc as
+	  done by DJ
+
+2.2.3 - September 04, 2004
+	* Tagged as 2.2.3
+
+n/a - September 04, 2004
+	* Added new script to contrib for syslog-ng, which is now part of
+	  LFS-Unstable, and a new Makefile target install-syslog-ng which
+	  removes the sysklogd links, and replaces them with syslog-ng (JU)
+
+2.2.2 - August 11, 2004
+	* Tagged as 2.2.2
+
+n/a - August 7, 2004
+	* Added missing error redirect (/dev/null) in getpids. (DJ)
+
+n/a - August 4, 2004
+	* Added MODE, DIRMODE, and CONFMODE variables to the makefile 
+	  to allow permissions to be set at install. (DJ)
+
+n/a - July 31, 2004
+	
+	* Moved PIDFILE check to getpids and removed arguments from
+	  killproc and reloadproc.  Signals are now set at begining of
+	  funtcions script with KILLDELAY. (DJ)
+	* Added a optional service script which can set the MTU for a given
+	  interface
+
+n/a - July 21, 2004
+
+	* Committed DJ Lucas's patch for the killproc function.  It no 
+	  longer requires arguments if PIDFILE is set
+	* added --backup to all sysconfig configuration files, so they are not
+	  replaced on a make install
+
+n/a - July 13, 2004
+
+	* Added the PEER variable to the ifconfig.*/* file, done by
+	  Kevin P. Fleming
+
+2.2.1 - July 12, 2004
+
+	* Tagged as 2.2.1
+
+n/a - July 12, 2004
+
+	* Hotplug was moved from rcsysinit.d to rc{1,2,3,4,5} to help bring
+	  up/down network interfaces started by hotplug.  This has been revoked
+	  at this time
+	* Networking interfaces are now brought down in reverse order
+	* Moved the ONBOOT check to within ifup/ifdown, so we can bring up/down
+	  the interfaces at boottime/shutdown properly, done by Kevin P. Fleming
+	* Use PREFIX instead of NETMASK for adding addresses in ipv4-static,
+	  done by Kevin P. Fleming
+	* Fix reversal of services inside ifconfig.* directories in ifdown,
+	  done by Kevin P. Fleming
+	* Add ipv4-static-route service, supplied by Kevin P. Fleming
+
+2.2.0 - July 12, 2004
+
+	* Tagged as 2.2.0
+
+n/a - July 11, 2004
+
+	* Minor script output changes
+	* Repaired networking scripts broken in previous commits
+
+n/a - July 10, 2004
+
+	* We now use the ip program [from iproute2] instead of ipconfig
+	  [net-tools] to bring up/down ethernet interfaces, and local
+	  connections, submitted by Jim Gifford
+	* Removed gateway backward compatibility
+	* Removed ifup-eth0 ifdown-eth0 compatibility
+	* Removed the "assume SERVICE=static if SERVICE is unset" compatibility
+	* Pass the IFCONFIG environmental variable to services, so they can
+	  locate the file with the parameters they must read
+	* Rename static to ipv4-static
+	* Stage1 for network configuration via directories, ifup and ifdown
+	  modified, and the static service modified
+	* Stage2 for network configuration via directories complete, network was
+	  modified to check within subdirectories for ONBOOT=yes.  Final Stage
+
+n/a - July 8, 2004
+
+	* Changed iso01 to lat1 everywhere in /etc/sysconfig/console. This
+	  fixes the problem with line-drawing characters.
+
+n/a - July 7, 2004
+
+	* Halted the computer, if unable to mount /dev as a ramfs
+
+n/a - July 6, 2004
+
+	* Moved the hotplug bootscript back to contrib, it will not be used in
+	  the testing branch of the lfs book at this time
+
+n/a - July 4, 2004
+
+	* Modified ifup and ifdown to be hotplug aware
+
+n/a - July 3, 2004
+
+	* Change the check for ONBOOT into a source within a subshell
+
+n/a - July 1, 2004
+
+	* Moved hotplug start to runlevels 3-5 from sysinit
+
+n/a - June 30, 2004
+
+	* Pass -depth in cleanfs
+
+n/a - June 29, 2004
+
+	* Made the grep for ONBOOT in the network script more exact
+
+2.1.2 - June 27, 2004
+
+	* Install the automatic module loading script by default
+	* Tagged as 2.1.2
+
+n/a - June 26, 2004
+
+	* Fixed font for UK in /etc/sysconfig/console
+
+n/a - June 23, 2004
+
+	* Fixed a typo in the hotplug installation procedure
+
+n/a - June 21, 2004
+
+	* Re-ordered the "mount" and "echo" commands in the udev script, to
+	  prevent a possible race
+	* Converted the udev script to use udevsend/udevd
+	* Moved removal of /fastboot and /forcefsck to just after the root fs
+	  becomes writable, and dropped the removal of /etc/nologin
+	* Cleaned and tweaked both the output and actions of cleanfs
+	* Removed the disabling of hotplug from sendsignals
+	* Removed anything that might call "rmmod" in hotplug, since rmmod is
+	  notoriously troublesome in the 2.6.x kernels, and call it with the
+	  stop argument from runlevels 0 and 6
+	* Fixed previous modifications to the udev and cleanfs scripts
+
+n/a - June 20, 2004
+
+	* Rolled back to the /dev/.udev.tdb check from 2.1.1, since the new
+	  one doesn't work as well, and the bug that caused it to change is
+	  now fixed
+
+n/a - June 18, 2004
+
+	* Updated sysconfig/console
+	* Fixed disabling hotplug in sendsignals
+	* hotplug is now installed by default
+
+n/a - June 15, 2004
+
+	* Reset /proc/sys/kernel/hotplug to /bin/true when running the "stop"
+	  command for hotplug
+	* Cleaned the output of the mountkernfs script
+	* Don't output "Creating files and directories" when it's a lie
+
+n/a - June 8, 2004
+
+	* Changed the location the optional module script is installed to
+	  /etc/rc.d/rcsysinit.d/S05modules.
+
+n/a - June 4, 2004
+
+	* Added a echo to the > /proc/sys/kernel/hotplug line, as > did not
+	  clear it
+
+n/a - June 3, 2004
+
+	* Added '> /proc/sys/kernel/hotplug' to sendsignals, to disable hotplug
+	  events, which may start up new daemons
+	* Added elementry bootup logging support.  If it can write to
+	  /var/log/boot.log, it will
+	* Removed logging support, it kept / from being remounted ro
+
+n/a - June 2, 2004
+
+	* Reorganize what goes on in the udev script
+	* Reorganize what goes on in the hotplug script
+	* Moved setting /sbin/hotplug as the default hotplug manager into the
+	  hotplug script
+
+n/a - June 1, 2004
+
+	* Removed usbfs from mountkernfs, and mountfs
+	* Edited the udev script, so it'll always set /proc/sys/kernel/hotplug
+
+n/a - May 24, 2004
+
+	* Added more example keymaps and font settings to /etc/sysconfig/console
+	* Install the /etc/sysconfig/console file by default
+
+n/a - May 23, 2004
+
+	* Changed the symlink for the optional modules script
+	* Removed depmod from the optional modules script
+
+n/a - May 20, 2004
+
+	* Removed the random script.  There is not a strong enough case for
+	  adding it to the lfs-bootscripts.
+
+n/a - May 19, 2004
+
+	* Added the random bootscript from blfs-bootscripts
+
+2.1.1 - May 18, 2004
+
+	* Fixed installation of modules configuration
+	* Tagged as 2.1.1
+
+n/a - May 16, 2004
+
+	* Added sysklogd configuration file
+	* Added example /etc/sysconfig/console file
+	* Do not attempt to populate /dev if that directory has already been
+	  set up earlier in bootup (such as on initramfs/initrd)
+	* Prevent excessive kernel output once klogd starts
+	* Added hotplug script
+
+n/a - May 15, 2004
+
+	* Namespace rework (enumeration of scripts is now cleaner)
+	* Removed directories: blfs, contrib/new-boot-0.2, contrib/rlv
+
+n/a - May 13, 2004
+
+	* Repaired the console script
+	* Added a check to cleanfs [createfiles], to make sure that we have
+	  a valid devicetype, if we have type=dev
+
+n/a - May 11, 2004
+
+	* Added usbfs to mountkernfs and mountfs
+
+n/a - May 6, 2004
+
+	* Don't use loadproc in localnet, it's not meant for that
+	* Quote tests of $PIDFILE, so that things behave when it's empty
+	* Removed unused kill -0 from killproc
+
+2.1.0 - May 4, 2004
+
+	* Update to the console script, prevent install of the console script
+	* Chgrp /var/run/utmp to group utmp if it exists.
+	* Moved udev from contrib to lfs
+	* Moved GATEWAY setup from /etc/rc.d/init.d/network to
+	  /etc/sysconfig/network-devices/services/static
+	* Use the contents of $PIDFILE, if it is set in the script
+	* Tagged as 2.1.0.
+
+n/a - April 30, 2004
+
+	* Moved the loadkeys script to console, and added setfont.  Contributed
+	  by Alexander E. Patrakov
+
+2.0.5 - April 29, 2004
+
+	* Added the heimdal init script.
+	* Tagged as 2.0.5
+
+2.0.4 - April 27, 2004
+
+	* Tagged as 2.0.4
+
+n/a - April 24, 2004
+
+	* Added a example script for /etc/sysconfig/createfiles
+	* Added a check for /sys before mounting sysfs
+	* Added -t noramfs to umount on /etc/rc.d/init.d/mountfs.
+	  This will prevent /dev from being unmounted, if /proc/mounts
+	  is symlinked to /etc/mtab
+
+n/a - April 18, 2004
+
+	* Small fix to a if statement in netfs
+
+n/a - April 17, 2004
+
+	* Added the lisa bootscript, lisa is part of the KDE Network package
+	* Add proper error checking to the mountfs script when writing out mtab
+	* Add more comments to the udev script, and conditionalize various
+	  things that should've been done this way in the first place
+	* Include a template module auto-loading configuration file instead of
+	  having syntax comments in the script itself
+
+n/a - April 12, 2004
+
+	* Added a automatic modules loading script to the contrib directory
+	  submitted by Zack
+	* Edited mountkernfs, so that if you can mount sysfs on /sys, it will
+	  be mounted at boottime.  Should not affect 2.4 systems
+	* Since all entries are added to /etc/mtab, we should not require
+	  the NO_FS variable.  It has been removed from mountfs
+	* Added the udev script into the contrib directory, submitted by Zack
+
+2.0.3 - April 8, 2004
+
+	* Updated cleanfs, so it can create devices.  Supplied by Zack
+	* Tagged as 2.0.3
+
+n/a - March 31, 2004
+
+	* Changed "Press Enter" on unknown error to white
+	* Moved S10swap to S20swap.  When udev is added, it has to be
+	  ran before swap is setup
+
+n/a - March 29, 2004
+
+	* Fixed the rc5.d symlink for ntp so it creates S26ntp instead
+	  of S26npt
+	* Moved S20mountkernfs to S00mountkernfs in rcsysinit.d.  Will help in
+	  the addition of udev in the future.
+
+n/a - March 27, 2004
+
+	* Changed gdm path from hardcoded to program name.  There are 2 spots
+	  gnome can be installed
+
+n/a - March 26, 2004
+
+	* Updated fam daemon script.  It now uses the famd daemon instead of fam
+
+n/a - March 24, 2004
+
+	* Removed mount command out of nfs.  the netfs script already handles
+	  this
+
+2.0.2 - March 24, 2004
+
+	* Edited cleanfs to solve a problem.  [if /tmp does not exist, it
+	  could run the find command on the root filesystem]
+	* Tagged as 2.0.2
+
+2.0.1 - March 24, 2004
+
+	* Found typo in BLFS MySQL Script.
+	* Tagged as 2.0.1
+
+2.0.0 - March 23, 2004
+
+	* Tagged as 2.0.0, no changes from 2.0.0-pre2
+
+2.0.0-pre2 - March 23, 2004
+
+	* Cleaned the /tmp directory on bootup.  find command supplied by Zack
+	* Added a script which can automatically create files and directories
+	  on startup.  [Handles files/directories, permissions, and user/group].
+	  Created by Zack
+	* Added blfs/init.d/fam script
+	* Tagged as 2.0.0-pre2
+
+n/a - March 20, 2004
+
+	* Added create-service-dir target and removed from create-dirs
+	* Changed service script install targets to use
+	  create-service-dir
+	* Added check for dhcpcd service script for stale pid file 
+	  Suggested by Jeremy
+	* Added ifconfig to ipx service script for hosting device not up
+
+n/a - March 19, 2004
+
+	* Added support for ETCDIR, and DESTDIR in the Makefile,
+	  compliments of Tushar
+	* Renamed mountproc to mountkernfs
+	* Updated the README file
+	* Coloured the print_error_message in functions red
+	* added stop to the setclock script
+	* changed echo > to > in cleanfs, suggested by winkie
+	* BLFS Scripts Added,  collected by Zack
+	* Edited killproc, so it checks for running pids, rather then
+	  the completion of the above kill command.  Suggested by Zack
+	* Added network services found in blfs, removed adsl.  Submitted by
+	  DJ.
+
+1.99.4 - March 17, 2004
+
+	* Fixed one last halt line in checkfs script
+	* Moved the directory structure around
+	* Tagged as development release 1.99.4
+
+n/a - February 28, 2004
+
+	* Added stty sane to the top of rc.d/init.d/rc.  Hopefully, this will
+	  fix the problems
+	* Also changed all instances of <ctrl-j> back to enter
+
+1.99.3 - February 23, 2004
+
+	* Tagged as development release 1.99.3
+
+n/a - February 19, 2004
+
+	* Fixed checkfs script, so it will no longer continue to boot after a
+	  failure in the init.d/checkfs script.  Tested with the help of Andre
+	  Müller.  Fix suggested by Zack
+
+n/a - February 7, 2004
+
+	* Added -s onto grep on network stop
+	* Replaced a few more enter's with ctrl-j
+
+1.99.2 - February 6, 2004
+
+	* Added -s onto grep in network start
+	* Tagged as development release 1.99.2
+
+n/a - February 4, 2004
+
+	* Fixed $WARNING $NORMAL and $ERROR lines, broken by changes in
+	  functions
+	* Changed above fixes to work with ash
+	* Fixed checkfs symlink in Makefile
+	* functions is no longer installed as executable
+	* Added a check to checkfs, for errors above 16.  These are caused by
+	  being unable to run fsck, either due to user input, or a unfunctional
+	  linux system
+
+1.99.1 - February 2, 2004
+
+	* Tagged as development release 1.99.1
+
+n/a - February 2, 2004:
+
+	* Added -d to umount in mountfs.
+	* Fixed network shutdown script
+	* Fixed Makefile rc.6 to reboot
+	* Added -s flag to grep command in rc.d/init.d/network -
+          suppresses an error if no ifconfig.* files exist
+
+n/a - January 30, 2004:
+
+	* Reorganized the network system to accept multiple services.
+	* Ash Compliancy
+	* Modified some scripts to follow template
+	* Reorganized functions, based upon Ash Compliancy Patch
+	* Added a sleep 5 to failure for evaulate_retval, and changed
+	  evaulate_retval to return true instead of false.  Instead, a
+	  exit 1 will indicate the script terminated abnormally, causing
+	  your system to wait until you hit ctrl-J
+	* Switched "Press enter to continue" to "Press <ctrl-j> to continue"
+	* replaced 3 with $KILLDELAY in sendsignals
+	* mountfs does not mount network filesystems [identified by _netdev
+	  in /etc/fstab]
+	* removed unneded touch out of cleanfs
+
+n/a - January 30, 2004:
+
+	* New maintainers for the lfs-bootscripts package are:
+	Jeremy Utley (jeremy@linuxfromscratch.org)
+	Nathan Coulson (nathan@linuxfromscratch.org)
+
+1.11 - February 3rd, 2003:
+
+	* /etc/mtab is now a real file and is handled correctly so there are
+	no errors even when the machine has crashed.
+
+1.10 - September 12th, 2002:
+
+	* Fixed up checkfs to work with non-ext2 filesystems too (such as
+	minix).
+
+1.9 - April 5th, 2002:
+
+	* reloadproc function had a missing '=' in the "failure 1" command (it
+	  should be failure=1)
+
+	* When script exists with unexpected value, you have to hit "Enter" to
+	  continue, not just a random key as printed on the screen.
+
+	* Moved K10sysklogd, K20sendsignals, K30mount and K40swap to
+	  K40sysklogd, K50sendsignals, K60mount, K70swap
+
+	* Changed the #!/bin/sh lines to #!/bin/bash - /bin/sh may not be
+	  linked to bash but to some other shell of your choice. These scripts
+	  are written to work with bash, so you can't just run them when
+	  /bin/sh -> csh or ash or whatever else tickles your fancy. This
+	  change should fix that.
+
+1.8 - March 14th, 2002:
+
+	* Fixed the getpids function call so PPID's would be taken into account
+	  properly.
+
+	* Added the 'contrib' directory with other people's bootscript
+	  implementations.
+
+1.7 - March 10th, 2002:
+
+	* Used code from Matthias Benkmann's simpleinit-msb @
+	  http://winterdrache.de/linux/newboot/index.html mainly for improved
+	  killproc function handling
+
+	* When a requested process isn't running, or is already running, a
+	  warning "Not running" or "Already running" will be displayed. This
+	  was out of allignment due to a missing $CURS_UP
+
+	* Removed "||exit" from ifup and ifdown scripts. They are useless.
+
+	* Changed the loadkeys script to run "loadkeys -d" and removed the need
+	  for the /etc/sysconfig/keyboard file. The kbd patch fixes the
+	  "loadkeys -d" behaviour.
+
+1.6 - February 26th, 2002:
+
+	* replaced -o %PPID with -o $PPID throughout the functions script. This
+	construct does what it's supposed to do (don't take PPID into account
+	because this would fail if a running daemon and the bootscript have
+	the same name).
+
+	* added 'restart' to the swap script
+
+	* instead of using 'echo -n' to supress newlines so the [ OK ] and
+	  related messages allign properly, substitute this with a single echo
+	  command that simply goes one line up before outputting anything. This
+	  also has the benefit that when programs have their own output (like
+	  swapon, fsck and loadkeys), there won't be an unwanted blank line
+	  between the program's output and the [ OK ] et all. messages.
+
+1.5 - February 2nd, 2002:
+
+	* added 'exit 1' to the statusproc function when there aren't enough
+	parameters passed to it (such as the name of process to check for)
+
+1.4 - February 2nd, 2002:
+
+	* when /fastboot is detected and the message about it is printed,
+	  don't run 'exit 1' else the rc script will cause a [FAILED] to
+	  be printed which is undesired in this case.
+
+1.3 - January 30th, 2002:
+	* network script: changed default route detection by using the same
+	  method as used when starting the script: check if the GATEWAY
+	  variable is set
+
+	* removed the emptying of /etc/mtab since it's a symlink to
+	 /proc/mounts now
+
+	* added the mountproc script which mounts the proc system. This is done
+	  because we need proc mounted even before the mountfs script is ran
+	  (now that /etc/mtab is a symlink to /proc/mounts)
+
+	* removed all absolute paths from command calls
+
+	* added umask 022 and PATH="/bin:/usr/bin:/sbin:/usr/sbin" to the
+	  functions script. Every file now sources this so that umask and PATH
+	  are set correctly
+
+1.2 - January 26th, 2002:
+	* network script: detect if a default route is set before removing it
+
Index: boot-scripts/Changelog
===================================================================
--- boot-scripts/Changelog	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/Changelog	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,92 @@
+Chris - April 21, 2014
+	* Renamed to "boot-scripts" as this package will now be used only
+	  for the "boot" method
+	* Removed a number of scripts and Makefile lines not needed for a
+	  minimal system, including all cblfs scripts
+	* Modified paths in all the scripts so that they can be used in /tools
+
+jim - June 4, 2009
+	* Fixed Bootlogging Ticket #211.
+
+jim - February 3, 2009
+	* Updated DHCPCD service.
+
+jim - February 2, 2009
+	* Fixed Makefile
+	* Moved Network to install-network
+
+jim - January 31, 2009
+	* Moved syklogd to cblfs
+	* Added rsyslog to clfs
+
+jim - January 14, 2009
+	* Fixed Netboot Udev Setup
+	* Remove all script directories for netboot
+
+jim - January 8, 2009
+	* Remove Console Script
+	* Added i18n Script
+
+jim - October 24, 2007
+	* Merged Netboot Scripts
+
+jim - October 23, 2007
+	* Merged BLFS changes from SVN
+	* Merged LFS changes from SVN
+
+jim - October 16, 2007
+	* Merged BLFS scripts
+	* Fixed Makefile
+	* Changed install to install-bootscripts
+	* Changed minimal to install-minimal
+
+jim - September 10, 2007
+	* Moved udev script from udev package since udev package is no longer required
+
+jim - October 31, 2006
+	* Cleaned up bootscripts removed uneeded patch
+	* Renamed lfs dir to clfs to keep it with our standards
+	* Added the ability to have network subinterfaces
+
+jim - October 24, 2006
+	* Added IP Address of Interface on IFUP Error message
+	* Fixed Logging. Would hang because of an empty variable
+
+jim - September 24, 2006
+        * Changed LFS to CLFS
+	* Added Logging Feature back to the bootscripts
+
+jim - September 2, 2006
+        * Add a check to see if the interface is already disabled
+        * Add a check to see if the interface is already setup
+
+jim - August 27, 2006
+	* Added the same change to ifdown script. 
+
+jeremy - August 21, 2006
+	* Logic error in ifup script - output of ip link show always shows
+	  all interfaces - added a grep to only look at the interface we're
+	  interested in
+
+jim - July 27, 2006
+	* Corrected install-minimal symlinks
+
+jim - June 29, 2006
+	* Disable interactive Prompts
+	* Added Check to see if /etc/sysconfig/createfiles is available
+
+jim - May 15, 2006
+	* Hide all the output information from the LCD Program
+	* Added support for 1 line LCD screens
+	* Added a generic sysconfig/lcd
+
+jim - May 10, 2006
+	* Fixed an error when the LCD device is not available
+
+jim - May 9, 2006
+	* Added support for LCD Screens
+	* Added support for RaQ3 LCD and Cobalt Panel Utils
+
+This is a new Changelog. The old one is now renamed to CHANGELOG.old.
+These scripts are based on LFS-Bootscripts 3.2.2
+
Index: boot-scripts/LICENSE
===================================================================
--- boot-scripts/LICENSE	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/LICENSE	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,22 @@
+Copyright (c) 2007 Jim Gifford and Ryan Oliver
+
+Permission is hereby granted, free of charge, to any person obtaining
+a copy of this software and associated documentation files (the
+"Software"), to deal in the Software without restriction, including
+without limitation the rights to use, copy, modify, merge, publish,
+distribute, sublicense, and/or sell copies of the Software, and to
+permit persons to whom the Software is furnished to do so, subject to
+the following conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+SOFTWARE.
+
Index: boot-scripts/LICENSE.lfs
===================================================================
--- boot-scripts/LICENSE.lfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/LICENSE.lfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,29 @@
+Copyright (c) 1999-2007, Gerard Beekmans
+
+All rights reserved.
+
+Redistribution and use in source and binary forms, with or without
+modification, are permitted provided that the following conditions are met:
+
+	*	Redistributions in any form must retain the above copyright notice,
+		this list of conditions and the following disclaimer.
+
+	*	Neither the name of "Linux From Scratch" nor the names of its
+		contributors may be used to endorse or promote products derived from
+		this material without specific prior written permission.
+
+	*	Any material derived from Linux From Scratch must contain a
+		reference to the "Linux From Scratch" project.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS
+IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE
+LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGE.
+
Index: boot-scripts/Makefile
===================================================================
--- boot-scripts/Makefile	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/Makefile	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,106 @@
+VERSION		:= 3.0-pre11
+
+ETCDIR		:= /etc
+SHELL		:= /bin/bash
+EXTDIR		:= ${DESTDIR}${ETCDIR}
+MODE		:= 754
+DIRMODE		:= 755
+CONFMODE	:= 644
+
+all:
+	@grep "^install" Makefile | cut -d ":" -f 1
+	@echo "dist"
+	@echo "Select an appropriate install target from the above list" ; exit 1
+
+.PHONY: dist
+dist:
+	rm -rf "dist/boot-scripts-cross-lfs-$(VERSION)"
+	mkdir -p "dist/boot-scripts-cross-lfs-$(VERSION)"
+	tar --exclude dist -c * | tar -x -C "dist/boot-scripts-cross-lfs-$(VERSION)"
+	(cd dist; tar -cjf "boot-scripts-cross-lfs-$(VERSION).tar.bz2" "boot-scripts-cross-lfs-$(VERSION)")
+	rm -rf "dist/boot-scripts-cross-lfs-$(VERSION)"
+
+create-dirs:
+	install -d -m ${DIRMODE} ${EXTDIR}/rc.d/rc{0,1,2,3,4,5,6,sysinit}.d
+	install -d -m ${DIRMODE} ${EXTDIR}/rc.d/init.d
+	install -d -m ${DIRMODE} ${EXTDIR}/sysconfig
+
+create-service-dir:
+	install -d -m ${DIRMODE} ${EXTDIR}/sysconfig/network-devices/services
+
+install-boot-scripts: create-dirs create-service-dir
+	install -m ${MODE} clfs/init.d/checkfs       		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/cleanfs       		${EXTDIR}/rc.d/init.d/
+	install -m ${CONFMODE} clfs/init.d/functions ${EXTDIR}/rc.d/init.d/functions
+	install -m ${MODE} clfs/init.d/halt          		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/localnet      		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/mountfs       		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/mountkernfs   		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/rc            		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/reboot        		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/sendsignals   		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/setclock      		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/swap          		${EXTDIR}/rc.d/init.d/
+	install -m ${MODE} clfs/init.d/udev          		${EXTDIR}/rc.d/init.d/
+	ln -sf ../init.d/sendsignals ${EXTDIR}/rc.d/rc0.d/S60sendsignals
+	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rc0.d/S70mountfs
+	ln -sf ../init.d/swap        ${EXTDIR}/rc.d/rc0.d/S80swap
+	ln -sf ../init.d/halt        ${EXTDIR}/rc.d/rc0.d/S99halt
+	ln -sf ../init.d/sendsignals ${EXTDIR}/rc.d/rc6.d/S60sendsignals
+	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rc6.d/S70mountfs
+	ln -sf ../init.d/swap        ${EXTDIR}/rc.d/rc6.d/S80swap
+	ln -sf ../init.d/reboot      ${EXTDIR}/rc.d/rc6.d/S99reboot
+	ln -sf ../init.d/mountkernfs ${EXTDIR}/rc.d/rcsysinit.d/S00mountkernfs
+	ln -sf ../init.d/udev        ${EXTDIR}/rc.d/rcsysinit.d/S10udev
+	ln -sf ../init.d/checkfs     ${EXTDIR}/rc.d/rcsysinit.d/S20checkfs
+	ln -sf ../init.d/mountfs     ${EXTDIR}/rc.d/rcsysinit.d/S30mountfs
+	ln -sf ../init.d/swap        ${EXTDIR}/rc.d/rcsysinit.d/S40swap
+	ln -sf ../init.d/cleanfs     ${EXTDIR}/rc.d/rcsysinit.d/S50cleanfs
+	ln -sf ../init.d/setclock    ${EXTDIR}/rc.d/rcsysinit.d/S60setclock
+	if [ ! -f ${EXTDIR}/sysconfig/rc          ]; then install -m ${CONFMODE} clfs/sysconfig/rc          ${EXTDIR}/sysconfig/; fi
+	if [ ! -f ${EXTDIR}/sysconfig/createfiles ]; then install -m ${CONFMODE} clfs/sysconfig/createfiles ${EXTDIR}/sysconfig/; fi
+
+install-raq2: create-dirs
+	install -m ${MODE} clfs/init.d/paneld        ${EXTDIR}/rc.d/init.d/
+	ln -sf ../init.d/paneld      ${EXTDIR}/rc.d/rc0.d/K01paneld
+	ln -sf ../init.d/paneld      ${EXTDIR}/rc.d/rc1.d/S99paneld
+	ln -sf ../init.d/paneld      ${EXTDIR}/rc.d/rc2.d/S99paneld
+	ln -sf ../init.d/paneld      ${EXTDIR}/rc.d/rc3.d/S99paneld
+	ln -sf ../init.d/paneld      ${EXTDIR}/rc.d/rc4.d/S99paneld
+	ln -sf ../init.d/paneld      ${EXTDIR}/rc.d/rc5.d/S99paneld
+	ln -sf ../init.d/paneld      ${EXTDIR}/rc.d/rc6.d/K01paneld
+	if [ ! -f ${EXTDIR}/sysconfig/lcd          ]; then install -m ${CONFMODE} clfs/sysconfig/lcd-raq2   ${EXTDIR}/sysconfig/lcd; fi
+
+install-raq3: create-dirs
+	install -m ${MODE} clfs/init.d/setlcd        ${EXTDIR}/rc.d/init.d/
+	ln -sf ../init.d/setlcd      ${EXTDIR}/rc.d/rc0.d/K01setlcd
+	ln -sf ../init.d/setlcd      ${EXTDIR}/rc.d/rc1.d/S99setlcd
+	ln -sf ../init.d/setlcd      ${EXTDIR}/rc.d/rc2.d/S99setlcd
+	ln -sf ../init.d/setlcd      ${EXTDIR}/rc.d/rc3.d/S99setlcd
+	ln -sf ../init.d/setlcd      ${EXTDIR}/rc.d/rc4.d/S99setlcd
+	ln -sf ../init.d/setlcd      ${EXTDIR}/rc.d/rc5.d/S99setlcd
+	ln -sf ../init.d/setlcd      ${EXTDIR}/rc.d/rc6.d/K01setlcd
+	if [ ! -f ${EXTDIR}/sysconfig/lcd          ]; then install -m ${CONFMODE} clfs/sysconfig/lcd-raq3   ${EXTDIR}/sysconfig/lcd; fi
+
+install-lcd: create-dirs
+	if [ ! -f ${EXTDIR}/sysconfig/lcd          ]; then install -m ${CONFMODE} clfs/sysconfig/lcd        ${EXTDIR}/sysconfig/lcd; fi
+
+install-netboot: create-dirs create-service-dir
+	rm -rf ${EXTDIR}/rc.d
+	install -d -m ${DIRMODE} ${EXTDIR}/rc.d
+	install -m ${MODE} netboot/rc.0         ${EXTDIR}/rc.d/
+	install -m ${MODE} netboot/rc.1         ${EXTDIR}/rc.d/
+	install -m ${MODE} netboot/rc.sysinit ${EXTDIR}/rc.d/
+	if [ ! -f ${EXTDIR}/inittab ]; then install -m ${CONFMODE} netboot/inittab ${EXTDIR}/inittab; fi
+	ln -sf ../rc.d/rc.0 ${EXTDIR}/rc.d/rc.6
+	ln -sf ../rc.d/rc.1 ${EXTDIR}/rc.d/rc.2
+	ln -sf ../rc.d/rc.1 ${EXTDIR}/rc.d/rc.3
+	ln -sf ../rc.d/rc.1 ${EXTDIR}/rc.d/rc.4
+	ln -sf ../rc.d/rc.1 ${EXTDIR}/rc.d/rc.5
+
+.PHONY: all create-dirs create-service-dir \
+	install \
+	boot-scripts \
+	install-lcd \
+	install-raq2 \
+	install-raq3
Index: boot-scripts/README
===================================================================
--- boot-scripts/README	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/README	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,37 @@
+SetClock configuration:
+	Script Files:
+		rc.d/init.d/setclock
+
+	Configuration Files:
+		sysconfig/clock
+		- UTC: 1 assumes hwclock is in UTC
+		       0 assumes hwclock is in local time
+
+CleanFS configuration:
+	Script Files:
+		rc.d/init.d/cleanfs
+
+	Configuration Files:
+		/etc/sysconfig/createfiles
+		Each line is parsed, using space as a deliminator.
+		[NAME] [TYPE] [PERMISSIONS] [USER] [GROUP]
+		The below fields are currently only used on dev type.
+		([DEV TYPE] [MAJOR#] [MINOR#])
+		Name:
+			File/Directory/Device name
+		Type:
+			dir: creates a directory
+			file: creates a file
+			dev: creates a device
+		Permissions:
+			chmod the created file
+		User/Group:
+			chown the created file/dir to this user/group
+		Dev Type:
+			char:  character [needs MAJOR#, MINOR#]
+			block: block [needs MAJOR#, MINOR#]
+			pipe:  pipe
+		Major#:
+			Used by character and block devices.
+		Minor#:
+			Used by character and block devices.
Index: boot-scripts/clfs/init.d/checkfs
===================================================================
--- boot-scripts/clfs/init.d/checkfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/checkfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,131 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/checkfs
+#
+# Description : File System Check
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#		A. Luebke - luebke@users.sourceforge.net
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+# Based on checkfs script from LFS-3.1 and earlier.
+#
+# From man fsck
+# 0    - No errors
+# 1    - File system errors corrected
+# 2    - System should be rebooted
+# 4    - File system errors left uncorrected
+# 8    - Operational error
+# 16   - Usage or syntax error
+# 32   - Fsck canceled by user request
+# 128  - Shared library error
+#
+#########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+case "${1}" in
+	start)
+		if [ -f /fastboot ]; then
+			boot_mesg -n "/fastboot found, will not perform" ${INFO}
+			boot_mesg " file system checks as requested."
+			echo_ok
+			exit 0
+		fi
+
+		boot_mesg "Mounting root file system in read-only mode..."
+		mount -n -o remount,ro / >/dev/null
+		evaluate_retval
+
+		if [ ${?} != 0 ]; then
+			echo_failure
+			boot_mesg -n "FAILURE:\n\nCannot check root" ${FAILURE}
+			boot_mesg -n " filesystem because it could not be mounted"
+			boot_mesg -n " in read-only mode.\n\nAfter you"
+			boot_mesg -n " press Enter, this system will be"
+			boot_mesg -n " halted and powered off."
+			boot_mesg -n "\n\nPress enter to continue..." ${INFO}
+			boot_mesg "" ${NORMAL}
+			read ENTER
+			${rc_base}/init.d/halt stop
+		fi
+
+		if [ -f /forcefsck ]; then
+			boot_mesg -n "/forcefsck found, forcing file" ${INFO}
+			boot_mesg " system checks as requested."
+			echo_ok
+			options="-f"
+		else
+			options=""
+		fi
+
+		boot_mesg "Checking file systems..."
+		# Note: -a option used to be -p; but this fails e.g.
+		# on fsck.minix
+		fsck ${options} -a -A -C -T
+		error_value=${?}
+
+		if [ "${error_value}" = 0 ]; then
+			echo_ok
+		fi
+
+		if [ "${error_value}" = 1 ]; then
+			echo_warning
+			boot_mesg -n "WARNING:\n\nFile system errors" ${WARNING}
+			boot_mesg -n " were found and have been corrected."
+			boot_mesg -n "  You may want to double-check that"
+			boot_mesg -n " everything was fixed properly."
+			boot_mesg "" ${NORMAL}
+		fi
+
+		if [ "${error_value}" = 2 -o "${error_value}" = 3 ]; then
+			echo_warning
+			boot_mesg -n "WARNING:\n\nFile system errors" ${WARNING}
+			boot_mesg -n " were found and have been been"
+ 			boot_mesg -n " corrected, but the nature of the"
+			boot_mesg -n " errors require this system to be"
+			boot_mesg -n " rebooted.\n\nAfter you press enter,"
+			boot_mesg -n " this system will be rebooted"
+			boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
+			boot_mesg "" ${NORMAL}
+			read ENTER
+			reboot -f
+		fi
+
+		if [ "${error_value}" -gt 3 -a "${error_value}" -lt 16 ]; then
+			echo_failure
+			boot_mesg -n "FAILURE:\n\nFile system errors" ${FAILURE}
+			boot_mesg -n " were encountered that could not be"
+			boot_mesg -n " fixed automatically.  This system"
+			boot_mesg -n " cannot continue to boot and will"
+			boot_mesg -n " therefore be halted until those"
+			boot_mesg -n " errors are fixed manually by a"
+			boot_mesg -n " System Administrator.\n\nAfter you"
+			boot_mesg -n " press Enter, this system will be"
+			boot_mesg -n " halted and powered off."
+			boot_mesg -n "\n\nPress Enter to continue..." ${INFO}
+			boot_mesg "" ${NORMAL}
+			read ENTER
+			${rc_base}/init.d/halt stop
+		fi
+
+		if [ "${error_value}" -ge 16 ]; then
+			echo_failure
+			boot_mesg -n "FAILURE:\n\nUnexpected Failure" ${FAILURE}
+			boot_mesg -n " running fsck.  Exited with error"
+			boot_mesg -n " code: ${error_value}."
+			boot_mesg "" ${NORMAL}
+			exit ${error_value}
+		fi
+		;;
+	*)
+		echo "Usage: ${0} {start}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/checkfs
Index: boot-scripts/clfs/init.d/cleanfs
===================================================================
--- boot-scripts/clfs/init.d/cleanfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/cleanfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,104 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/cleanfs
+#
+# Description : Clean file system
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+# Function to create files/directory on boot.
+create_files() {
+	# Read in the configuration file.
+	exec 9>&0 < /tools/etc/sysconfig/createfiles
+		while read name type perm usr grp dtype maj min junk
+		do
+
+			# Ignore comments and blank lines.
+       			case "${name}" in
+				""|\#*) continue ;;
+			esac
+
+			# Ignore existing files.
+			if [ ! -e "${name}" ]; then
+				# Create stuff based on its type.
+				case "${type}" in
+					dir)
+						mkdir "${name}"
+						;;
+					file)
+						:> "${name}"
+						;;
+					dev)
+						case "${dtype}" in
+							char)
+								mknod "${name}" c ${maj} ${min}
+								;;
+							block)
+								mknod "${name}" b ${maj} ${min}
+								;;
+							pipe)
+								mknod "${name}" p
+								;;
+							*) 
+								boot_mesg -n "\nUnknown device type: ${dtype}" ${WARNING}
+								boot_mesg "" ${NORMAL}
+								;;
+						esac
+						;;
+					*)
+						boot_mesg -n "\nUnknown type: ${type}" ${WARNING}
+						boot_mesg "" ${NORMAL}
+						continue
+						;;
+				esac
+
+				# Set up the permissions, too.
+				chown ${usr}:${grp} "${name}"
+				chmod ${perm} "${name}"
+			fi
+		done
+	exec 0>&9 9>&-
+}
+
+case "${1}" in
+	start)
+		boot_mesg -n "Cleaning file systems:" ${INFO}
+
+		boot_mesg -n " /tmp" ${NORMAL}
+		cd /tmp &&
+		find . -xdev -mindepth 1 ! -name lost+found \
+			-delete || failed=1
+
+		> /var/run/utmp
+		if grep -q '^utmp:' /etc/group ; then
+			chmod 664 /var/run/utmp
+			chgrp utmp /var/run/utmp
+		fi
+
+		(exit ${failed})
+		evaluate_retval
+                boot_mesg "" ${NORMAL}
+		if [ -e /tools/etc/sysconfig/createfiles ]; then
+			if egrep -qv '^(#|$)' /tools/etc/sysconfig/createfiles 2>/dev/null; then
+				boot_mesg "Creating files and directories..."
+				create_files
+				evaluate_retval
+			fi
+		fi
+		;;
+	*)
+		echo "Usage: ${0} {start}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/cleanfs
Index: boot-scripts/clfs/init.d/functions
===================================================================
--- boot-scripts/clfs/init.d/functions	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/functions	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,829 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/functions
+#
+# Description : Run Level Control Functions
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       : With code based on Matthias Benkmann's simpleinit-msb
+#		http://winterdrache.de/linux/newboot/index.html
+#
+########################################################################
+
+if [ -e /tools/etc/sysconfig/lcd ]; then
+	if [ -e /dev/lcd ]; then
+		source /tools/etc/sysconfig/lcd
+	fi
+fi
+
+if [ -e /tools/etc/sysconfig/bootscripts ]; then
+	source /tools/etc/sysconfig/bootscripts
+fi
+
+## Environmental setup
+# Setup default values for environment
+umask 022
+export PATH="/tools/bin:/tools/sbin:/bin:/sbin"
+
+# Signal sent to running processes to refresh their configuration
+RELOADSIG="HUP"
+
+# Number of seconds between STOPSIG and FALLBACK when stopping processes
+KILLDELAY="3"
+
+## Screen Dimensions
+# Find current screen size
+if [ -z "${COLUMNS}" ]; then
+	COLUMNS=$(stty size)
+	COLUMNS=${COLUMNS##* }
+fi
+
+# When using remote connections, such as a serial port, stty size returns 0
+if [ "${COLUMNS}" = "0" ]; then 
+	COLUMNS=80
+fi
+
+## Measurements for positioning result messages
+COL=$((${COLUMNS} - 8))
+WCOL=$((${COL} - 2))
+
+## Provide an echo that supports -e and -n
+# If formatting is needed, $ECHO should be used
+case "`echo -e -n test`" in
+	-[en]*)
+		ECHO=/tools/bin/echo
+		;;
+	*)
+		ECHO=echo
+		;;
+esac
+
+## Set Cursor Position Commands, used via $ECHO
+SET_COL="\\033[${COL}G"      # at the $COL char
+SET_WCOL="\\033[${WCOL}G"    # at the $WCOL char
+CURS_UP="\\033[1A\\033[0G"   # Up one line, at the 0'th char
+
+## Set color commands, used via $ECHO
+# Please consult `man console_codes for more information
+# under the "ECMA-48 Set Graphics Rendition" section
+#
+# Warning: when switching from a 8bit to a 9bit font,
+# the linux console will reinterpret the bold (1;) to
+# the top 256 glyphs of the 9bit font.  This does
+# not affect framebuffer consoles
+NORMAL="\\033[0;39m"         # Standard console grey
+SUCCESS="\\033[1;32m"        # Success is green
+WARNING="\\033[1;33m"        # Warnings are yellow
+FAILURE="\\033[1;31m"        # Failures are red
+INFO="\\033[1;36m"           # Information is light cyan
+BRACKET="\\033[1;34m"        # Brackets are blue
+
+STRING_LENGTH="0"   # the length of the current message
+
+#*******************************************************************************
+# Function - boot_mesg()
+#
+# Purpose:      Sending information from bootup scripts to the console
+#
+# Inputs:       $1 is the message
+#               $2 is the colorcode for the console
+#
+# Outputs:      Standard Output
+#
+# Dependencies: - sed for parsing strings.
+#	        - grep for counting string length.
+#               
+# Todo:         
+#*******************************************************************************
+boot_mesg()
+{
+	local ECHOPARM=""
+
+	if [ "$LCD_PROG" ]; then
+		LCD_OUT1="${1:0:$LCD_CHAR}"
+		$LCD_PROG "$LCD_OUT1" > /dev/null 2>&1
+	fi
+
+	while true
+	do
+		case "${1}" in
+			-n)
+				ECHOPARM=" -n "
+				shift 1
+				;;
+			-*)
+				echo "Unknown Option: ${1}"
+				return 1
+				;;
+			*)
+				break
+				;;
+		esac
+	done
+
+	## Figure out the length of what is to be printed to be used
+	## for warning messages. 
+	STRING_LENGTH=$((${#1} + 1))
+
+	# Print the message to the screen
+	${ECHO} ${ECHOPARM} -e "${2}${1}"
+	
+	# Message Log
+	if [ -z "${BOOTMESG}" ]
+	then
+		BOOTMESG="${1}"
+	else
+		BOOTMESG="${BOOTMESG} ${1}"
+	fi
+}
+
+boot_mesg_flush()
+{
+	# Reset STRING_LENGTH for next message
+	STRING_LENGTH="0"
+	if [ "$LOGGING" ]; then
+		boot_log "${BOOTMESG}${@}"
+		BOOTMESG=""
+	fi
+}
+
+boot_log()
+{
+	if [ "$LOGGING" ]; then
+		/tools/bin/logger -p local2.info -t bootlog "${DISPLAYLOG} ${1}"
+	else
+		return 0
+	fi
+}
+
+echo_ok()
+{
+	if [ "$LCD_PROG" ]; then
+		if [ "$LCD_LINES" = "2" ]; then
+			LCD_OUT2="[  OK  ]"
+			$LCD_PROG "$LCD_OUT1" "$LCD_OUT2" > /dev/null 2>&1
+		else
+			LCD_OUT2="${LCD_OUT1:0:12} OK"
+			$LCD_PROG "$LCD_OUT2" > /dev/null 2>&1
+		fi
+	fi
+	${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${SUCCESS}  OK  ${BRACKET}]"
+	${ECHO} -e "${NORMAL}"
+	BOOTMESG="${BOOTMESG} [ OK ]"
+	boot_mesg_flush
+}
+
+echo_failure()
+{
+	if [ "$LCD_PROG" ]; then
+		if [ "$LCD_LINES" = "2" ]; then
+			LCD_OUT2="[ FAIL  ]"
+			$LCD_PROG "$LCD_OUT1" "$LCD_OUT2" > /dev/null 2>&1
+		else
+			LCD_OUT2="${LCD_OUT1:0:10} FAIL"
+			$LCD_PROG "$LCD_OUT2" > /dev/null 2>&1
+		fi
+	fi
+	${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${FAILURE} FAIL ${BRACKET}]"
+	${ECHO} -e "${NORMAL}"
+	BOOTMESG="${BOOTMESG} [ FAIL ]"
+	boot_mesg_flush
+}
+
+echo_warning()
+{
+	if [ "$LCD_PROG" ]; then
+		if [ "$LCD_LINES" = "2" ]; then
+			LCD_OUT2="[ WARN  ]"
+			$LCD_PROG "$LCD_OUT1" "$LCD_OUT2" > /dev/null 2>&1
+		else
+			LCD_OUT2="${LCD_OUT1:0:10} WARN"
+			$LCD_PROG "$LCD_OUT2" > /dev/null 2>&1
+		fi
+	fi
+	${ECHO} -n -e "${CURS_UP}${SET_COL}${BRACKET}[${WARNING} WARN ${BRACKET}]"
+	${ECHO} -e "${NORMAL}"
+	BOOTMESG="${BOOTMESG} [ WARN ]"
+	boot_mesg_flush
+}
+
+print_error_msg()
+{
+	echo_failure
+	# $i is inherited by the rc script
+	boot_log "\n\n${i} failed and exited with a return value of ${error_value}."
+	boot_mesg -n "FAILURE:\n\nYou should not be reading this error message.\n\n" ${FAILURE}
+	boot_mesg -n " It means that an unforeseen error took"
+	boot_mesg -n " place in ${i}, which exited with a return value of"
+	boot_mesg " ${error_value}.\n"
+	boot_mesg_flush
+	boot_mesg -n "If you're able to track this"
+	boot_mesg -n " error down to a bug in one of the files provided by"
+	boot_mesg -n " the CLFS book, please be so kind to inform us at"
+	boot_mesg " clfs-dev@cross-lfs.org.\n"
+	boot_mesg_flush
+	boot_mesg -n "Press Enter to continue..." ${INFO}
+	boot_mesg "" ${NORMAL}
+	read ENTER
+}
+
+check_script_status()
+{
+	# $i is inherited by the rc script
+	if [ ! -f ${i} ]; then
+		boot_mesg "${i} is not a valid symlink." ${WARNING}
+		echo_warning
+		continue
+	fi
+
+	if [ ! -x ${i} ]; then
+		boot_mesg "${i} is not executable, skipping." ${WARNING}
+		echo_warning
+		continue
+	fi
+}
+
+evaluate_retval()
+{
+	error_value="${?}"
+
+	if [ ${error_value} = 0 ]; then
+		echo_ok
+	else
+		echo_failure
+	fi
+
+	# This prevents the 'An Unexpected Error Has Occurred' from trivial
+	# errors.
+	return 0
+}
+
+print_status()
+{
+	if [ "${#}" = "0" ]; then
+		echo "Usage: ${0} {success|warning|failure}"
+		return 1
+	fi
+
+	case "${1}" in
+
+		success)
+			echo_ok
+			;;
+
+		warning)
+			# Leave this extra case in because old scripts
+			# may call it this way.
+			case "${2}" in
+				running)
+					${ECHO} -e -n "${CURS_UP}"
+					${ECHO} -e -n "\\033[${STRING_LENGTH}G   "
+					boot_mesg "Already running." ${WARNING}
+					echo_warning
+					;;
+				not_running)
+					${ECHO} -e -n "${CURS_UP}"
+					${ECHO} -e -n "\\033[${STRING_LENGTH}G   "
+					boot_mesg "Not running." ${WARNING}
+					echo_warning
+					;;
+				not_available)
+					${ECHO} -e -n "${CURS_UP}"
+					${ECHO} -e -n "\\033[${STRING_LENGTH}G   "
+					boot_mesg "Not available." ${WARNING}
+					echo_warning
+					;;
+				*)
+					# This is how it is supposed to
+					# be called
+					echo_warning
+					;;
+			esac
+		;;
+
+		failure)
+			echo_failure
+		;;
+
+	esac
+
+}
+
+reloadproc()
+{
+	local pidfile=""
+	local failure=0
+
+	while true
+	do
+		case "${1}" in
+			-p)
+				pidfile="${2}"
+				shift 2
+				;;
+			-*)
+				log_failure_msg "Unknown Option: ${1}"
+				return 2
+				;;
+			*)
+				break
+				;;
+		esac
+	done
+
+	if [ "${#}" -lt "1" ]; then
+		log_failure_msg "Usage: reloadproc [-p pidfile] pathname"
+		return 2
+	fi
+
+	# This will ensure compatibility with previous CLFS Bootscripts
+	if [ -n "${PIDFILE}" ];	then
+		pidfile="${PIDFILE}"
+	fi
+
+	# Is the process running?
+	if [ -z "${pidfile}" ];	then
+		pidofproc -s "${1}"
+	else
+		pidofproc -s -p "${pidfile}" "${1}"
+	fi
+
+	if [ -n "${pidlist}" ];	then
+		for pid in ${pidlist}
+		do
+			kill -"${RELOADSIG}" "${pid}" || failure="1"
+		done
+
+		(exit ${failure})
+		evaluate_retval
+
+	else
+		boot_mesg "Process ${1} not running." ${WARNING}
+		echo_warning
+	fi
+}
+
+statusproc()
+{
+	local pidfile=""
+	local base=""
+	local ret=""
+
+	while true
+	do
+		case "${1}" in
+			-p)
+				pidfile="${2}"
+				shift 2
+				;;
+			-*)
+				log_failure_msg "Unknown Option: ${1}"
+				return 2
+				;;
+			*)
+				break
+				;;
+		esac
+	done
+
+	if [ "${#}" != "1" ]; then
+		shift 1
+		log_failure_msg "Usage: statusproc [-p pidfile] pathname"
+		return 2
+	fi
+
+	# Get the process basename
+	base="${1##*/}"
+
+	# This will ensure compatibility with previous CLFS Bootscripts
+	if [ -n "${PIDFILE}" ];	then
+		pidfile="${PIDFILE}"
+	fi
+
+	# Is the process running?
+	if [ -z "${pidfile}" ];	then
+		pidofproc -s "${1}"
+	else
+		pidofproc -s -p "${pidfile}" "${1}"
+	fi
+
+	# Store the return status
+	ret=$?
+
+	if [ -n "${pidlist}" ];	then
+		${ECHO} -e "${INFO}${base} is running with Process"\
+			"ID(s) ${pidlist}.${NORMAL}"
+	else
+		if [ -n "${base}" -a -e "/var/run/${base}.pid" ]; then
+			${ECHO} -e "${WARNING}${1} is not running but"\
+				"/var/run/${base}.pid exists.${NORMAL}"
+		else
+			if [ -n "${pidfile}" -a -e "${pidfile}" ]; then
+				${ECHO} -e "${WARNING}${1} is not running"\
+					"but ${pidfile} exists.${NORMAL}"
+			else
+				${ECHO} -e "${INFO}${1} is not running.${NORMAL}"
+			fi
+		fi
+	fi
+
+	# Return the status from pidofproc
+	return $ret
+}
+
+# The below functions are documented in the LSB-generic 2.1.0
+
+#*******************************************************************************
+# Function - pidofproc [-s] [-p pidfile] pathname
+#
+# Purpose: This function returns one or more pid(s) for a particular daemon
+#
+# Inputs: -p pidfile, use the specified pidfile instead of pidof
+#         pathname, path to the specified program
+#
+# Outputs: return 0 - Success, pid's in stdout
+#          return 1 - Program is dead, pidfile exists
+#          return 2 - Invalid or excessive number of arguments, 
+#                     warning in stdout
+#          return 3 - Program is not running
+#
+# Dependencies: pidof, echo, head
+#
+# Todo: Remove dependency on head
+#       This depreciates getpids
+#       Test changes to pidof
+#
+#*******************************************************************************
+pidofproc()
+{
+	local pidfile=""
+	local lpids=""
+	local silent=""
+	pidlist=""
+	while true
+	do
+		case "${1}" in
+			-p)
+				pidfile="${2}"
+				shift 2
+				;;
+
+			-s)
+				# Added for legacy opperation of getpids
+				# eliminates several '> /dev/null'
+				silent="1"
+				shift 1
+				;;
+			-*)
+				log_failure_msg "Unknown Option: ${1}"
+				return 2
+				;;
+			*)
+				break
+				;;
+		esac
+	done
+
+	if [ "${#}" != "1" ]; then
+		shift 1
+		log_failure_msg "Usage: pidofproc [-s] [-p pidfile] pathname"
+		return 2
+	fi
+
+	if [ -n "${pidfile}" ]; then
+		if [ ! -r "${pidfile}" ]; then
+			return 3 # Program is not running
+		fi
+
+		lpids=`head -n 1 ${pidfile}`
+		for pid in ${lpids}
+		do
+			if [ "${pid}" -ne "$$" -a "${pid}" -ne "${PPID}" ]; then
+				kill -0 "${pid}" 2>/dev/null &&
+				pidlist="${pidlist} ${pid}"
+			fi
+			
+			if [ "${silent}" != "1" ]; then
+				echo "${pidlist}"
+			fi
+
+			test -z "${pidlist}" && 
+			# Program is dead, pidfile exists
+			return 1
+			# else
+			return 0
+		done
+
+	else
+		pidlist=`pidof -o $$ -o $PPID -x "$1"`
+		if [ "${silent}" != "1" ]; then
+			echo "${pidlist}"
+		fi
+
+		# Get provide correct running status
+		if [ -n "${pidlist}" ]; then
+			return 0
+		else
+			return 3
+		fi
+
+	fi
+
+	if [ "$?" != "0" ]; then
+		return 3 # Program is not running
+	fi
+}
+
+# This will ensure compatibility with previous CLFS Bootscripts
+getpids()
+{
+	if [ -z "${PIDFILE}" ]; then
+		pidofproc -s -p "${PIDFILE}" $@
+	else
+		pidofproc -s $@
+	fi
+	base="${1##*/}"
+}
+
+#*******************************************************************************
+# Function - loadproc [-f] [-n nicelevel] [-p pidfile] pathname [args]
+#
+# Purpose: This runs the specified program as a daemon
+#
+# Inputs: -f, run the program even if it is already running
+#         -n nicelevel, specifies a nice level. See nice(1).
+#         -p pidfile, uses the specified pidfile
+#         pathname, pathname to the specified program
+#         args, arguments to pass to specified program
+#
+# Outputs: return 0 - Success
+#          return 2 - Invalid of excessive number of arguments, 
+#                     warning in stdout
+#          return 4 - Program or service status is unknown
+#
+# Dependencies: nice
+#
+# Todo: LSB says this should be called start_daemon
+#       LSB does not say that it should call evaluate_retval
+#       It checks for PIDFILE, which is deprecated.
+#         Will be removed after BLFS 6.0
+#       loadproc returns 0 if program is already running, not LSB compliant
+#
+#*******************************************************************************
+loadproc()
+{
+	local pidfile=""
+	local forcestart=""
+	local nicelevel="10"
+
+# This will ensure compatibility with previous CLFS Bootscripts
+	if [ -n "${PIDFILE}" ];	then
+		pidfile="${PIDFILE}"
+	fi
+
+  while true
+	do
+		case "${1}" in
+			-f)
+				forcestart="1"
+				shift 1
+				;;
+			-n)
+				nicelevel="${2}"
+				shift 2
+				;;
+			-p)
+				pidfile="${2}"
+				shift 2
+				;;
+			-*)
+				log_failure_msg "Unknown Option: ${1}"
+				return 2 #invalid or excess argument(s)
+				;;
+			*)
+				break
+				;;
+		esac
+	done
+
+	if [ "${#}" = "0" ]; then
+		log_failure_msg "Usage: loadproc [-f] [-n nicelevel] [-p pidfile] pathname [args]"
+		return 2 #invalid or excess argument(s)
+	fi
+
+	if [ -z "${forcestart}" ]; then
+		if [ -z "${pidfile}" ];	then
+			pidofproc -s "${1}"
+		else
+			pidofproc -s -p "${pidfile}" "${1}"
+		fi
+
+		case "${?}" in
+			0)
+				log_warning_msg "Unable to continue: ${1} is running"
+				return 0 # 4
+				;;
+			1)
+				log_warning_msg "Unable to continue: ${pidfile} exists"
+				return 0 # 4
+				;;
+			3)
+				;;
+			*)
+				log_failure_msg "Unknown error code from pidofproc: ${?}"
+				return 4
+				;;
+		esac
+	fi
+
+	nice -n "${nicelevel}" "${@}"
+	evaluate_retval # This is "Probably" not LSB compliant, but required to be compatible with older bootscripts
+	return 0
+}
+
+#*******************************************************************************
+# Function - killproc  [-p pidfile] pathname [signal]
+#
+# Purpose:
+#
+# Inputs: -p pidfile, uses the specified pidfile
+#         pathname, pathname to the specified program
+#         signal, send this signal to pathname
+#
+# Outputs: return 0 - Success
+#          return 2 - Invalid of excessive number of arguments, 
+#                     warning in stdout
+#          return 4 - Unknown Status
+#
+# Dependencies: kill, sleep
+#
+# Todo: LSB does not say that it should call evaluate_retval
+#       It checks for PIDFILE, which is deprecated.
+#         Will be removed after BLFS 6.0
+#
+#*******************************************************************************
+killproc()
+{
+	local pidfile=""
+	local killsig=TERM # default signal is SIGTERM
+	pidlist=""
+
+	# This will ensure compatibility with previous CLFS Bootscripts
+	if [ -n "${PIDFILE}" ];	then
+		pidfile="${PIDFILE}"
+	fi
+
+	while true
+	do
+		case "${1}" in
+			-p)
+				pidfile="${2}"
+				shift 2
+				;;
+			-*)
+				log_failure_msg "Unknown Option: ${1}"
+				return 2
+				;;
+			*)
+ 				break
+				;;
+		esac
+	done
+
+	if [ "${#}" = "2" ]; then
+		killsig="${2}"
+	elif [ "${#}" != "1" ];	then
+		shift 2
+		log_failure_msg "Usage: killproc  [-p pidfile] pathname [signal]"
+		return 2
+	fi
+
+	# Is the process running?
+	if [ -z "${pidfile}" ];	then
+		pidofproc -s "${1}"
+	else
+		pidofproc -s -p "${pidfile}" "${1}"
+	fi
+
+    # If running, send the signal
+    if [ -n "${pidlist}" ]; then
+	for pid in ${pidlist}
+	do
+		kill -${killsig} ${pid} 2>/dev/null
+
+		# Wait up to 3 seconds, for ${pid} to terminate
+		case "${killsig}" in
+		TERM|SIGTERM|KILL|SIGKILL)
+			# sleep in 1/10ths of seconds and
+			# multiply KILLDELAY by 10
+			local dtime="${KILLDELAY}0"
+			while [ "${dtime}" != "0" ]
+			do
+				kill -0 ${pid} 2>/dev/null || break
+				sleep 0.1
+				dtime=$(( ${dtime} - 1))
+			done
+			# If ${pid} is still running, kill it
+			kill -0 ${pid} 2>/dev/null && kill -KILL ${pid} 2>/dev/null
+			;;
+		esac
+	done
+
+	# Check if the process is still running if we tried to stop it
+	case "${killsig}" in
+	TERM|SIGTERM|KILL|SIGKILL)
+		if [ -z "${pidfile}" ];	then
+			pidofproc -s "${1}"
+		else
+			pidofproc -s -p "${pidfile}" "${1}"
+		fi
+
+		# Program was terminated
+		if [ "$?" != "0" ]; then
+			# Remove the pidfile if necessary
+			if [ -f "${pidfile}" ];	then
+				rm -f "${pidfile}"
+			fi
+			echo_ok
+			return 0
+		else # Program is still running
+			echo_failure
+			return 4 # Unknown Status
+		fi
+		;;
+	*)
+		# Just see if the kill returned successfully
+		evaluate_retval
+		;;
+	esac
+    else # process not running
+	print_status warning not_running
+    fi
+}
+
+
+#*******************************************************************************
+# Function - log_success_msg "message"
+#
+# Purpose: Print a success message
+#
+# Inputs: $@ - Message
+#
+# Outputs: Text output to screen
+#
+# Dependencies: echo
+#
+# Todo: logging
+#
+#*******************************************************************************
+log_success_msg()
+{
+	${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
+	${ECHO} -e "${SET_COL}""${BRACKET}""[""${SUCCESS}""  OK  ""${BRACKET}""]""${NORMAL}"
+	return 0
+}
+
+#*******************************************************************************
+# Function - log_failure_msg "message"
+#
+# Purpose: Print a failure message
+#
+# Inputs: $@ - Message
+#
+# Outputs: Text output to screen
+#
+# Dependencies: echo
+#
+# Todo: logging
+#
+#*******************************************************************************
+log_failure_msg() {
+	${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
+	${ECHO} -e "${SET_COL}""${BRACKET}""[""${FAILURE}"" FAIL ""${BRACKET}""]""${NORMAL}"
+	return 0
+}
+
+#*******************************************************************************
+# Function - log_warning_msg "message"
+#
+# Purpose: print a warning message
+#
+# Inputs: $@ - Message
+#
+# Outputs: Text output to screen
+#
+# Dependencies: echo
+#
+# Todo: logging
+#
+#*******************************************************************************
+log_warning_msg() {
+	${ECHO} -n -e "${BOOTMESG_PREFIX}${@}"
+	${ECHO} -e "${SET_COL}""${BRACKET}""[""${WARNING}"" WARN ""${BRACKET}""]""${NORMAL}"
+	return 0
+}
+
+# End $rc_base/init.d/functions
Index: boot-scripts/clfs/init.d/halt
===================================================================
--- boot-scripts/clfs/init.d/halt	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/halt	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,28 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/halt
+#
+# Description : Halt Script
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+case "${1}" in
+	stop)
+		halt -d -f -i -p
+		;;
+	*)
+		echo "Usage: {stop}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/halt
Index: boot-scripts/clfs/init.d/localnet
===================================================================
--- boot-scripts/clfs/init.d/localnet	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/localnet	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,54 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/localnet
+#
+# Description : Loopback device
+#
+# Authors     : Gerard Beekmans  - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+. /tools/etc/sysconfig/network
+
+case "${1}" in
+	start)
+		boot_mesg "Bringing up the loopback interface..."
+		ip addr add 127.0.0.1/8 label lo dev lo
+		ip link set lo up
+		evaluate_retval
+
+		boot_mesg "Setting hostname to ${HOSTNAME}..."
+		hostname ${HOSTNAME}
+		evaluate_retval
+		;;
+
+	stop)
+		boot_mesg "Bringing down the loopback interface..."
+		ip link set lo down
+		evaluate_retval
+		;;
+
+	restart)
+		${0} stop
+		sleep 1
+		${0} start
+		;;
+
+	status)
+		echo "Hostname is: $(hostname)"
+		ip link show lo
+		;;
+
+	*)
+		echo "Usage: ${0} {start|stop|restart|status}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/localnet
Index: boot-scripts/clfs/init.d/mountfs
===================================================================
--- boot-scripts/clfs/init.d/mountfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/mountfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,46 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/mountfs
+#
+# Description : File System Mount Script
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+case "${1}" in
+	start)
+		boot_mesg "Remounting root file system in read-write mode..."
+		mount -n -o remount,rw / >/dev/null
+		evaluate_retval
+
+		# Remove fsck-related file system watermarks.
+		rm -f /fastboot /forcefsck
+
+		# This will mount all filesystems that do not have _netdev in
+		# their option list.  _netdev denotes a network filesystem.
+		boot_mesg "Mounting remaining file systems..."
+		mount -a -O no_netdev >/dev/null
+		evaluate_retval
+		;;
+
+	stop)
+		boot_mesg "Unmounting all other currently mounted file systems..."
+		umount -a -d -r >/dev/null
+		evaluate_retval
+		;;
+
+	*)
+		echo "Usage: ${0} {start|stop}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/mountfs
Index: boot-scripts/clfs/init.d/mountkernfs
===================================================================
--- boot-scripts/clfs/init.d/mountkernfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/mountkernfs	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,51 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/mountkernfs
+#
+# Description : Mount proc and sysfs
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+case "${1}" in
+	start)
+		boot_mesg -n "Mounting kernel-based file systems:" ${INFO}
+
+		if ! mountpoint /proc >/dev/null; then
+			boot_mesg -n " /proc" ${NORMAL}
+			mount -n -o nosuid,noexec,nodev -t proc proc /proc || failed=1
+		fi
+
+		if ! mountpoint /sys >/dev/null; then
+			boot_mesg -n " /sys" ${NORMAL}
+			mount -n -o nosuid,noexec,nodev -t sysfs sys /sys || failed=1
+		fi
+		if ! mountpoint /run >/dev/null; then
+			boot_mesg -n " /run" ${NORMAL}
+			mount -n -o mode=0755,nosuid,nodev -t tmpfs run /run || failed=1
+		fi
+		if ! mountpoint /dev >/dev/null; then
+			boot_mesg -n " /dev" ${NORMAL}
+			mount -n -o mode=0755,nosuid -t devtmpfs dev /dev || failed=1
+		fi
+		(exit ${failed})
+					
+                mkdir -m 1777 /run/lock
+                mkdir -p /dev/{pts,shm}           
+		;;
+
+	*)
+		echo "Usage: ${0} {start}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/mountkernfs
Index: boot-scripts/clfs/init.d/paneld
===================================================================
--- boot-scripts/clfs/init.d/paneld	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/paneld	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,63 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/paneld
+#
+# Description : Show Messages on the LCD Panel
+#
+# Author      : Jim Gifford - jim@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. $rc_functions
+
+case "$1" in
+	start)
+		boot_mesg "Setting up LCD Panel"
+		ip addr show dev eth0 > /dev/null 2>&1
+		if [ "$?" = "0" ]; then
+			IFACE1_IP="`ip addr show dev eth0 | grep inet | cut -d / -f 1 | cut -d t  -f 2 | cut -d' ' -f 2 `"
+			IFACE1="$IFACE1_IP"
+		fi
+		ip addr show dev eth1 > /dev/null 2>&1
+		if [ "$?" = "0" ]; then
+			IFACE2_IP="`ip addr show dev eth1 | grep inet | cut -d / -f 1 | cut -d t  -f 2 | cut -d' ' -f 2 `"
+			IFACE2="$IFACE2_IP"
+		fi
+		COMMON="Hold S & E Menu"
+		if [ "$IFACE2" = "" ]; then
+			loadproc paneld -d "Lan1 $IFACE1" "$COMMON"
+		else
+			loadproc paneld -d "Lan1 $IFACE1" "Lan2 $IFACE2" "$COMMON"
+		fi
+
+	;;
+
+        stop)
+                boot_mesg "Clearing LCD Panel..."
+                putlcd "Clearing" "LCD Panel"
+                killproc paneld
+                ;;
+
+        restart)
+                ${0} stop
+                sleep 1
+                ${0} start
+                ;;
+
+        status)
+                statusproc paneld
+                ;;
+
+	*)
+		echo "Usage: {start|stop|restart|status}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/paneld
+
Index: boot-scripts/clfs/init.d/rc
===================================================================
--- boot-scripts/clfs/init.d/rc	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/rc	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,100 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/rc
+#
+# Description : Main Run Level Control Script
+#
+# Authors     : Gerard Beekmans  - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+# This sets a few default terminal options.
+stty sane
+
+# These 3 signals will not cause our script to exit
+trap "" INT QUIT TSTP
+
+[ "${1}" != "" ] && runlevel=${1}
+
+if [ "${runlevel}" = "" ]; then
+	echo "Usage: ${0} <runlevel>" >&2
+	exit 1
+fi
+
+previous=${PREVLEVEL}
+[ "${previous}" = "" ] && previous=N
+
+if [ ! -d ${rc_base}/rc${runlevel}.d ]; then
+	boot_mesg "${rc_base}/rc${runlevel}.d does not exist." ${WARNING}
+	boot_mesg_flush
+	exit 1
+fi
+
+# Attempt to stop all services started by previous runlevel,
+# and killed in this runlevel
+if [ "${previous}" != "N" ]; then
+	for i in $(ls -v ${rc_base}/rc${runlevel}.d/K* 2> /dev/null)
+	do
+		check_script_status
+
+		suffix=${i#$rc_base/rc$runlevel.d/K[0-9][0-9]}
+		prev_start=$rc_base/rc$previous.d/S[0-9][0-9]$suffix
+		sysinit_start=$rc_base/rcsysinit.d/S[0-9][0-9]$suffix
+
+		if [ "${runlevel}" != "0" ] && [ "${runlevel}" != "6" ]; then
+			if [ ! -f ${prev_start} ] && [ ! -f ${sysinit_start} ]; then
+				boot_log "${i} cant be started in runlevel ${runlevel}, because it was not started in runlevel ${previous}"
+				boot_mesg -n "WARNING:\n\n${i} can't be" ${WARNING}
+				boot_mesg -n " executed because it was not"
+				boot_mesg -n " not started in the previous"
+				boot_mesg -n " runlevel (${previous})."
+				boot_mesg "" ${NORMAL}
+				boot_mesg_flush
+				continue
+			fi
+		fi
+		${i} stop
+		error_value=${?}
+
+		if [ "${error_value}" != "0" ]; then
+			print_error_msg
+		fi
+	done
+fi
+
+#Start all functions in this runlevel
+for i in $( ls -v ${rc_base}/rc${runlevel}.d/S* 2> /dev/null)
+do
+	if [ "${previous}" != "N" ]; then
+		suffix=${i#$rc_base/rc$runlevel.d/S[0-9][0-9]}
+		stop=$rc_base/rc$runlevel.d/K[0-9][0-9]$suffix
+		prev_start=$rc_base/rc$previous.d/S[0-9][0-9]$suffix
+
+		[ -f ${prev_start} ] && [ ! -f ${stop} ] && continue
+	fi
+
+	check_script_status
+
+	case ${runlevel} in
+		0|6)
+			${i} stop
+			;;
+		*)
+			${i} start
+			;;
+	esac
+	error_value=${?}
+
+	if [ "${error_value}" != "0" ]; then
+		print_error_msg
+	fi
+done
+
+# End $rc_base/init.d/rc
Index: boot-scripts/clfs/init.d/reboot
===================================================================
--- boot-scripts/clfs/init.d/reboot	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/reboot	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,31 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/reboot
+#
+# Description : Reboot Scripts
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+case "${1}" in
+	stop)
+		boot_mesg "Restarting system..."
+		reboot -d -f -i
+		;;
+
+	*)
+		echo "Usage: ${0} {stop}"
+		exit 1
+		;;
+
+esac
+
+# End $rc_base/init.d/reboot
Index: boot-scripts/clfs/init.d/sendsignals
===================================================================
--- boot-scripts/clfs/init.d/sendsignals	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/sendsignals	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,52 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/sendsignals
+#
+# Description : Sendsignals Script
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+case "${1}" in
+	stop)
+		boot_mesg "Sending all processes the TERM signal..."
+		killall5 -15
+		error_value=${?}
+
+		sleep ${KILLDELAY}
+
+		if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then
+			echo_ok
+		else
+			echo_failure
+		fi
+
+		boot_mesg "Sending all processes the KILL signal..."
+		killall5 -9
+		error_value=${?}
+
+		sleep ${KILLDELAY}
+
+		if [ "${error_value}" = 0 -o "${error_value}" = 2 ]; then
+			echo_ok
+		else
+			echo_failure
+		fi
+		;;
+
+	*)
+		echo "Usage: ${0} {stop}"
+		exit 1
+		;;
+
+esac
+
+# End $rc_base/init.d/sendsignals
Index: boot-scripts/clfs/init.d/setclock
===================================================================
--- boot-scripts/clfs/init.d/setclock	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/setclock	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,49 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/setclock
+#
+# Description : Setting Linux Clock
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+. /tools/etc/sysconfig/clock
+
+CLOCKPARAMS=
+
+case "${UTC}" in
+	yes|true|1)
+		CLOCKPARAMS="${CLOCKPARAMS} --utc"
+		;;
+
+	no|false|0)
+		CLOCKPARAMS="${CLOCKPARAMS} --localtime"
+		;;
+
+esac
+
+case ${1} in
+	start)
+		boot_mesg "Setting system clock..."
+		hwclock --hctosys ${CLOCKPARAMS} >/dev/null
+		evaluate_retval
+		;;
+
+	stop)
+		boot_mesg "Setting hardware clock..."
+		hwclock --systohc ${CLOCKPARAMS} >/dev/null
+		evaluate_retval
+		;;
+
+	*)
+		echo "Usage: ${0} {start|stop}"
+		;;
+
+esac
Index: boot-scripts/clfs/init.d/setlcd
===================================================================
--- boot-scripts/clfs/init.d/setlcd	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/setlcd	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,55 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/setlcd
+#
+# Description : Show IP Addresses on LCD Panel
+#
+# Author      : Jim Gifford - jim@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. $rc_functions
+
+case "$1" in
+	start)
+		ip addr show dev eth0 > /dev/null 2>&1
+		if [ "$?" = "0" ]; then
+			IFACE1_IP="`ip addr show dev eth0 | grep inet | cut -d / -f 1 | cut -d t  -f 2 | cut -d' ' -f 2 `"
+			IFACE1="$IFACE1_IP"
+		fi
+		ip addr show dev eth1 > /dev/null 2>&1
+		if [ "$?" = "0" ]; then
+			IFACE2_IP="`ip addr show dev eth1 | grep inet | cut -d / -f 1 | cut -d t  -f 2 | cut -d' ' -f 2 `"
+			IFACE2="$IFACE2_IP"
+		fi
+		if [ "$IFACE2" = "" ]; then
+			$LCD_PROG "Lan1 $IFACE1"
+		else
+			$LCD_PROG "Lan1 $IFACE1" "Lan2 $IFACE2"
+		fi
+
+	;;
+
+        stop)
+		$LCD_PROG "	" "	"
+                ;;
+
+        restart)
+                ${0} stop
+                sleep 1
+                ${0} start
+                ;;
+
+	*)
+		echo "Usage: {start|stop|restart}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/setlcd
+
Index: boot-scripts/clfs/init.d/swap
===================================================================
--- boot-scripts/clfs/init.d/swap	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/swap	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,50 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/swap
+#
+# Description : Swap Control Script
+#
+# Authors     : Gerard Beekmans - gerard@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+case "${1}" in
+	start)
+		boot_mesg "Activating all swap files/partitions..."
+		swapon -a
+		evaluate_retval
+		;;
+
+	stop)
+		boot_mesg "Deactivating all swap files/partitions..."
+		swapoff -a
+		evaluate_retval
+		;;
+
+	restart)
+		${0} stop
+		sleep 1
+		${0} start
+		;;
+
+	status)
+		boot_mesg "Retrieving swap status." ${INFO}
+		echo_ok
+		echo
+		swapon -s
+		;;
+
+	*)
+		echo "Usage: ${0} {start|stop|restart|status}"
+		exit 1
+		;;
+esac
+
+# End $rc_base/init.d/swap
Index: boot-scripts/clfs/init.d/udev
===================================================================
--- boot-scripts/clfs/init.d/udev	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/init.d/udev	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,67 @@
+#!/bin/bash
+########################################################################
+# Begin $rc_base/init.d/udev
+#
+# Description : Udev Boot Script
+#
+# Authors     : Based on Open Suse Udev Rules
+#               kay.sievers@suse.de
+#
+# Adapted to  : Jim Gifford
+# LFS	      : Alexander E. Patrakov
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+. /tools/etc/sysconfig/rc
+. ${rc_functions}
+
+case "$1" in
+    start)
+	echo "" > /sys/kernel/uevent_helper
+
+	# start udevd
+	boot_mesg "\nStarting udevd..."
+	/tools/sbin/udevd --daemon
+	evaluate_retval
+
+	# start coldplugging
+	boot_mesg "Performing Coldplugging..."
+
+	# unlikely, but we may be faster than the first event
+	#mkdir -p /run/.udev/queue
+
+	# configure all devices
+	/tools/sbin/udevadm trigger --action=add --type=subsystems
+	/tools/sbin/udevadm trigger --action=add --type=devices
+	
+	# this replaces the old loop, exits after all devices are done
+	/tools/sbin/udevadm settle
+
+	echo_ok
+	;;
+
+    stop)
+	boot_mesg "Stopping udevd..."
+	killproc /tools/sbin/udevd
+	;;
+
+    restart)
+	boot_mesg "Restarting udevd..."
+	killproc /tools/sbin/udevd
+	loadproc /tools/sbin/udevd --daemon
+	evaluate_retval
+	;;
+
+    status)
+	statusproc /tools/sbin/udevd
+	;;
+
+    *)
+	echo "Usage: $0 {start|stop|restart|status|reload|force-reload}"
+	exit 1
+	;;
+esac
Index: boot-scripts/clfs/sysconfig/boot-scripts
===================================================================
--- boot-scripts/clfs/sysconfig/boot-scripts	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/sysconfig/boot-scripts	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,24 @@
+########################################################################
+# Begin /etc/sysconfig/boot-scripts
+#
+# Description : Boot-scripts Config System
+#
+# Authors     :
+#
+# Version     : 00.00
+#
+# Notes       : Controls different aspects of the boot-scripts.
+#
+########################################################################
+
+# Enable/disable interactive Prompts
+# Enable	- INTERACTIVE=y
+# Disable 	- INTERACTIVE=
+INTERACTIVE=y
+
+# Enable/disable Logging of bootup
+# Enable	- LOGGING=y
+# Disable 	- LOGGING=
+LOGGING=y
+
+# End /etc/sysconfig/boot-scripts
Index: boot-scripts/clfs/sysconfig/console
===================================================================
--- boot-scripts/clfs/sysconfig/console	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/sysconfig/console	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,86 @@
+########################################################################
+# Begin /etc/sysconfig/console
+#
+# Description : Console script config file
+#
+# Authors     : Alexander E. Patrakov
+#
+# Version     : 00.00
+#
+# Notes       : Uncomment the section corresponding to your country
+#
+########################################################################
+
+# US-English users don't need this file at all, except when they
+# use framebuffer console.
+# For framebuffer users from USA or Australia:
+#
+# FONT="default8x16"
+# WARNING: this is not the same as the kernel default font!
+
+# Users from Great Britain:
+#
+# KEYMAP="uk"
+# FONT="lat1-16"
+
+# Belarussian users need to download additional fonts (TODO)
+
+# Belgium, with Euro character (information from Belgian-HOWTO)
+#
+# KEYMAP="be-latin1"
+# KEYMAP_CORRECTIONS="euro"
+# FONT="lat9-16 -u lat1"
+
+# Chinese is not supported by LFS and needs special tools
+
+# Czechia
+#
+# KEYMAP="cz-lat2"
+# FONT="lat2-16"
+
+# Hungary
+#
+# KEYMAP="hu"
+# FONT="lat2-16"
+
+# Latvian users need to download additional files from
+# http://linux.ma-1.lv/ll10nt/Latvian-HOWTO/files/konsole-files.tar.gz
+
+# Russia, one of many variants actually used
+# See the book for the contents of /etc/kbd/bs-sends-del
+#
+# KEYMAP="ru-ms"
+# KEYMAP_CORRECTIONS="/etc/kbd/bs-sends-del"
+# FONT="cp866-8x16 -m koi2alt"
+
+# Serbia (latin)
+# Need to download:
+# http://gd.tuwien.ac.at/opsys/linux/Owl/pool/sources/console-tools/kbd-sr.map.gz
+# and put it into /usr/share/kbd/keymaps/i386/qwertz/sr.map.gz
+#
+# KEYMAP="sr"
+# FONT="lat2-16"
+
+# TODO: add Serbian Cyrillic settings
+
+# Spain, with Euro character (information from
+# http://www.linuxforum.com/forums/index.php?showtopic=14590)
+#
+# KEYMAP="es"
+# KEYMAP_CORRECTIONS="euro"
+# FONT="lat9-16 -u lat1"
+
+# Slovenia
+#
+# KEYMAP="slovene"
+# FONT="lat2-16"
+
+# Croatia
+#
+# KEYMAP="croat"
+# FONT="lat2-16"
+
+# TODO: for Slovakia, there are four variants
+
+
+# End /etc/sysconfig/console
Index: boot-scripts/clfs/sysconfig/createfiles
===================================================================
--- boot-scripts/clfs/sysconfig/createfiles	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/sysconfig/createfiles	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,28 @@
+########################################################################
+# Begin /etc/sysconfig/createfiles
+#
+# Description : Createfiles script config file
+#
+# Authors     :
+#
+# Version     : 00.00
+#
+# Notes       : The syntax of this file is as follows:
+# 		if type is equal to "file" or "dir"
+#  		<filename> <type> <permissions> <user> <group>
+# 		if type is equal to "dev"
+#  		<filename> <type> <permissions> <user> <group> <devtype> <major> <minor>
+#
+# 		<filename> is the name of the file which is to be created
+# 		<type> is either file, dir, or dev.
+#   			file creates a new file
+#   			dir creates a new directory
+#   			dev creates a new device
+# 		<devtype> is either block, char or pipe
+#   			block creates a block device
+#   			char creates a character deivce
+#   			pipe creates a pipe, this will ignore the <major> and <minor> fields
+# 		<major> and <minor> are the major and minor numbers used for the device.
+########################################################################
+
+# End /etc/sysconfig/createfiles
Index: boot-scripts/clfs/sysconfig/i18n
===================================================================
--- boot-scripts/clfs/sysconfig/i18n	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/sysconfig/i18n	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,50 @@
+########################################################################
+# Begin /etc/sysconfig/i18n
+#
+# Description : i18n script config file
+#
+# Authors     : Jim Gifford
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+# FONT specifies the default font that you'd like Linux to use on the
+# console.  You can find a good selection of fonts in /usr/share/consolefonts
+# To use the default console font, comment out the FONT setting below.
+#
+FONT="LatArCyrHeb-16"
+
+# CONSOLETRANSLATION is the charset map file to use.  Leave commented to use
+# the default one.  Have a look in /usr/share/consoletrans for a selection of
+# map files you can use.
+#
+#FONT_TRANSLATION="8859-1_to_uni"
+
+# Use KEYMAP to specify the default console keymap.  There is a complete tree
+# of keymaps in /usr/share/keymaps to choose from.
+#
+KEYMAP=us
+
+# Should we first load the 'windowkeys' console keymap?  Anyone using
+# a windows keyboard will select true. Everyone else select no.
+#
+WINDOWS_KEYBOARD=no
+
+# The maps to load for extended keyboards.  Most users will leave this as is.
+#
+#EXTENDED_KEYMAPS="backspace keypad euro"
+
+# Tell dumpkeys(1) to interpret character action codes to be
+# from the specified character set.
+# For a list of valid sets, run `dumpkeys --help`
+#
+DUMPKEYS_CHARSET=""
+
+# Use UNICODE
+#
+UNICODE=yes
+
+# End /etc/sysconfig/unicode
Index: boot-scripts/clfs/sysconfig/lcd
===================================================================
--- boot-scripts/clfs/sysconfig/lcd	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/sysconfig/lcd	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,29 @@
+########################################################################
+# Begin /etc/sysconfig/lcd
+#
+# Description : LCD Screen Control
+#
+# Authors     :
+#
+# Version     : 00.00
+#
+# Notes       : In the bootscripts we are assuming that the normal
+#               LCD screen can handle 2 lines 16 characters.
+#               If you LCD is one line you need to set lcd1line
+#
+########################################################################
+
+# Set the # of lines for the LCD Display
+#
+LCD_LINES=1
+
+# The executable that writes to the LCD
+#
+LCD_PROG={name of lcd program}
+
+# Number of characters the screen can handle
+# 16 is the most common
+#
+LCD_CHAR=16
+
+# End /etc/sysconfig/lcd
Index: boot-scripts/clfs/sysconfig/lcd-raq2
===================================================================
--- boot-scripts/clfs/sysconfig/lcd-raq2	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/sysconfig/lcd-raq2	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,26 @@
+########################################################################
+# Begin /etc/sysconfig/lcd
+#
+# Description : LCD Screen Control
+#
+# Authors     :
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+# Set the # of lines for the LCD Display
+#
+LCD_LINES=2
+
+# The executable that writes to the LCD
+#
+LCD_PROG=/sbin/putlcd
+
+# Number of characters the screen can handle
+#
+LCD_CHAR=16
+
+# End /etc/sysconfig/lcd
Index: boot-scripts/clfs/sysconfig/lcd-raq3
===================================================================
--- boot-scripts/clfs/sysconfig/lcd-raq3	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/sysconfig/lcd-raq3	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,26 @@
+########################################################################
+# Begin /etc/sysconfig/lcd
+#
+# Description : LCD Screen Control
+#
+# Authors     :
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+# Set the # of lines for the LCD Display
+#
+LCD_LINES=2
+
+# The executable that writes to the LCD
+#
+LCD_PROG=/sbin/lcd-write
+
+# Number of characters the screen can handle
+#
+LCD_CHAR=16
+
+# End /etc/sysconfig/lcd
Index: boot-scripts/clfs/sysconfig/modules
===================================================================
--- boot-scripts/clfs/sysconfig/modules	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/sysconfig/modules	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,22 @@
+########################################################################
+# Begin /etc/sysconfig/modules
+#
+# Description : Module auto-loading configuration
+#
+# Authors     :
+#
+# Version     : 00.00
+#
+# Notes       : The syntax of this file is as follows:
+#  		<module> [<arg1> <arg2> ...]
+#
+# Each module should be on it's own line, and any options that you want
+# passed to the module should follow it.  The line deliminator is either
+# a space or a tab.
+#
+# This configuration file are for modules that are not autoloaded
+# via udev, like ACPI modules
+#
+########################################################################
+
+# End /etc/sysconfig/modules
Index: boot-scripts/clfs/sysconfig/rc
===================================================================
--- boot-scripts/clfs/sysconfig/rc	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/clfs/sysconfig/rc	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,18 @@
+########################################################################
+# Begin /etc/sysconfig/rc
+#
+# Description : rc script configuration
+#
+# Authors     :
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+rc_base=/tools/etc/rc.d
+rc_functions=${rc_base}/init.d/functions
+network_devices=/tools/etc/sysconfig/network-devices
+
+# End /etc/sysconfig/rc
Index: boot-scripts/netboot/inittab
===================================================================
--- boot-scripts/netboot/inittab	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/netboot/inittab	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,26 @@
+# Begin /tools/etc/inittab
+
+id:2:initdefault:
+
+si:S:sysinit:/tools/etc/rc.d/rc.sysinit
+
+l0:0:wait:/tools/etc/rc.d/rc.0
+l1:1:wait:/tools/etc/rc.d/rc.1
+l2:2:wait:/tools/etc/rc.d/rc.2
+l3:3:wait:/tools/etc/rc.d/rc.3
+l4:4:wait:/tools/etc/rc.d/rc.4
+l5:5:wait:/tools/etc/rc.d/rc.5
+l6:6:wait:/tools/etc/rc.d/rc.6
+
+ca:12345:ctrlaltdel:/tools/sbin/shutdown -t1 -r now
+
+su:S1:respawn:/tools/sbin/sulogin
+
+c1:2345:respawn:/tools/sbin/agetty tty1 38400 linux
+c2:2345:respawn:/tools/sbin/agetty tty2 38400 linux
+c3:2345:respawn:/tools/sbin/agetty tty3 38400 linux
+c4:2345:respawn:/tools/sbin/agetty tty4 38400 linux
+c5:2345:respawn:/tools/sbin/agetty tty5 38400 linux
+c6:2345:respawn:/tools/sbin/agetty tty6 38400 linux
+
+# End /tools/etc/inittab
Index: boot-scripts/netboot/rc.0
===================================================================
--- boot-scripts/netboot/rc.0	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/netboot/rc.0	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,33 @@
+#!/bin/bash
+########################################################################
+# Begin /rc.0
+#
+# Description : Modified Bootscript for NFSRoot booting
+#
+# Authors     : Jim Gifford - jim@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin:/tools/sbin
+
+echo "Sending all processes the TERM signal"
+killall5 -15
+
+echo "Sending all processes the KILL signal"
+killall5 -9
+
+echo "Syncing file systems"
+sync
+
+echo "Setting System Clock"
+hwclock --systohc --utc
+
+echo "Unmounting all other currently mounted file systems"
+umount -a -d -r &
+
+echo "Halting System"
+halt -d -f -i -p
Index: boot-scripts/netboot/rc.1
===================================================================
--- boot-scripts/netboot/rc.1	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/netboot/rc.1	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,15 @@
+#!/bin/bash
+########################################################################
+# Begin /rc.1
+#
+# Description : Modified Bootscript for NFSRoot booting
+#
+# Authors     : Jim Gifford - jim@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin:/tools/sbin
Index: boot-scripts/netboot/rc.sysinit
===================================================================
--- boot-scripts/netboot/rc.sysinit	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
+++ boot-scripts/netboot/rc.sysinit	(revision 77aff825a5b90a17a0e74e7df036ea0a4d4466a6)
@@ -0,0 +1,44 @@
+#!/bin/bash
+########################################################################
+# Begin /rc.sysinit
+#
+# Description : Modified Bootscript for NFSRoot booting
+#
+# Authors     : Jim Gifford - jim@linuxfromscratch.org
+#
+# Version     : 00.00
+#
+# Notes       :
+#
+########################################################################
+
+export PATH=/bin:/usr/bin:/sbin:/usr/sbin:/tools/bin:/tools/sbin
+
+echo -n "Mounting kernel-based file systems:"
+echo -n " proc"
+mount -n /proc
+echo -n " sys"
+mount -n /sys
+echo ""
+
+echo "Starting udev"
+mount -n -t tmpfs -o mode=0755 udev /dev
+chmod 1777 /dev/shm
+echo "" > /sys/kernel/uevent_helper
+/tools/sbin/udevd --daemon
+mkdir -p /dev/.udev/queue
+/tools/sbin/udevadm trigger
+/tools/sbin/udevadm settle
+
+echo "Remounting Root File System"
+mount -n -o remount,rw /
+
+echo "Creating mtab"
+> /etc/mtab
+mount -f /
+mount -f /proc
+mount -f /sys
+mount -a -O no_netdev
+
+echo "Setting System Clock"
+hwclock --hctosys --utc
