diff options
author | John Bowler <jbowler@nslu2-linux.org> | 2005-05-30 06:12:33 +0000 |
---|---|---|
committer | John Bowler <jbowler@nslu2-linux.org> | 2005-05-30 06:12:33 +0000 |
commit | 6950e496815f69df7b50f4664b654ac6b3e4f7de (patch) | |
tree | 0cd12f2251a5a0590d3c511d60d8a26dc10575e9 /packages/openslug-init/openslug-init-0.10/sysconfsetup | |
parent | a4912c88f3ebe4f5e322773b655b4300f1e39e07 (diff) |
Initscripts patch.
This changes the order of the shutdown scripts in openslug to ensure
that the network shutdown does not happen before network file systems
have been unmounted.
It also adds some missing scripts - hwclock.sh (load/save the hwclock,
otherwise it gets loaded but not saved, in the absence of NTP). alignment.sh
(added to openslug, was in 'arm' before), and umountfs (excluded from oe).
The file system unmount scripts use /proc/mounts (not fstab) and unmount in
the correct order (the old scripts only worked if nothing was mounted within
a mounted file system).
Scripts have been patched (openslug only patches) to make them work correctly
with openslug NFS, flash and disk root and to arrange for syslog to run as
long as possible (it's now in S/0/6, not in the user run levels).
Directory struction of openslug-init has been tidied up, with all the
initscripts in a sub-dirctory.
initscritps-openslug is an openslug specific variant of initscripts which
tracks it and fails safe (an update/change to initscripts will cause
initscripts-openslug to fail rather than build strangeness).
turnup also contains a fix for slugbug 150.
BKrev: 429aaed1D-1XOdk8brF2bP9C9EEEJQ
Diffstat (limited to 'packages/openslug-init/openslug-init-0.10/sysconfsetup')
-rw-r--r-- | packages/openslug-init/openslug-init-0.10/sysconfsetup | 146 |
1 files changed, 0 insertions, 146 deletions
diff --git a/packages/openslug-init/openslug-init-0.10/sysconfsetup b/packages/openslug-init/openslug-init-0.10/sysconfsetup deleted file mode 100644 index 8d2ecdca09..0000000000 --- a/packages/openslug-init/openslug-init-0.10/sysconfsetup +++ /dev/null @@ -1,146 +0,0 @@ -#!/bin/sh -# This script is run once when the system first boots. Its sole -# purpose is to create /etc/default/sysconf (the overall system -# configuration file) and other files derived from this. -# -# The script runs immediately after S10checkroot.sh - this is the -# point at which the rootfs will be mounted rw even if the kernel -# booted with it ro. -# -# rm or mv the file to run this again. If this is done the -# following configuration files will be rewritten: -# -# /etc/default/sysconf -# /etc/hostname -# /etc/defaultdomain -# /etc/network/interfaces -# /etc/resolv.conf -# -test -r /etc/default/sysconf && exit 0 -# -# /etc/default/functions contains useful utility functions - it's -# in a separate file so that it can be loaded by any script -. /etc/default/functions -# -# Utility to deal with absence of DNS configuration -echodns(){ - local dns - if test $# -gt 0 - then - for dns in "$@" - do - echo "nameserver $dns" - done - fi -} -# -# The SysConf device must exist in /dev at this point for this script -# to work. -# -# It is important not to hard-wire the name of the device because of -# the posibility of changing the flash partition layout. -# -# The block device is used here because at present udev does not -# show the character devices -sysdev="$(mtblockdev SysConf)" -if test -n "$sysdev" -a -b "$sysdev" -then - # Read the defined part of SysConf into /etc/default/sysconf. - # SysConf has lines of two forms: - # - # [section] - # name=value - # - # In practice SysConf also contains other stuff, use the command: - # - # devio '<</dev/mtd1;cpb' - # - # to examine the current settings. The badly formatted stuff - # is removed (to be exact, the sed script selects only lines - # which match one of the two above). The lan interface, which - # defaults to ixp0, is changed to the correct value for openslug, - # eth0 - devio '<<'"$sysdev"';cpb;fb1,10' | sed -n '/^\[[^][]*\]$/p; - s/^lan_interface=ixp0$/lan_interface=eth0/; - /^[-a-zA-Z0-9_][-a-zA-Z0-9_]*=/p' >/etc/default/sysconf - # - # Now take the result and set up the 'standard' files in the - # root file system (these couldn't be set up before because - # they depend on stuff which RedBoot puts into SysConf from the - # ID info on the specific machine - in particular the hardware - # address of eth0, which must be the one assigned for *this* - # box!) - # - # HOSTNAME: defaults to LGK<mac> i.e. something derived from - # the ethernet hardware. LinkSys documentation explains how - # to determine this. Set by the user in linksys setup software. - # DOMAINNAME: LinkSys puts this in w_d_name. - test -n "$(config host)" && config host >/etc/hostname - domain="$(config domain)" - test -n "$domain" && echo "$domain" >/etc/defaultdomain - # - # Ethernet information. This goes into /etc/network/interfaces, - # however this is only used for static setup (and this is not - # the default). With dhcp the openslug udhcp script, - # /etc/udhcpc.d/50default, loads the values from sysconf. The - # lan_interface config value must exist for the file to be - # overwritten here. - iface="$(config iface)" - if test -n "$iface" - then - boot="$(config boot)" - # Only dhcp and static are supported at present - bootp - # support requires installation of appropriate packages - # dhcp is the fail-safe - case "$boot" in - dhcp|static) ;; - *) boot=dhcp;; - esac - # - mac="$(config mac)" - ip="$(config ip)" - netmask="$(config netmask)" - gateway="$(config gateway)" - { - echo "# /etc/network/interfaces" - echo "# configuration file for ifup(8), ifdown(8)" - echo "#" - echo "# The loopback interface" - echo "auto lo" - echo "iface lo inet loopback" - echo "#" - echo "# The NSLU2 built-in ethernet" - echo "auto eth0" - echo "# Automatically generated from /etc/default/sysconf" - if test -n "$mac" - then - echo "# The pre-up option must always be supplied, regardless" - echo "# of configuration, to set the hardware correctly." - echo "# Severe network problems may result if this option is" - echo "# removed." - c= - else - echo "# WARNING: improperly configured network interface." - echo "# WARNING: the pre-up line must be corrected or severe" - echo "# WARNING: network problems may result." - c='#' - mac='<WARNING: unknown hardware address>' - fi - echo "iface $iface inet $boot" - echo "${c} pre-up ifconfig $iface hw ether $mac" - # The following are ignored for DHCP but are harmless - test -n "$ip" && echo " address $ip" - test -n "$netmask" && echo " netmask $netmask" - test -n "$gateway" && echo " gateway $gateway" - } >/etc/network/interfaces - fi - # - # The DNS server information gives up to three nameservers, but this - # currently only binds in the first. - { - test -n "$domain" && echo "search $domain" - echodns $(config dns) $(config dns1) $(config dns2) - } >/etc/resolv.conf -fi - -exit 0 |