summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGraham Gower <graham.gower@gmail.com>2010-09-13 18:15:45 +0000
committerFrans Meulenbroeks <fransmeulenbroeks@gmail.com>2010-09-14 22:54:39 +0200
commitc4bdd84957af4623727d3384c0afff792d716b08 (patch)
tree46e48db1d144984729aa0b0b52b529c1ea7c5621
parent9027972a1b6a3ef971203c3fbb176345dce08ffe (diff)
foonas-init: remove broken and unused recipe.
This recipe has references to non existant files in its SRC_URI, I could not find them in the git logs either. A grep -r foonas-init shows no in tree users. Signed-off-by: Graham Gower <graham.gower@gmail.com> Verified with Tim Ellis and Oyvind Repvik that this can be deleted Signed-off-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
-rw-r--r--recipes/foonas-init/files/conffiles55
-rw-r--r--recipes/foonas-init/files/functions413
-rw-r--r--recipes/foonas-init/files/links.conf6
-rw-r--r--recipes/foonas-init/files/modulefunctions39
-rw-r--r--recipes/foonas-init/files/reflash163
-rw-r--r--recipes/foonas-init/files/sysconf793
-rw-r--r--recipes/foonas-init/files/turnup861
-rw-r--r--recipes/foonas-init/foonas-init_0.10.bb121
8 files changed, 0 insertions, 2451 deletions
diff --git a/recipes/foonas-init/files/conffiles b/recipes/foonas-init/files/conffiles
deleted file mode 100644
index e1408a3227..0000000000
--- a/recipes/foonas-init/files/conffiles
+++ /dev/null
@@ -1,55 +0,0 @@
-# conffiles
-# Known SlugOS configuration files. These files are preserved on
-# a flash upgrade. Other configuration files, found from:
-#
-# /usr/lib/ipkg/*.conffiles
-# /etc/*.conf
-#
-# are preserved too with an operation of 'diff' if they have been
-# changed since /etc/.configured was created.
-#
-# Lines starting with # are comments, other lines have
-# two fields:
-#
-# operation file
-#
-# The file must *NOT* have a leading /
-#
-# operation may be:
-# ignore Do not preserve this file
-# preserve Preserve this file unconditionally
-# diff Compare file with the new version, ask if different
-#
-preserve linuxrc
-preserve etc/.configured
-preserve etc/TZ
-diff etc/default/conffiles
-diff etc/default/devpts
-preserve etc/default/rcS
-preserve etc/default/sysconf
-diff etc/default/usbd
-preserve etc/defaultdomain
-preserve etc/dropbear/dropbear_dss_host_key
-preserve etc/dropbear/dropbear_rsa_host_key
-preserve etc/ssh/ssh_host_dsa_key
-preserve etc/ssh/ssh_host_dsa_key.pub
-preserve etc/ssh/ssh_host_rsa_key
-preserve etc/ssh/ssh_host_rsa_key.pub
-preserve etc/fstab
-preserve etc/group
-preserve etc/gshadow
-preserve etc/hostname
-preserve etc/hosts
-preserve etc/localtime
-ignore etc/modules
-ignore etc/modules.conf
-preserve etc/motd
-preserve etc/network/interfaces
-preserve etc/ntp.drift
-preserve etc/passwd
-preserve etc/profile
-preserve etc/resolv.conf
-preserve etc/shadow
-preserve etc/syslog.conf
-preserve etc/timezone
-preserve root/.ssh/authorized_keys
diff --git a/recipes/foonas-init/files/functions b/recipes/foonas-init/files/functions
deleted file mode 100644
index 2108288ab5..0000000000
--- a/recipes/foonas-init/files/functions
+++ /dev/null
@@ -1,413 +0,0 @@
-#!/bin/sh
-# . this file to load the following utility functions
-#
-# hardware
-# the 'Hardware' string from cpuinfo, or, if not found
-# try a little harder with 'machine'
-hardware(){
- local hdw
- hdw=`sed -n 's!^Hardware *: !!p' /proc/cpuinfo`
- test -n "$hdw" || {
- hdw=`sed -n 's!^machine *: !!p' /proc/cpuinfo`
- }
- echo $hdw
-}
-#
-# machine
-# outputs an identifier of the current machine - i.e. the board
-# slugos is running on.
-machine(){
- case "$(hardware)" in
- *Coyote*) echo coyote;;
- *IXDPG425*) echo ixdpg425;;
- *WRV54G*) echo wrv54g;;
- *IXDP425*) echo ixdp425;;
- *IXDP465*) echo ixdp465;;
- *IXCDP1100*) echo ixcdp1100*;;
- *Avila*) echo avila;;
- *Loft*) echo loft;;
- *NAS?100d*) echo nas100d;;
- *NSLU2*) echo nslu2;;
- *StorCenter*) echo storcenter;;
- *) echo unknown;;
- esac
-}
-#
-# single_user_ok
-# if the machine is capable of single user interaction return
-# true, else return false. The result of this function is
-# preempted by setting SULOGIN to 'yes' or 'ok' in /etc/default/rcS
-single_user_ok() {
- # list known good machines in the 'case'
- test "$SULOGIN" = yes -o "$SULOGIN" = ok ||
- case "$(machine)" in
- ixdp*|avila|loft)
- test "$SULOGIN" != never;;
- *) return 1;;
- esac
-}
-#
-# load_functions "source"
-# load the functions in '/sbin/source' - relies on /sbin/source being
-# a shell script and having support for this function.
-load_functions(){
- test -n "$1" -a -x "/sbin/$1" && . "/sbin/$1" || {
- echo "$0: /sbin/$1: script not found" >&2
- return 1
- }
-}
-#
-# mtdev "name"
-# return (output) the character device name for flash parition "name"
-# /proc/mtd has the general form:
-# dev: size erasesize name
-# mtd5: 00020000 00020000 "FIS directory"
-# use this rather than hard-wiring the device because the partition
-# table can change - looking in /proc/mtd is more reliable.
-mtdev(){
- if test $(machine) = storcenter ; then
- sed -n 's!^mtd\([0-9][0-9]*\):[^"]*"'"$1"'"$!/dev/mtd/\1!p' /proc/mtd
- else
- sed -n 's!^\(mtd[0-9][0-9]*\):[^"]*"'"$1"'"$!/dev/\1!p' /proc/mtd
- fi
-}
-#
-# mtblockdev "name"
-# as mtdev but output the name of the block (not character) device
-mtblockdev(){
- if test "$(machine)" = storcenter ; then
- sed -n 's!^mtd\([0-9][0-9]*\):[^"]*"'"$1"'"$!/dev/mtdblock/\1!p' /proc/mtd
- else
- sed -n 's!^mtd\([0-9][0-9]*\):[^"]*"'"$1"'"$!/dev/mtdblock\1!p' /proc/mtd
- fi
-}
-#
-# mtsize "name"
-# the size of the partition as a hexadecimal value (with 0x at the front)
-mtsize(){
- sed -n 's!^mtd[0-9][0-9]*: \([^ ]*\)[^"]*"'"$1"'"$!0x\1!p' /proc/mtd
-}
-#
-# sysvalmatch "section" "name" 'pattern' "configuration file"
-# sysvalof "section" "name" "configuration file"
-# sysval "section" "name"
-# outputs the value of the SysConf variable 'name' from section 'section',
-# if there are multiple definitions only the last is output
-# NOTE: these functions should only be used internally, add entries to 'config'
-# below if necessary. This is because 'config' does the defaulting.
-sysvalmatch(){
- sed -n '/^\['"$1"'\]$/,/^\[.*\]$/s/^'"$2"'=\('"$3"'\)$/\1/p' "$4" | sed -n '$p'
-}
-sysvalof(){
- sysvalmatch "$1" "$2" '.*' "$3"
-}
-sysval(){
- test -r "$config_root/etc/default/sysconf" &&
- sysvalof "$1" "$2" "$config_root/etc/default/sysconf"
-}
-#
-# syssection "section"
-# outputs all the values from the given section changed to the format "name value"
-# (i.e. the '=' is dropped).
-syssection(){
- test -r "$config_root/etc/default/sysconf" &&
- sed -n '/^\['"$1"'\]$/,/^\[.*\]$/s/^\([^=]*\)=\(.*\)$/\1 \2/p' "$config_root/etc/default/sysconf"
-}
-#
-# config "value"
-# convenience callers for specific values to avoid mis-typing in scripts
-# NOTE: this function does the defaulting, 'sysval' does not!
-# config_root: if set this will override the root where config/sysval
-# looks for /etc/default/sysconf
-config(){
- local mac
- mac="$(test -r /proc/net/maclist &&
- sed -n '/^[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]:[0-9A-Za-z][0-9A-Za-z]$/p' /proc/net/maclist |
- sed -n 1p)"
- #
- case "$1" in
- mac) test -n "$mac" && echo "$mac";;
- host) if test -n "$(sysval network disk_server_name)"
- then
- sysval network disk_server_name
- elif test -n "$(sysval network default_server_name)"
- then
- sysval network default_server_name
- elif test -n "$mac"
- then
- echo "$mac" | sed -n 's/^\(..\):\(..\):\(..\):\(..\):\(..\):\(..\)$/slug\1\2\3\4\5\6/p'
- else
- # because we want the name to remain constant:
- echo "turbostation"
- fi;;
- domain) sysval network w_d_name;;
- iface) if test -n "$(sysval network lan_interface)"
- then
- sysval network lan_interface
- else
- echo eth0
- fi;;
- ip) if test -n "$(sysval network ip_addr)"
- then
- sysval network ip_addr
- else
- echo 192.168.1.16
- fi;;
- netmask)sysval network netmask;;
- gateway)sysval network gateway;;
- dns) sysval network dns_server1;;
- dns2) sysval network dns_server2;;
- dns3) sysval network dns_server3;;
- boot) if test -n "$(sysval network bootproto)"
- then
- sysval network bootproto
- else
- echo dhcp
- fi;;
- valid) test -r "$config_root/etc/default/sysconf" -a -n "$mac";;
- *) return 1;;
- esac
-}
-#
-# checkif "iface"
-# Validate an interface name by making sure that it exists
-# in /proc/net/dev (and is not lo). The listing outputs the
-# interface followed by a :, the check function looks for
-# something of the form '$1[a-zA-Z0-9]*:' and outputs the
-# part preceding the ':'
-checkif(){
- sed -n '/^[ ]*lo:/d;s/^[ ]*\('"$1"'[a-zA-Z0-9]*\):.*$/\1/p;tE;d;:E;q' /proc/net/dev
-}
-#
-# checkmount "mountpoint"
-# tests an already mounted mountpoint to see whether to attempt to
-# boot with this as root. Returns success if it appears ok.
-checkmount(){
- # basic test for init (the kernel will try to load this)
- # but require a shell in bin/sh too
- test \( -d "$1/mnt" \) -a \
- \( -x "$1/bin/sh" -o -h "$1/bin/sh" \) -a \
- \( -x "$1/usr/sbin/chroot" -o -h "$1/usr/sbin/chroot" -o \
- -x "$1/sbin/chroot" -o -h "$1/sbin/chroot" \) -a \
- \( -x "$1/sbin/init" -o -h "$1/sbin/init" -o \
- -x "$1/etc/init" -o -h "$1/etc/init" -o \
- -x "$1/bin/init" -o -h "$1/bin/init" \)
-}
-#
-# swivel "new root" "old root"
-# NOTE: the arguments must be paths relative to /, bad things
-# will happen if the arguments themselves start with /
-# Pivot to a new root. This does all the fancy pivot_root stuff
-# including closing streams and does a umount /proc - it doesn't
-# matter if this fails (failure codes are ignored), but if /proc
-# was mounted it must be restored by the caller on return.
-# Normally this function never returns!
-# On return 0,1,2 are connected to /dev/console - this may not
-# have been true before!
-swivel(){
- cd "$1"
- exec <&- >&- 2>&-
- # This is just-in-case the called mounted /proc and was
- # unable to close it because of the streams
- umount /proc 2>/dev/null
- if pivot_root . "$2"
- then
- # everything must move out of the old root, this process
- # is $2/bin/sh so it must die, IO is redirected
- # just in case - typically it will be to a device so it
- # won't hold the old root open.
- # the exec here is the first point at which the old root
- # is unused - before the exec regardless of the close of
- # 0,1,2 above ash still has *this* shell script open!
- # (it's on fd 10).
- # init closes all file descriptors, there's no point
- # supplying it with fds.
- # NOTE: this used to use $2/usr/sbin/chroot, however on
- # linux / is already . when the command is executed
- # therefore it is essential to use the local (new root)
- # chroot to ensure it gets the correct shared libraries.
- if test -x usr/sbin/chroot -o -h usr/sbin/chroot
- then
- chroot=usr/sbin/chroot
- elif test -x sbin/chroot -o -h sbin/chroot
- then
- chroot=sbin/chroot
- else
- chroot=chroot
- fi
- #
- exec "$chroot" . bin/sh -c "\
- test -x sbin/init && exec sbin/init
- test -x etc/init && exec etc/init
- test -x bin/init && exec bin/init
- mount -t sysfs sysfs /mnt
- umount /mnt
- sync;sync;sync
- exit 1"
- fi
- #
- # recovery - must restore the old root
- cd "$2"
- sbin/pivot_root . "$1"
- # cd is back to $1 - either pivot_root doesn't change it and the
- # chroot above was not executed, or pivot_root does change it and
- # has just changed it back!
- exec <>/dev/console >&0 2>&0
-}
-#
-# ifup "interface"
-# bring that interface up with the configured ip and other
-# information
-ifup(){
- local ip hostname router subnet iface HOSTNAME NETMASK BROADCAST
-
- iface="$1"
- ip="$(config ip)"
- hostname="$(config host)"
- router="$(config gateway)"
- broadcast=
-
- if test -n "$ip"
- then
- # only if an ip was specified
- subnet="$(config netmask)"
- else
- ip=192.168.1.77
- fi
-
- # First try udhcpc - note that the /boot/udhcpc.script
- # simply records the values returned and the udhcpc
- # is not left running so this will only work for
- # the lease length time!
- ifconfig "$iface" up
- if test "$(config boot)" != static
- then
- test -n "$hostname" && HOSTNAME="-H $hostname"
- # The script writes the required shell variable assignments
- # to file descriptor 9
- eval $(udhcpc -i "$iface" -n -q -r "$ip" $HOSTNAME -s /boot/udhcpc.script 9>&1 >/dev/null)
- fi
-
- test -n "$broadcast" && BROADCAST="broadcast $broadcast"
- test -n "$subnet" && NETMASK="netmask $subnet"
-
- if ifconfig "$iface" "$ip" $NETMASK $BROADCAST
- then
- for route in $router
- do
- route add default gw "$route" dev "$iface"
- done
- return 0
- else
- ifconfig "$iface" down
- return 1
- fi
-}
-#
-# ifdown "interface"
-# take the interface down
-ifdown(){
- ifconfig "$1" down
-}
-#
-# mountflash "flash device" "flash root directory" {mount options}
-# Finds and mounts the flash file system on the given directory
-mountflash(){
- local ffsdev ffsdir
-
- ffsdev="$1"
- test -n "$ffsdev" -a -b "$ffsdev" || {
- echo "$0: unable to find flash file system to copy ($ffsdev)" >&2
- return 1
- }
- shift
-
- ffsdir="$1"
- test -n "$ffsdir" -a -d "$ffsdir" || {
- echo "$0: mountflash $ffsdir: not a directory (internal error)" >&2
- return 1
- }
- shift
-
- mount -t jffs2 "$@" "$ffsdev" "$ffsdir" || {
- echo "$0: $ffsdev: unable to mount flash file system on $ffsdir" >&2
- return 1
- }
- return 0
-}
-#
-# umountflash [-r] "flash device"
-# unmount any instance of the given flash device, if -r is specified a mount on
-# root is an error, otherwise a mount on root is ignored (and remains).
-umountflash(){
- local rootok ffsno ffsdev
- rootok=1
- case "$1" in
- -r) rootok=
- shift;;
- esac
- #
- # The argument is ffsdev
- ffsdev="$1"
- ffsno="$(devio "<<$ffsdev" prd)"
- test -n "$ffsno" -a "$ffsno" -ge 0 || {
- echo "$0: $ffsdev: device number $ffsno is not valid, cannot continue." >&2
- return 1
- }
- #
- # Make sure that Flashdisk isn't mounted on /
- if test -z "$rootok" -a "$(devio "<</etc/init.d/sysconfsetup" prd)" -eq "$ffsno"
- then
- echo "$0: $ffsdev is mounted on /, use turnup ram" >&2
- return 1
- fi
- #
- # The function is currently always used interactively, so output
- echo "$0: umounting any existing mount of $ffsdev" >&2
- #
- # check each mount point, do this last first because otherwise nested
- # mounts of ffsdev cannot be umounted.
- ffs_umount() {
- local device mp type options stuff
-
- read device mp type options stuff
- test -z "$device" && return 0
-
- # handle following entries first
- ffs_umount || return 1
-
- # handle this entry, since this is currently only used for unmounting
- # the flash root partition we know a file which must exist...
- case "$mp/$type" in
- //jffs2);; # skip /
- */jffs2)test "$(devio "<<$mp/etc/init.d/sysconfsetup" prd 2>/dev/null)" -ne "$ffsno" ||
- umount "$mp" || {
- echo "$0: $mp: unable to umount $ffsdev" >&2
- return 1
- };;
- esac
-
- return 0
- }
- #
- ffs_umount </proc/mounts || {
- echo "$0: umount $ffsdev from all mount points then re-run $0" >&2
- return 1
- }
-
- return 0
-}
-
-#
-# uuid_by_partition
-# output a list of partitions and their UUIDs
-uuid_by_partition() {
- blkid -c /dev/null -s UUID | sed -n 's/^\([^:]*\): .*UUID="\([^"]*\)".*$/\1 \2/p'
-}
-
-#
-# partition_of uuid
-# return the partition corresponding to the UUID
-partition_of() {
- sed -n 's/^\([^ ]*\) '"$1"'$/\1/p'
-}
diff --git a/recipes/foonas-init/files/links.conf b/recipes/foonas-init/files/links.conf
deleted file mode 100644
index fdd1f3ce23..0000000000
--- a/recipes/foonas-init/files/links.conf
+++ /dev/null
@@ -1,6 +0,0 @@
-# This file does not exist. Please do not ask the debian maintainer about it.
-# You may use it to do strange and wonderful things, at your risk.
-
-# The new RTC class does not create the /dev/rtc symlink, and udev rules don't get run for built-in modules.
-# So it looks like we have to do this here for the moment, until someone comes up with a better idea ...
-L rtc rtc0
diff --git a/recipes/foonas-init/files/modulefunctions b/recipes/foonas-init/files/modulefunctions
deleted file mode 100644
index 430e376ad8..0000000000
--- a/recipes/foonas-init/files/modulefunctions
+++ /dev/null
@@ -1,39 +0,0 @@
-#!/bin/sh
-# "." this file, then call the appropriate routines to load modules
-# you might need. This is run from /etc/rcS.d/S21loadmodules.sh
-# at boot time. Possible examples are commented out, none of which
-# are needed on openprotium since they are already in the kernel.
-
-. /etc/default/functions
-
-
-loaddiskmods(){
- :
-# modprobe scsi_mod
-# modprobe sd_mod
-# modprobe usbcore
-# case "$(machine)" in
-# nslu2)
-# modprobe ehci-hcd
-# modprobe ohci-hcd
-# ;;
-# esac
-# modprobe usb-storage
-}
-
-loadnetmods(){
- :
-# modprobe af_packet
-# case "$(machine)" in
-# ixdp425|nslu2|nas100d)
-# modprobe ixp4xx_mac
-# ;;
-# esac
-}
-
-loadmiscmods(){
- :
-# modprobe ixp4xx_rng
-# modprobe i2c_dev
-}
-
diff --git a/recipes/foonas-init/files/reflash b/recipes/foonas-init/files/reflash
deleted file mode 100644
index f2947822f6..0000000000
--- a/recipes/foonas-init/files/reflash
+++ /dev/null
@@ -1,163 +0,0 @@
-#!/bin/sh
-#
-# Open Protium Reflash. This script will take a firmware image consisting
-# of a compressed linux kernel image, concatentated with a jffs2 root
-# filesystem image. The kernel MTD device is discovered by locating
-# the MTD partition with the tag "kernel" and the filesystem MTD device
-# is dicovered by locating the MTD partition with the tag "filesystem."
-# There is no TOC inside the firmware images so there is no direct way
-# to validate that the sizes of the parts in the firmware match the
-# existing MTD partitions. So there could be a mismatch. However, a
-# a mismatch size will be detect as this script mounts the newly laid
-# done filesystem, a mismatch guarantees this to fail. That being said
-# the script does validate the total size to prevent overwriting
-# uboot. Furthermore the script makes sure the fsdev is not in use and
-# that the various images are block aligned.
-
-flimg=$1
-if [ -z "$flimg" ]; then
- echo "Usage: reflash <image file>"
- exit 1
-fi
-
-if [ \! -f $flimg -o \! -r $flimg ]; then
- #
- # not a file or not readable
- #
- echo "error: Image file [$flimg] not available"
- exit 1
-fi
-
-dmesg | grep StorCenter >/dev/null 2>&1
-if [ $? -ne 0 ]; then
- exit 0
-fi
-
-blksize=512
-mtd=/proc/mtd
-mtab=/proc/mounts
-mntdir=/tmp/fs.$$
-
-ktag=kernel
-fstag=filesystem
-
-kdev=` grep $ktag $mtd | awk -F: '{print $1}' | sed -e 's?mtd?/dev/mtdblock/?g'`
-fsdev=`grep $fstag $mtd | awk -F: '{print $1}' | sed -e 's?mtd?/dev/mtdblock/?g'`
-
-flsize=`ls -l $flimg | awk '{print $5}'`
-ksize=`grep $ktag $mtd | awk '{print "0x" $2}'`
-fssize=`grep $fstag $mtd | awk '{print "0x" $2}'`
-
-#
-# Size comes out of dc in exp notation and test wont accept a hex number
-# so dumo it in hex then use awk to convert to decimal
-#
-size=0x`dc 16 o $ksize $fssize + p`
-size=`echo $size | awk '{printf ("%d",$1)}'`
-
-#
-# Make sure we are block aligned
-#
-kblks=`dc $ksize $blksize / p`
-r=`dc $ksize $blksize % p`
-if [ $r -ne 0 ]; then
- echo "error: Kernel partition is not block aligned."
- exit 1
-fi
-
-#
-# Make sure we are block aligned
-#
-fsblks=`dc $fssize $blksize / p`
-r=`dc $fssize $blksize % p`
-if [ $r -ne 0 ]; then
- echo "error: Filesystem partition is not block aligned."
- exit 1
-fi
-
-#
-# Check to see that we have enough room
-#
-if [ $flsize -gt $size ]; then
- echo "error: Image size is bigger then available space."
- exit 1
-fi
-
-#
-# Is fsdev mounted?
-#
-grep $fsdev $mtab > /dev/null 2>&1
-if [ $? -eq 0 ]; then
- echo "error: $fsdev mounted"
- exit 1
-fi
-
-#
-# If root is a jffs2 then close enough, im out
-#
-grep jffs2 $mtab > /dev/null 2>&1
-if [ $? -eq 0 ]; then
- echo "error: $fsdev may be mounted"
- exit 1
-fi
-
-
-#
-# Mount fsdev and save fsdev/linuxrc
-#
-mkdir $mntdir /tmp/$$
-mount -t jffs2 $fsdev $mntdir
-if [ $? -ne 0 ]; then
- echo "error: Unable to mount $fsdev"
- exit 1
-fi
-echo "Preserving /linuxrc in /tmp/$$"
-cp $mntdir/linuxrc* /tmp/$$
-umount $mntdir
-
-echo "Image:"
-echo " Name : $flimg"
-echo " Length: $flsize"
-echo
-echo "Kernel:"
-echo " Device: $kdev"
-echo " Length: $ksize"
-echo " Blocks: $kblks"
-echo
-echo "Filesystem:"
-echo " Device: $fsdev"
-echo " Length: $fssize"
-echo " Blocks: $fsblks"
-echo
-echo 'Ready to flash, Continue? (yes/no)'
-read continue
-if [ "z$continue" != "zyes" ]; then
- rm -rf $mntdir /tmp/$$
- exit 0
-fi
-
-#
-# Lets do the flash
-#
-echo Preserving existing flash in: $flimg.sav.$$
-dd of=$flimg.sav.$$ if=$kdev bs=$blksize count=$kblks
-dd of=$flimg.sav.$$ if=$fsdev bs=$blksize count=$fsblks seek=$kblks
-
-echo Flashing new firmware....
-dd if=$flimg of=$kdev bs=$blksize count=$kblks
-dd if=$flimg of=$fsdev bs=$blksize count=$fsblks skip=$kblks
-sync
-sleep 5
-
-#
-# Mount fsdev and restore fsdev/linuxrc
-#
-mount -t jffs2 $fsdev $mntdir
-if [ $? -ne 0 ]; then
- echo "error: Unable to re-mount $fsdev"
- exit 1
-fi
-echo "Restoring /linuxrc"
-cp /tmp/$$/linuxrc* $mntdir
-umount $mntdir
-rm -rf $mntdir /tmp/$$
diff --git a/recipes/foonas-init/files/sysconf b/recipes/foonas-init/files/sysconf
deleted file mode 100644
index 8866c076b8..0000000000
--- a/recipes/foonas-init/files/sysconf
+++ /dev/null
@@ -1,793 +0,0 @@
-#!/bin/sh
-# sysconf
-#
-# utility to manipulate system configuration information help
-# in a RedBoot SysConf partition
-#
-# load the utility functions (unless this is being called just
-# to load these functions!)
-test "$1" != sysconf && . /etc/default/functions
-
-# NSLU2 flash layout is non-standard.
-case "$(machine)" in
-nslu2)
- kpart="Kernel"
- syspart="SysConf"
- ffspart="Flashdisk";;
-*)
- kpart="kernel"
- syspart="sysconfig"
- ffspart="filesystem";;
-esac
-#
-# sysconf_valid
-# return true if the SysConf partition exists and seems to be
-# potentially valid (it starts with a reasonable length).
-sysconf_valid(){
- local sysdev
- sysdev="$(mtblockdev $syspart)"
- test -n "$sysdev" -a -b "$sysdev" &&
- devio "<<$sysdev" '!! b.10>s32768<&!'
-}
-
-#
-# sysconf_read [prefix]
-# read the $syspart partition (if present) writing the result into
-# /etc/default/sysconf, if the result is empty it will be removed.
-sysconf_read(){
- local sysdev sedcmd mac config_root
- config_root="$1"
- rm -f /tmp/sysconf.new
- sysdev="$(mtblockdev $syspart)"
- if sysconf_valid
- then
- # Read the defined part of $syspart into /etc/default/sysconf.
- # $syspart has lines of two forms:
- #
- # [section]
- # name=value
- #
- # In practice $syspart 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
- # on NSLU2 defaults to ixp0, is changed to the correct value for
- # slugos, eth0. The bootproto, which LinkSys sets to static in
- # manufacturing, is reset to dhcp if the IP is still the
- # original (192.168.1.77)
- sedcmd='/^\[[^][]*\]$/p;'
- # only do the ip_addr and lan_interface fixups on NSLU2
- if test "$(machine)" = nslu2
- then
- sedcmd="$sedcmd"'
- s/^lan_interface=ixp0$/lan_interface=eth0/;
- /^ip_addr=192\.168\.1\.77$/,/^bootproto/s/^bootproto=static$/bootproto=dhcp/;'
- fi
- # always fix up the hardware addr if it is present
- mac="$(config mac)"
- if test -n "$mac"
- then
- sedcmd="$sedcmd"'
- s/^hw_addr=.*$/hw_addr='"$mac"'/;'
- fi
- # and only print lines of the correct form
- sedcmd="$sedcmd"'
- /^[-a-zA-Z0-9_][-a-zA-Z0-9_]*=/p'
-
- devio "<<$sysdev" cpb fb1,10 | sed -n "$sedcmd" >/tmp/sysconf.new
- fi
- #
- # test the result - sysconf must be non-empty
- if test -s /tmp/sysconf.new
- then
- mv /tmp/sysconf.new "$config_root/etc/default/sysconf"
- else
- rm -f /tmp/sysconf.new
- return 1
- fi
-}
-
-#
-# sysconf_default [prefix]
-# Provde a default /etc/default/sysconf when there is no $syspart partition,
-# or when it is invalid, this function will read from an existing sysconf,
-# copying the values into the new one.
-# sysconf_line tag config-tag
-# write an appropriate line if the config value is non-empty
-sysconf_line(){
- config "$2" | {
- local value
- read value
- test -n "$value" && echo "$1"="$value"
- }
-}
-#
-sysconf_default(){
- local config_root
- config_root="$1"
- { echo '[network]'
- sysconf_line hw_addr mac
- sysconf_line disk_server_name host
- sysconf_line w_d_name domain
- sysconf_line lan_interface iface
- sysconf_line ip_addr ip
- sysconf_line netmask netmask
- sysconf_line gateway gateway
- sysconf_line dns_server1 dns
- sysconf_line dns_server2 dns2
- sysconf_line dns_server3 dns3
- sysconf_line bootproto boot
- } >/tmp/sysconf.new
- mv /tmp/sysconf.new "$config_root/etc/default/sysconf"
-}
-
-#
-# sysconf_reload [prefix]
-# read the values from /etc/default/sysconf and use these values to set
-# up the following system files:
-#
-# /etc/hostname
-# /etc/defaultdomain
-# /etc/resolv.conf
-# /etc/network/interfaces
-# /etc/motd
-#
-sysconf_reload(){
- local config_root host domain iface boot ip netmask gateway ifname iftype
- config_root="$1"
- host="$(config host)"
- test -n "$host" && echo "$host" >"$config_root/etc/hostname"
- domain="$(config domain)"
- test -n "$domain" && echo "$domain" >"$config_root/etc/defaultdomain"
- #
- # The DNS server information gives up to three nameservers,
- # but this currently only binds in the first.
- {
- test -n "$domain" && echo "search $domain"
- test -n "$(config dns)" && echo "nameserver $(config dns)"
- test -n "$(config dns2)" && echo "nameserver $(config dns2)"
- test -n "$(config dns3)" && echo "nameserver $(config dns3)"
- } >"$config_root/etc/resolv.conf"
- #
- # 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 slugos udhcp script,
- # /etc/udhcpc.d/50default, loads the values from sysconf.
- iface="$(config iface)"
- 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
- #
- 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 interface used by default during boot"
- echo "auto $iface"
- echo "# Automatically generated from /etc/default/sysconf"
- echo "# address, netmask and gateway are ignored for 'dhcp'"
- echo "# but required for 'static'"
- echo "iface $iface inet $boot"
- # 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"
- #
- # Now read all the other ARPHRD_ETHER (type=1) interfaces
- # and add an entry for each.
- for ifname in $(test -d /sys/class/net && ls /sys/class/net)
- do
- if test -r "/sys/class/net/$ifname/type" -a "$ifname" != "$iface"
- then
- read iftype <"/sys/class/net/$ifname/type"
- case "$iftype" in
- 1) echo "#"
- echo "# /sys/class/net/$ifname:"
- echo "auto $ifname"
- echo "iface $ifname inet dhcp";;
- esac
- fi
- done
- } >"$config_root/etc/network/interfaces"
- #
- # Finally rewrite /etc/motd
- { echo "Host name: $host"
- echo "Domain name: $domain"
- echo "Host MAC: $(config mac)"
- echo "Network boot method: $boot"
- case "$boot" in
- static) echo "Host IP address: $ip";;
- esac
- echo "Use 'turnup init' to reset the configuration"
- echo "Use 'turnup preserve' to save the configuration permanently"
- echo "Use 'turnup restore' to restore a previously saved configuration"
- echo "Use 'turnup disk|nfs -i <device> options to initialise a non-flash root"
- echo "Use 'turnup help' for more information"
- } >"$config_root/etc/motd"
-}
-
-#
-# sysconf_save_conffiles <flash-directory> <dest> <list>
-# preserve the configuration files in a directory or in a CPIO archive
-# (which is *not* compressed). If <dest> is a directory the files are
-# copied, otherwise a CPIO archive is made with that name. <list> is
-# the listing file giving the preserved files and the processing option.
-sysconf_save_conffiles(){
- local ffsdir dest list file
- ffsdir="$1"
- saved="$2"
- list="$3"
- test -n "$ffsdir" -a -r "$ffsdir/etc/default/conffiles" -a -n "$saved" -a -n "$list" || {
- echo "sysconf_save_conffiles: invalid arguments: '$*'" >&2
- echo " usage sysconf_save_conffiles <flash-directory> <dest> <list>" >&2
- return 1
- }
- #
- ( cd "$ffsdir"
- find etc/*.conf $(sed 's!^/!!' usr/lib/ipkg/info/*.conffiles) ! -type d -newer etc/.configured -print |
- sed 's/^/diff /'
- exec sed 's/#.*$//;/^[ ]*$/d' etc/default/conffiles
- ) | sed 's!^/*!!' |
- awk '{ op=$1; $1=""; file[$0]=op }
- END{ for (f in file) if (file[f] != "ignore") print file[f] f }' |
- while read op file
- do
- if test -e "$ffsdir/$file"
- then
- echo "$op $file" >&3
- echo "$file"
- fi
- done 3>"$list" | (
- cd "$ffsdir"
- if test -d "$saved"
- then
- exec cpio -p -d -m -u "$saved"
- else
- exec cpio -o -H crc >"$saved"
- fi
- )
-}
-
-#
-# sysconf_verify file
-# this is called with the name of a 'diff' file which is, indeed,
-# different and with all the std streams connected to the tty. It
-# returns a status code to say whether (0) or not (1) to copy the
-# file over.
-#
-# globals: the following must be defined in the calling context!
-# saved: the directory containing the unpacked saved files
-# ffsdir: the flash directory to which the files are being restored (/)
-#
-sysconf_verify_help() {
- echo "Please specify how to handle this file or link, the options are as follows,"
- echo "two character abbreviations may be used:"
- echo
- echo " keep: retain the old file, overwrite the new flash image file"
- echo " upgrade: retain the new file, the old (saved) file is not used"
- echo " diff: display the differences between the old and the new using diff -u"
- echo " shell: temporarily start an interactive shell (sh -i), exit to continue"
- echo " skip: ignore this file for the moment. The file is left in the directory"
- echo " $saved and many be handled after this script has completed"
-}
-#
-sysconf_verify() {
- local command file
-
- # return 1 here causes the file not to be overwritten,
- # control should never get here!
- test -n "$sysconf_noninteractive" && {
- echo "$0: $*: changed file cannot be handled non-interactively" >&2
- return 1
- }
-
- file="$1"
- echo "$0: $file: configuration file changed."
- sysconf_verify_help "$file"
- while :
- do
- echo -n "option: "
- read command
- case "$command" in
- ke*) return 0;;
- up*) rm "$saved/$file"
- return 1;;
- di*) echo "DIFF OLD($saved) NEW($ffsdir)"
- diff -u "$saved/$file" "$ffsdir/$file";;
- sh*) PS1="$file: " sh -i;;
- sk*) return 1;;
- *) sysconf_verify_help "$file";;
- esac
- done
-}
-# the same, but for a link
-sysconf_verify_link() {
- local command link
-
- # return 1 here causes the file not to be overwritten,
- # control should never get here!
- test -n "$sysconf_noninteractive" && {
- echo "$0: $*: changed link cannot be handled non-interactively" >&2
- return 1
- }
-
- link="$1"
- echo "reflash: $link: configuration link changed."
- sysconf_verify_help "$link"
- while :
- do
- echo -n "option: "
- read command
- case "$command" in
- ke*) return 0;;
- up*) rm "$saved/$link"
- return 1;;
- di*) echo "DIFF:"
- echo "OLD($saved): $link -> $(readlink "$saved/$link")"
- echo "NEW($ffsdir): $link -> $(readlink "$ffsdir/$link")";;
- sh*) PS1="$link: " sh -i;;
- sk*) return 1;;
- *) sysconf_verify_help "$link";;
- esac
- done
-}
-
-#
-# sysconf_restore_conffiles <flash-directory> <sou