mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
Use new initd-tools package, store log times in UTC, use soft depenendencies for minimal install target
git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@8558 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
This commit is contained in:
parent
8b50d8657d
commit
67de919e34
@ -1,4 +1,10 @@
|
||||
ChangeLog
|
||||
|
||||
20080907 - [dj] * Use new initd-tools package to activate scripts.
|
||||
* $syslog and modules services cannot be a hard dependencies
|
||||
due to minimal install target.
|
||||
* Store bootlog date in UTC.
|
||||
|
||||
20080831 - [dj] * Corrected more, and minimized dependencies in scripts.
|
||||
* Don't try to write to bootlog in 0 and 6.
|
||||
* Use /etc/rcS.d instead of /etc/rcsysinit.d - added
|
||||
|
@ -1,32 +1,31 @@
|
||||
LSB-V3 Installation:
|
||||
|
||||
Inline LFS installation: make install &&
|
||||
sed -i.bak 's@/etc/rc.d@/etc@' /etc/inittab
|
||||
NOTE: initd-tools must be installed prior to installation of these scripts.
|
||||
|
||||
initd-tools installation:
|
||||
|
||||
After LFS: for file in /etc/rc.d /etc/sysconfig/rc /etc/sysconfig/modules \
|
||||
Download initd-tools from:
|
||||
http://www.dwcab.com/downloads/initd-tools/initd-tools-0.1.2.tar.gz
|
||||
|
||||
./configure &&
|
||||
make &&
|
||||
make check &&
|
||||
make install
|
||||
|
||||
Inline installation of lsb-v3 bootscripts:
|
||||
sudo make install
|
||||
|
||||
After LFS installation of lsb-v3 bootscripts:
|
||||
for file in /etc/rc.d /etc/sysconfig/rc /etc/sysconfig/modules \
|
||||
/etc/sysconfig/createfiles
|
||||
do
|
||||
mv $file $file.bak
|
||||
done &&
|
||||
make install &&
|
||||
sed -i.bak 's@/etc/rc.d@/etc@' /etc/inittab
|
||||
make install
|
||||
|
||||
|
||||
With existing scripts: HERE=$PWD
|
||||
cp -a /etc/rc.d /etc/rc.d.bak &&
|
||||
mv /etc/rc.d/* /etc &&
|
||||
cd /etc/rc.d &&
|
||||
ln -s ../rc*.d . &&
|
||||
ln -s ../init.d . &&
|
||||
for file in /etc/rc.d /etc/syconfig/rc \
|
||||
/etc/sysconfig/modules /etc/sysconfig/createfiles
|
||||
do
|
||||
mv $file $file.bak
|
||||
done &&
|
||||
cd $HERE &&
|
||||
unset HERE &&
|
||||
make install &&
|
||||
sed -i.bak 's@/etc/rc.d@/etc/@' /etc/inittab
|
||||
There is no longer an upgrade path for existing installations. You will have
|
||||
to reinstall any bootscripts installed by BLFS or any self written scripts.
|
||||
Fortunately, this will soon be very easy for BLFS scripts as a contrib
|
||||
directory containing lsb-v3 scripts will be added in the near future.
|
||||
|
||||
That's it!
|
||||
|
@ -27,11 +27,11 @@ create-boottemp-dir:
|
||||
install -d -m ${DIRMODE} ${EXTDIR}/init.d/boottemp
|
||||
|
||||
install: create-dirs create-service-dir create-boottemp-dir
|
||||
install -m ${MODE} init.d/checkfs ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/checkfs.sh ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/cleanfs ${EXTDIR}/init.d/
|
||||
install -m ${CONFMODE} init.d/lfs-functions ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/halt ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/console ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/console-screen-kbd.sh ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/localnet ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/modules ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/mountfs ${EXTDIR}/init.d/
|
||||
@ -39,7 +39,7 @@ install: create-dirs create-service-dir create-boottemp-dir
|
||||
install -m ${MODE} init.d/network ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/rc ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/reboot ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/sendsignals ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/sendsigs ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/setclock ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/sysklogd ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/swap ${EXTDIR}/init.d/
|
||||
@ -50,55 +50,36 @@ install: create-dirs create-service-dir create-boottemp-dir
|
||||
install -m ${CONFMODE} lsb/init-functions ${DESTDIR}/lib/lsb/
|
||||
install -m ${CONFMODE} lsb/manage-functions ${DESTDIR}/lib/lsb/
|
||||
install -m ${CONFMODE} etc/lsb-config ${EXTDIR}/lsb/
|
||||
ln -sf ../init.d/network ${EXTDIR}/rc0.d/K80network
|
||||
ln -sf ../init.d/sysklogd ${EXTDIR}/rc0.d/K90sysklogd
|
||||
ln -sf ../init.d/sendsignals ${EXTDIR}/rc0.d/S60sendsignals
|
||||
ln -sf ../init.d/mountfs ${EXTDIR}/rc0.d/S70mountfs
|
||||
ln -sf ../init.d/swap ${EXTDIR}/rc0.d/S80swap
|
||||
ln -sf ../init.d/localnet ${EXTDIR}/rc0.d/S90localnet
|
||||
ln -sf ../init.d/halt ${EXTDIR}/rc0.d/S99halt
|
||||
ln -sf ../init.d/network ${EXTDIR}/rc1.d/K80network
|
||||
ln -sf ../init.d/sysklogd ${EXTDIR}/rc1.d/K90sysklogd
|
||||
ln -sf ../init.d/network ${EXTDIR}/rc2.d/K80network
|
||||
ln -sf ../init.d/sysklogd ${EXTDIR}/rc2.d/K90sysklogd
|
||||
ln -sf ../init.d/sysklogd ${EXTDIR}/rc3.d/S10sysklogd
|
||||
ln -sf ../init.d/network ${EXTDIR}/rc3.d/S20network
|
||||
ln -sf ../init.d/sysklogd ${EXTDIR}/rc4.d/S10sysklogd
|
||||
ln -sf ../init.d/network ${EXTDIR}/rc4.d/S20network
|
||||
ln -sf ../init.d/sysklogd ${EXTDIR}/rc5.d/S10sysklogd
|
||||
ln -sf ../init.d/network ${EXTDIR}/rc5.d/S20network
|
||||
ln -sf ../init.d/network ${EXTDIR}/rc6.d/K80network
|
||||
ln -sf ../init.d/sysklogd ${EXTDIR}/rc6.d/K90sysklogd
|
||||
ln -sf ../init.d/sendsignals ${EXTDIR}/rc6.d/S60sendsignals
|
||||
ln -sf ../init.d/mountfs ${EXTDIR}/rc6.d/S70mountfs
|
||||
ln -sf ../init.d/swap ${EXTDIR}/rc6.d/S80swap
|
||||
ln -sf ../init.d/localnet ${EXTDIR}/rc6.d/S90localnet
|
||||
ln -sf ../init.d/reboot ${EXTDIR}/rc6.d/S99reboot
|
||||
ln -sf ../init.d/mountkernfs ${EXTDIR}/rcS.d/S00mountkernfs
|
||||
ln -sf ../init.d/sysctl ${EXTDIR}/rcS.d/S05sysctl
|
||||
ln -sf ../init.d/modules ${EXTDIR}/rcS.d/S10modules
|
||||
ln -sf ../init.d/udev ${EXTDIR}/rcS.d/S15udev
|
||||
ln -sf ../init.d/swap ${EXTDIR}/rcS.d/S20swap
|
||||
ln -sf ../init.d/setclock ${EXTDIR}/rcS.d/S25setclock
|
||||
ln -sf ../init.d/checkfs ${EXTDIR}/rcS.d/S30checkfs
|
||||
ln -sf ../init.d/mountfs ${EXTDIR}/rcS.d/S40mountfs
|
||||
ln -sf ../init.d/udev_retry ${EXTDIR}/rcS.d/S45udev_retry
|
||||
ln -sf ../init.d/cleanfs ${EXTDIR}/rcS.d/S50cleanfs
|
||||
ln -sf ../init.d/console ${EXTDIR}/rcS.d/S70console
|
||||
ln -sf ../init.d/localnet ${EXTDIR}/rcS.d/S80localnet
|
||||
if [ ! -f ${EXTDIR}/sysconfig/createfiles ]; then install -m ${CONFMODE} sysconfig/createfiles ${EXTDIR}/sysconfig/; fi
|
||||
if [ ! -f ${EXTDIR}/sysconfig/modules ]; then install -m ${CONFMODE} sysconfig/modules ${EXTDIR}/sysconfig/; fi
|
||||
if [ ! -f ${EXTDIR}/sysconfig/rc ]; then install -m ${CONFMODE} sysconfig/rc ${EXTDIR}/sysconfig/; fi
|
||||
if [ ! -f ${EXTDIR}/sysconfig/rc.site ]; then install -m ${CONFMODE} sysconfig/rc.site ${EXTDIR}/sysconfig/; fi
|
||||
if [ -f ${EXTDIR}/inittab ]; then install -m ${CONFMODE} ${EXTDIR}/inittab ${EXTDIR}/inittab.bak;
|
||||
if [ -f ${EXTDIR}/inittab ]; then install -m ${CONFMODE} ${EXTDIR}/inittab ${EXTDIR}/inittab.bak; fi
|
||||
install -m ${CONFMODE} etc/inittab ${EXTDIR}/
|
||||
install -m ${MODE} sysconfig/network-devices/ifup ${EXTDIR}/sysconfig/network-devices/
|
||||
install -m ${MODE} sysconfig/network-devices/ifdown ${EXTDIR}/sysconfig/network-devices/
|
||||
install -m ${MODE} sysconfig/network-devices/services/ipv4-static ${EXTDIR}/sysconfig/network-devices/services/
|
||||
install -m ${MODE} sysconfig/network-devices/services/ipv4-static-route ${EXTDIR}/sysconfig/network-devices/services/
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/checkfs.sh
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/cleanfs
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/halt
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/console-screen-kbd.sh
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/localnet
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/modules
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountfs
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountkernfs
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/network
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/reboot
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/sendsigs
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/setclock
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/sysklogd
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/swap
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/sysctl
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/udev
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/udev_retry
|
||||
|
||||
minimal: create-dirs create-service-dir create-boottemp-dir
|
||||
install -m ${MODE} init.d/checkfs ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/checkfs.sh ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/cleanfs ${EXTDIR}/init.d/
|
||||
install -m ${CONFMODE} init.d/lfs-functions ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/halt ${EXTDIR}/init.d/
|
||||
@ -107,29 +88,27 @@ minimal: create-dirs create-service-dir create-boottemp-dir
|
||||
install -m ${MODE} init.d/mountkernfs ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/rc ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/reboot ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/sendsignals ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/sendsigs ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/setclock ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/swap ${EXTDIR}/init.d/
|
||||
install -m ${MODE} init.d/udev ${EXTDIR}/init.d/
|
||||
install -m ${CONFMODE} lsb/init-functions ${DESTDIR}/lib/lsb/
|
||||
install -m ${CONFMODE} lsb/manage-functions ${DESTDIR}/lib/lsb/
|
||||
install -m ${CONFMODE} etc/lsb-config ${EXTDIR}/lsb/
|
||||
ln -sf ../init.d/sendsignals ${EXTDIR}/rc0.d/S60sendsignals
|
||||
ln -sf ../init.d/mountfs ${EXTDIR}/rc0.d/S70mountfs
|
||||
ln -sf ../init.d/swap ${EXTDIR}/rc0.d/S80swap
|
||||
ln -sf ../init.d/halt ${EXTDIR}/rc0.d/S99halt
|
||||
ln -sf ../init.d/sendsignals ${EXTDIR}/rc6.d/S60sendsignals
|
||||
ln -sf ../init.d/mountfs ${EXTDIR}/rc6.d/S70mountfs
|
||||
ln -sf ../init.d/swap ${EXTDIR}/rc6.d/S80swap
|
||||
ln -sf ../init.d/reboot ${EXTDIR}/rc6.d/S99reboot
|
||||
ln -sf ../init.d/mountkernfs ${EXTDIR}/rcS.d/S00mountkernfs
|
||||
ln -sf ../init.d/udev ${EXTDIR}/rcS.d/S10udev
|
||||
ln -sf ../init.d/swap ${EXTDIR}/rcS.d/S20swap
|
||||
ln -sf ../init.d/setclock ${EXTDIR}/rcS.d/S25setclock
|
||||
ln -sf ../init.d/checkfs ${EXTDIR}/rcS.d/S30checkfs
|
||||
ln -sf ../init.d/mountfs ${EXTDIR}/rcS.d/S40mountfs
|
||||
ln -sf ../init.d/cleanfs ${EXTDIR}/rcS.d/S50cleanfs
|
||||
if [ ! -f ${EXTDIR}/sysconfig/rc ]; then install -m ${CONFMODE} sysconfig/rc ${EXTDIR}/sysconfig/; fi
|
||||
if [ -f ${EXTDIR}/inittab ]; then install -m ${CONFMODE} ${EXTDIR}/inittab ${EXTDIR}/inittab.bak; fi
|
||||
install -m ${CONFMODE} etc/inittab ${EXTDIR}/
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/checkfs.sh
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/cleanfs
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/halt
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/localnet
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountfs
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/mountkernfs
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/reboot
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/sendsigs
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/setclock
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/swap
|
||||
/usr/lib/lsb/install_initd ${EXTDIR}/init.d/udev
|
||||
|
||||
.PHONY: all create-dirs create-service-dir create-boottemp-dir \
|
||||
install minimal
|
||||
|
@ -4,7 +4,12 @@ The scripts contianed in this directory are a complete rewrite of the
|
||||
boot scripts from LFS-6.1 (updated for LFS-SVN about 2008-05-31). As is
|
||||
usually the case with a rewrite, there have been many changes:
|
||||
|
||||
LSB Version 3.1 Compliant Scripts - Immediately noticable are the LSB headers
|
||||
AS OF 20080907, THESE SCRIPTS REQUIRE THE NEW initd-tools PACKAGE.
|
||||
Dan Nicholson has recently released an initd-tools package that contain
|
||||
LSB compliant install_initd and remove_initd programs written in C.
|
||||
See the INSTALL file for installation instructions.
|
||||
|
||||
LSB Version 3.2 Compliant Scripts - Immediately noticable are the LSB headers
|
||||
in the rc.d scripts themselves. Each script contains a usable header to
|
||||
allow for automating both the installation of, and determining proper
|
||||
execution order for the startup scripts. These values can also be used
|
||||
@ -15,23 +20,6 @@ barrier to auto language translation in the previous bootscripts. Further,
|
||||
the messages are created from parts and only written to the screen in a
|
||||
single command, so maybe no help at all WRT translated boot messages.
|
||||
|
||||
LSB 3.1 Omissions - Unfortunately, this package is not completely LSB
|
||||
compliant as it lacks install_initd and remove_initd programs. The current
|
||||
popular flavor of these programs is written in Python, which, as you should
|
||||
know, is not installed until BLFS. I began work on a bash implementation,
|
||||
and have provided the needed functions to parse the LSB headers in the
|
||||
manage-functions script (insalled by default into /lib/lsb). Unfortunately,
|
||||
I have yet to complete the actual install_initd and remove_initd scripts,
|
||||
and have found bash to an unsuitable language to write a complete reorder
|
||||
due to the ammount of time for recursive funtions and loops to complete.
|
||||
Dan Nicholson has began work on initd-tools, a C implementaion of
|
||||
install_initd and remove_initd. At the time of writing (20080830) the
|
||||
programs themselves are not yet functional, however, the libraries used
|
||||
to parse the scripts and provide the dependency order are working as
|
||||
expected. I would expect a completely standards compliant set of programs,
|
||||
written in C very soon. Dans work can be viewed via git-web at
|
||||
http://gitweb.dwcab.com/?p=initd-tools.git;a=summary .
|
||||
|
||||
Distribution Independent - this original goal for the LFS scripts has been
|
||||
stretched even further by providing both a global rc config file that
|
||||
contains (generally) static values, and a new rc.site config file to allow
|
||||
@ -69,7 +57,7 @@ Some distros provide a rc.d direcorty with symlinks to the rc*.d and init.d
|
||||
directories, I have not done that. /etc is the location now, get your
|
||||
flying fingers accustomed to it! Of course, this is still configurable in
|
||||
/etc/sysconfig/rc.site, and if the change is too great, I'll put it back.
|
||||
I've also removed the rcsysinit.d and replaced it with rcS.d.
|
||||
I've also removed the rcsysinit.d directory and replaced it with rcS.d.
|
||||
|
||||
LSB Functions - The previous lfs-bootscripts sourced a functions file
|
||||
located at /etc/rc.d/init.d/functions. This file has been renamed
|
||||
|
@ -3,10 +3,10 @@
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: $network
|
||||
# Required-Start: $syslog
|
||||
# Should-Start:
|
||||
# Required-Stop: $syslog $local_fs swap localnet
|
||||
# Should-Stop:
|
||||
# Required-Start:
|
||||
# Should-Start: $syslog
|
||||
# Required-Stop: $local_fs swap localnet
|
||||
# Should-Stop: $syslog
|
||||
# Default-Start: 3 4 5
|
||||
# Default-Stop: 0 1 2 6
|
||||
# Short-Description: Starts and configures network interfaces.
|
||||
|
@ -3,10 +3,10 @@
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: $time
|
||||
# Required-Start: modules
|
||||
# Should-Start:
|
||||
# Required-Stop: $syslog
|
||||
# Should-Stop:
|
||||
# Required-Start:
|
||||
# Should-Start: modules
|
||||
# Required-Stop:
|
||||
# Should-Stop: $syslog
|
||||
# Default-Start: S
|
||||
# Default-Stop:
|
||||
# Short-Description: Stores and restores time from the hardware clock
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: swap
|
||||
# Required-Start: modules
|
||||
# Should-Start:
|
||||
# Required-Start:
|
||||
# Should-Start: modules
|
||||
# Required-Stop: localnet
|
||||
# Should-Stop:
|
||||
# Default-Start: S
|
||||
|
@ -3,8 +3,8 @@
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: udev
|
||||
# Required-Start: modules
|
||||
# Should-Start:
|
||||
# Required-Start:
|
||||
# Should-Start: modules
|
||||
# Required-Stop:
|
||||
# Should-Stop:
|
||||
# Default-Start: S
|
||||
|
@ -447,7 +447,7 @@ log_success_msg()
|
||||
if [ $( hostname ) = "(none)" ]; then
|
||||
BTTIMESPEC=""
|
||||
else
|
||||
BTTIMESPEC="$(echo `date +"%b %d %T"` `hostname`) "
|
||||
BTTIMESPEC="$(echo `date -u +"%b %d %T"` `hostname`) "
|
||||
fi
|
||||
echo "${BTTIMESPEC}bootlog: ${@} Successful" >> "${TEMPFS_MOUNT}/.bootlog"
|
||||
fi
|
||||
@ -474,7 +474,7 @@ log_failure_msg()
|
||||
if [ $( hostname ) = "(none)" ]; then
|
||||
BTTIMESPEC=""
|
||||
else
|
||||
BTTIMESPEC="$(echo `date +"%b %d %T"` `hostname`) "
|
||||
BTTIMESPEC="$(echo `date -u +"%b %d %T"` `hostname`) "
|
||||
fi
|
||||
echo "${BTTIMESPEC}bootlog: ${@} Failed!" >> "${TEMPFS_MOUNT}/.bootlog"
|
||||
fi
|
||||
@ -501,7 +501,7 @@ log_warning_msg()
|
||||
if [ $( hostname ) = "(none)" ]; then
|
||||
BTTIMESPEC=""
|
||||
else
|
||||
BTTIMESPEC="$(echo `date +"%b %d %T"` `hostname`) "
|
||||
BTTIMESPEC="$(echo `date -u +"%b %d %T"` `hostname`) "
|
||||
fi
|
||||
echo "${BTTIMESPEC}bootlog: ${@} Warning" >> "${TEMPFS_MOUNT}/.bootlog"
|
||||
fi
|
||||
|
Loading…
Reference in New Issue
Block a user