summaryrefslogtreecommitdiff
path: root/packages/openslug-init/openslug-init-0.10/sysconfsetup
diff options
context:
space:
mode:
Diffstat (limited to 'packages/openslug-init/openslug-init-0.10/sysconfsetup')
-rw-r--r--packages/openslug-init/openslug-init-0.10/sysconfsetup146
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