source: bootscripts/lfs/lib/services/ipv4-static@ f874424

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since f874424 was f874424, checked in by Bruce Dubbs <bdubbs@…>, 13 years ago

Rename /etc/sysconfig/init_params to /etc/sysconfig/rc.site.
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

  • Property mode set to 100755
File size: 2.5 KB
Line 
1#!/bin/sh
2########################################################################
3# Begin /lib/services/ipv4-static
4#
5# Description : IPV4 Static Boot Script
6#
7# Authors : Nathan Coulson - nathan@linuxfromscratch.org
8# Kevin P. Fleming - kpfleming@linuxfromscratch.org
9# Update : Bruce Dubbs - bdubbs@linuxfromscratch.org
10#
11# Version : LFS 7.0
12#
13########################################################################
14
15. /lib/lsb/init-functions
16. ${IFCONFIG}
17
18if [ -z "${IP}" ]; then
19 log_failure_msg "\nIP variable missing from ${IFCONFIG}, cannot continue."
20 exit 1
21fi
22
23if [ -z "${PREFIX}" -a -z "${PEER}" ]; then
24 log_warning_msg "\nPREFIX variable missing from ${IFCONFIG}, assuming 24."
25 PREFIX=24
26 args="${args} ${IP}/${PREFIX}"
27
28elif [ -n "${PREFIX}" -a -n "${PEER}" ]; then
29 log_failure_msg "\nPREFIX and PEER both specified in ${IFCONFIG}, cannot continue."
30 exit 1
31
32elif [ -n "${PREFIX}" ]; then
33 args="${args} ${IP}/${PREFIX}"
34
35elif [ -n "${PEER}" ]; then
36 args="${args} ${IP} peer ${PEER}"
37fi
38
39if [ -n "${BROADCAST}" ]; then
40 args="${args} broadcast ${BROADCAST}"
41fi
42
43case "${2}" in
44 up)
45 if [ "$(ip addr show ${1} | grep ${IP})" == "" ]; then
46 log_info_msg2 "\n" # Terminate the previous message
47 log_info_msg "Adding IPv4 address ${IP} to the ${1} interface..."
48 ip addr add ${args} dev ${1}
49 evaluate_retval
50
51 if [ -n "${GATEWAY}" ]; then
52 if ip route | grep -q default; then
53 log_warning_msg "\nGateway already setup; skipping."
54 else
55 log_info_msg "Setting up default gateway..."
56 ip route add default via ${GATEWAY} dev ${1}
57 evaluate_retval
58 fi
59 fi
60 else
61 msg="Cannot add IPv4 address ${IP} to ${1}. Already present."
62 log_warning_msg "$msg"
63 fi
64 ;;
65
66 down)
67 if [ "$(ip addr show ${1} | grep ${IP})" != "" ]; then
68 log_info_msg "Removing IPv4 address ${IP} from the ${1} interface..."
69 ip addr del ${args} dev ${1}
70 evaluate_retval
71 fi
72
73 if [ -n "${GATEWAY}" ]; then
74 # Only remove the gateway if ther are no remaining ipv4 addresses
75 if [ "$(ip addr show ${1} | grep 'inet ')" != "" ]; then
76 log_info_msg "Removing default gateway..."
77 ip route del default
78 evaluate_retval
79 fi
80 fi
81 ;;
82
83 *)
84 echo "Usage: ${0} [interface] {up|down}"
85 exit 1
86 ;;
87esac
88
89# End /lib/services/ipv4-static
Note: See TracBrowser for help on using the repository browser.