#!/bin/sh # bring up the network before boot, used to allow # netconsole logging and NFS boot. This runs out # of flash, but that's ok because the script doesn't # leave any process running. # NOTE: /etc/default/functions defines ifup as a shell # function! . /etc/default/functions # We may need to load the network driver modules here . /etc/default/modulefunctions loadnetmods # Now all the information for booting should be in the configuration # file. Config the loopback and network interfaces. ifconfig lo 127.0.0.1 up iface="$(config iface)" test -z "$iface" && exit 1 # Fire up a process in the background to load the firmware if necessary. # If this system doesn't require the NPE-B firmware, no problem, the # background process will simply go away in two seconds. If it requires # some other firmware, then modification will be required. We probably # should replace this with mdev or some other hotplug-based technique... sysf="/sys/class/firmware/$iface" ( # Wait for the firware to be requested, if required [ -f $sysf/loading ] || sleep 1 [ -f $sysf/loading ] || sleep 1 if [ -f $sysf/loading ] ; then echo "1" >$sysf/loading cat /lib/firmware/NPE-B >$sysf/data echo "0" >$sysf/loading fi ) & # Trigger the firmware load proactively ifconfig "$iface" up ifup "$iface" # exit code is true only if the interface config has succeeded