mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-08-13 15:07:23 +01:00
Move network services to /lib/services. Move init-functions to /lib/lsb. Make /lib/lsb a symlink to /lib/services. Create convenience symlink /etc/init.d->/etc/rc.d/init.d Add help and man pages to ifup/ifdown. Append /run/var/bootlog to /var/log/boot.log at the end of the boot sequence. Add capability to step through the boot scripts at boot time. Optionally allow environment variables in sysconfig directory's console, network, and clock files to be placed in rc.site. Add an optional FASTBOOT parameter to set /fastboot when rebooting. Remove a minor warning message from udev that is triggered by the udev_retry boot script. Add SKIPTMPCLEAN as an optional parameter to skip cleaning /tmp at boot time. Add a page to Chapter 7 documenting rc.site. git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@9597 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689
90 lines
2.5 KiB
Bash
Executable File
90 lines
2.5 KiB
Bash
Executable File
#!/bin/sh
|
|
########################################################################
|
|
# Begin /lib/services/ipv4-static
|
|
#
|
|
# Description : IPV4 Static Boot Script
|
|
#
|
|
# Authors : Nathan Coulson - nathan@linuxfromscratch.org
|
|
# Kevin P. Fleming - kpfleming@linuxfromscratch.org
|
|
# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
|
|
#
|
|
# Version : LFS 7.0
|
|
#
|
|
########################################################################
|
|
|
|
. /lib/lsb/init-functions
|
|
. ${IFCONFIG}
|
|
|
|
if [ -z "${IP}" ]; then
|
|
log_failure_msg "\nIP variable missing from ${IFCONFIG}, cannot continue."
|
|
exit 1
|
|
fi
|
|
|
|
if [ -z "${PREFIX}" -a -z "${PEER}" ]; then
|
|
log_warning_msg "\nPREFIX variable missing from ${IFCONFIG}, assuming 24."
|
|
PREFIX=24
|
|
args="${args} ${IP}/${PREFIX}"
|
|
|
|
elif [ -n "${PREFIX}" -a -n "${PEER}" ]; then
|
|
log_failure_msg "\nPREFIX and PEER both specified in ${IFCONFIG}, cannot continue."
|
|
exit 1
|
|
|
|
elif [ -n "${PREFIX}" ]; then
|
|
args="${args} ${IP}/${PREFIX}"
|
|
|
|
elif [ -n "${PEER}" ]; then
|
|
args="${args} ${IP} peer ${PEER}"
|
|
fi
|
|
|
|
if [ -n "${BROADCAST}" ]; then
|
|
args="${args} broadcast ${BROADCAST}"
|
|
fi
|
|
|
|
case "${2}" in
|
|
up)
|
|
if [ "$(ip addr show ${1} | grep ${IP})" == "" ]; then
|
|
log_info_msg2 "\n" # Terminate the previous message
|
|
log_info_msg "Adding IPv4 address ${IP} to the ${1} interface..."
|
|
ip addr add ${args} dev ${1}
|
|
evaluate_retval
|
|
|
|
if [ -n "${GATEWAY}" ]; then
|
|
if ip route | grep -q default; then
|
|
log_warning_msg "\nGateway already setup; skipping."
|
|
else
|
|
log_info_msg "Setting up default gateway..."
|
|
ip route add default via ${GATEWAY} dev ${1}
|
|
evaluate_retval
|
|
fi
|
|
fi
|
|
else
|
|
msg="Cannot add IPv4 address ${IP} to ${1}. Already present."
|
|
log_warning_msg "$msg"
|
|
fi
|
|
;;
|
|
|
|
down)
|
|
if [ "$(ip addr show ${1} | grep ${IP})" != "" ]; then
|
|
log_info_msg "Removing IPv4 address ${IP} from the ${1} interface..."
|
|
ip addr del ${args} dev ${1}
|
|
evaluate_retval
|
|
fi
|
|
|
|
if [ -n "${GATEWAY}" ]; then
|
|
# Only remove the gateway if ther are no remaining ipv4 addresses
|
|
if [ "$(ip addr show ${1} | grep 'inet ')" != "" ]; then
|
|
log_info_msg "Removing default gateway..."
|
|
ip route del default
|
|
evaluate_retval
|
|
fi
|
|
fi
|
|
;;
|
|
|
|
*)
|
|
echo "Usage: ${0} [interface] {up|down}"
|
|
exit 1
|
|
;;
|
|
esac
|
|
|
|
# End /lib/services/ipv4-static
|