diff options
Diffstat (limited to 'package/base-files')
-rw-r--r-- | package/base-files/Config.in | 16 | ||||
-rw-r--r-- | package/base-files/Config.in.manual | 10 | ||||
-rw-r--r-- | package/base-files/Makefile | 35 | ||||
-rw-r--r-- | package/base-files/files/base-files.conffiles | 1 | ||||
-rw-r--r-- | package/base-files/src/etc/banner (renamed from package/base-files/extra/etc/banner) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/functions.sh (renamed from package/base-files/extra/etc/functions.sh) | 4 | ||||
-rw-r--r-- | package/base-files/src/etc/group (renamed from package/base-files/extra/etc/group) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/hosts (renamed from package/base-files/extra/etc/hosts) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/init.d/boot (renamed from package/base-files/extra/etc/init.d/boot) | 2 | ||||
-rw-r--r-- | package/base-files/src/etc/init.d/done (renamed from package/base-files/extra/etc/init.d/done) | 0 | ||||
-rwxr-xr-x | package/base-files/src/etc/init.d/rcK (renamed from package/base-files/extra/etc/init.d/rcK) | 0 | ||||
-rwxr-xr-x | package/base-files/src/etc/init.d/rcS (renamed from package/base-files/extra/etc/init.d/rcS) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/inittab (renamed from package/base-files/extra/etc/inittab) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/ipkg.conf (renamed from package/base-files/extra/etc/ipkg.conf) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/mdev.conf (renamed from package/base-files/extra/etc/mdev.conf) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/modules (renamed from package/base-files/extra/etc/modules) | 0 | ||||
-rwxr-xr-x | package/base-files/src/etc/network/if-post-down.d/01-bridge | 26 | ||||
-rwxr-xr-x | package/base-files/src/etc/network/if-post-down.d/02-vlan | 10 | ||||
-rwxr-xr-x | package/base-files/src/etc/network/if-post-down.d/03-wireless | 21 | ||||
-rwxr-xr-x | package/base-files/src/etc/network/if-pre-up.d/01-atm | 41 | ||||
-rwxr-xr-x | package/base-files/src/etc/network/if-pre-up.d/02-vlan | 36 | ||||
-rwxr-xr-x | package/base-files/src/etc/network/if-pre-up.d/03-bridge | 29 | ||||
-rwxr-xr-x | package/base-files/src/etc/network/if-pre-up.d/04-wireless | 104 | ||||
-rwxr-xr-x | package/base-files/src/etc/network/if-up.d/01-bridge | 4 | ||||
-rwxr-xr-x | package/base-files/src/etc/network/if-up.d/02-wireless | 15 | ||||
-rw-r--r-- | package/base-files/src/etc/network/interfaces (renamed from package/base-files/extra/etc/network/interfaces) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/passwd (renamed from package/base-files/extra/etc/passwd) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/profile (renamed from package/base-files/extra/etc/profile) | 6 | ||||
-rw-r--r-- | package/base-files/src/etc/protocols (renamed from package/base-files/extra/etc/protocols) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/rc.conf (renamed from package/base-files/extra/etc/rc.conf) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/shadow (renamed from package/base-files/extra/etc/shadow) | 0 | ||||
-rw-r--r-- | package/base-files/src/etc/sysctl.conf (renamed from package/base-files/extra/etc/sysctl.conf) | 0 | ||||
-rwxr-xr-x | package/base-files/src/init (renamed from package/base-files/extra/init) | 5 | ||||
-rw-r--r-- | package/base-files/src/lib/mdev/init (renamed from package/base-files/extra/lib/mdev/init) | 5 | ||||
-rwxr-xr-x | package/base-files/src/sbin/adkupdate | 96 | ||||
-rwxr-xr-x | package/base-files/src/usr/share/udhcpc/default.script (renamed from package/base-files/extra/usr/share/udhcpc/default.script) | 0 |
36 files changed, 425 insertions, 41 deletions
diff --git a/package/base-files/Config.in b/package/base-files/Config.in deleted file mode 100644 index f58cbd63c..000000000 --- a/package/base-files/Config.in +++ /dev/null @@ -1,16 +0,0 @@ -config ADK_PACKAGE_BASE_FILES - prompt "base-files........................... basic filesystem layout" - bool - default y if !ADK_TOOLCHAIN_ONLY - help - Basic filesystem layout. - -config ADK_PACKAGE_CONFIG_IN_ETC - prompt ".config in /etc...................... include gzipped version of .config in image" - bool - default y if !ADK_TOOLCHAIN_ONLY - help - Copy the configuration file (.config) to the image. The - file will be found in /etc/adkconfig.gz. This takes about - 7kBytes of file system space. From this file you can always rebuild - the image from source. diff --git a/package/base-files/Config.in.manual b/package/base-files/Config.in.manual new file mode 100644 index 000000000..d750ff3ef --- /dev/null +++ b/package/base-files/Config.in.manual @@ -0,0 +1,10 @@ +config ADK_PACKAGE_CONFIG_IN_ETC + prompt ".config in /etc.................. include buildsystem configuration in image" + bool + depends on ADK_PACKAGE_BASE_FILES + default y if !ADK_TOOLCHAIN_ONLY + help + Copy the configuration file (.config) to the image. The + file will be found in /etc/adkconfig.gz. This takes about + 7kBytes of file system space. From this file you can always rebuild + the image from source. diff --git a/package/base-files/Makefile b/package/base-files/Makefile index 52130bf10..3f63df3e6 100644 --- a/package/base-files/Makefile +++ b/package/base-files/Makefile @@ -6,28 +6,37 @@ include $(TOPDIR)/mk/rootfs.mk PKG_NAME:= base-files PKG_VERSION:= 1.0 -PKG_RELEASE:= 6 +PKG_RELEASE:= 10 PKG_DESCR:= basic filesystem structure and scripts PKG_SECTION:= base WRKDIST= ${WRKDIR}/base-files NO_DISTFILES:= 1 -ifeq ($(CPU_ARCH),x86_64) -PKG_ID= x86-64-${FS} -else -PKG_ID= ${DEVICE}-${FS} -endif -WRKDIR= ${WRKDIR_BASE}/w-${PKG_NAME}-${PKG_VERSION}-${PKG_RELEASE}-${PKG_ID} include $(TOPDIR)/mk/package.mk -$(eval $(call PKG_template,BASE_FILES,base-files-${PKG_ID},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) +$(eval $(call PKG_template,BASE_FILES,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION})) + +PKGDFLT_BASE_FILES= y if !ADK_TOOLCHAIN_ONLY +CFLINE_BASE_FILES:= depends on !ADK_TOOLCHAIN_ONLY + +CONFIG_STYLE:= manual +BUILD_STYLE:= manual +INSTALL_STYLE:= manual do-install: - $(CP) ./extra/* $(IDIR_BASE_FILES) - $(CP) $(TOPDIR)/target/$(DEVICE)/files/* $(IDIR_BASE_FILES) - $(SED) 's,@TARGET@,$(DEVICE),g' $(IDIR_BASE_FILES)/etc/ipkg.conf + $(CP) ./src/* $(IDIR_BASE_FILES) + # allow this to fail, as there might be no target-specific files to copy + -$(CP) $(TOPDIR)/target/$(ADK_TARGET)/files/* $(IDIR_BASE_FILES) +ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y) + @-rm $(IDIR_BASE_FILES)/etc/network/interfaces +endif +ifeq (${ADK_TARGET_PACKAGE_IPKG},y) + $(SED) 's,@TARGET@,$(ADK_TARGET),g' $(IDIR_BASE_FILES)/etc/ipkg.conf $(SED) 's,@VERSION@,$(ADK_VERSION),g' $(IDIR_BASE_FILES)/etc/ipkg.conf +else + @-rm $(IDIR_BASE_FILES)/etc/ipkg.conf +endif echo /bin/sh >${IDIR_BASE_FILES}/etc/shells echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells ifneq (${ADK_PACKAGE_BASH},) @@ -44,6 +53,10 @@ endif mkdir -p $(IDIR_BASE_FILES)/root mkdir -p $(IDIR_BASE_FILES)/sys mkdir -p $(IDIR_BASE_FILES)/etc/crontabs + mkdir -p $(IDIR_BASE_FILES)/etc/network/if-pre-up.d + mkdir -p $(IDIR_BASE_FILES)/etc/network/if-up.d + mkdir -p $(IDIR_BASE_FILES)/etc/network/if-down.d + mkdir -p $(IDIR_BASE_FILES)/etc/network/if-post-down.d mkdir -p $(IDIR_BASE_FILES)/mnt mkdir -p $(IDIR_BASE_FILES)/proc mkdir -p $(IDIR_BASE_FILES)/tmp diff --git a/package/base-files/files/base-files.conffiles b/package/base-files/files/base-files.conffiles index 2495e2ee4..b2f9597a8 100644 --- a/package/base-files/files/base-files.conffiles +++ b/package/base-files/files/base-files.conffiles @@ -7,7 +7,6 @@ /etc/profile /etc/protocols /etc/sysctl.conf -/etc/network/interfaces /etc/rc.conf /etc/sysctl.conf /etc/shadow diff --git a/package/base-files/extra/etc/banner b/package/base-files/src/etc/banner index 49dbb9685..49dbb9685 100644 --- a/package/base-files/extra/etc/banner +++ b/package/base-files/src/etc/banner diff --git a/package/base-files/extra/etc/functions.sh b/package/base-files/src/etc/functions.sh index 6563c1d0e..5d76f4843 100644 --- a/package/base-files/extra/etc/functions.sh +++ b/package/base-files/src/etc/functions.sh @@ -64,7 +64,7 @@ get_next_uid() { uid=1 while grep "^[^:]*:[^:]*:$uid:" $IPKG_INSTROOT/etc/passwd \ >/dev/null 2>&1; do - let uid++ + uid=$(($uid+1)) done echo $uid } @@ -73,7 +73,7 @@ get_next_gid() { gid=1 while grep "^[^:]*:[^:]*:$gid:" $IPKG_INSTROOT/etc/group \ >/dev/null 2>&1; do - let gid++ + gid=$(($gid+1)) done echo $gid } diff --git a/package/base-files/extra/etc/group b/package/base-files/src/etc/group index c4e77f316..c4e77f316 100644 --- a/package/base-files/extra/etc/group +++ b/package/base-files/src/etc/group diff --git a/package/base-files/extra/etc/hosts b/package/base-files/src/etc/hosts index 87d837fc7..87d837fc7 100644 --- a/package/base-files/extra/etc/hosts +++ b/package/base-files/src/etc/hosts diff --git a/package/base-files/extra/etc/init.d/boot b/package/base-files/src/etc/init.d/boot index f71e46240..2ef6538e0 100644 --- a/package/base-files/extra/etc/init.d/boot +++ b/package/base-files/src/etc/init.d/boot @@ -24,4 +24,6 @@ for f in /etc/modules.d/*; do [[ -e $f ]] && load_modules /etc/modules.d/* break done +# settle down, after module load +sleep 2 exit 0 diff --git a/package/base-files/extra/etc/init.d/done b/package/base-files/src/etc/init.d/done index e5b655bb6..e5b655bb6 100644 --- a/package/base-files/extra/etc/init.d/done +++ b/package/base-files/src/etc/init.d/done diff --git a/package/base-files/extra/etc/init.d/rcK b/package/base-files/src/etc/init.d/rcK index e94d1a296..e94d1a296 100755 --- a/package/base-files/extra/etc/init.d/rcK +++ b/package/base-files/src/etc/init.d/rcK diff --git a/package/base-files/extra/etc/init.d/rcS b/package/base-files/src/etc/init.d/rcS index fd56feebf..fd56feebf 100755 --- a/package/base-files/extra/etc/init.d/rcS +++ b/package/base-files/src/etc/init.d/rcS diff --git a/package/base-files/extra/etc/inittab b/package/base-files/src/etc/inittab index 960ea77d8..960ea77d8 100644 --- a/package/base-files/extra/etc/inittab +++ b/package/base-files/src/etc/inittab diff --git a/package/base-files/extra/etc/ipkg.conf b/package/base-files/src/etc/ipkg.conf index 6c9242620..6c9242620 100644 --- a/package/base-files/extra/etc/ipkg.conf +++ b/package/base-files/src/etc/ipkg.conf diff --git a/package/base-files/extra/etc/mdev.conf b/package/base-files/src/etc/mdev.conf index 99c910d0b..99c910d0b 100644 --- a/package/base-files/extra/etc/mdev.conf +++ b/package/base-files/src/etc/mdev.conf diff --git a/package/base-files/extra/etc/modules b/package/base-files/src/etc/modules index 014f40f2b..014f40f2b 100644 --- a/package/base-files/extra/etc/modules +++ b/package/base-files/src/etc/modules diff --git a/package/base-files/src/etc/network/if-post-down.d/01-bridge b/package/base-files/src/etc/network/if-post-down.d/01-bridge new file mode 100755 index 000000000..47f3c976b --- /dev/null +++ b/package/base-files/src/etc/network/if-post-down.d/01-bridge @@ -0,0 +1,26 @@ +#!/bin/sh + +if [ ! -x /usr/sbin/brctl ] +then + exit 0 +fi + +case "$IF_BRIDGE_PORTS" in + "") + exit 0 + ;; + none) + INTERFACES="" + ;; + *) + INTERFACES="$IF_BRIDGE_PORTS" + ;; +esac + +for IF in $INTERFACES; do + ip link set down dev $IF && brctl delif $IFACE $IF +done + +ip link set down dev $IFACE || exit 1 +brctl delbr $IFACE +exit 0 diff --git a/package/base-files/src/etc/network/if-post-down.d/02-vlan b/package/base-files/src/etc/network/if-post-down.d/02-vlan new file mode 100755 index 000000000..e448a7641 --- /dev/null +++ b/package/base-files/src/etc/network/if-post-down.d/02-vlan @@ -0,0 +1,10 @@ +#!/bin/sh + +[ -x /sbin/vconfig ] || exit 0 + +[ -e /proc/net/vlan/$IFACE ] && ( + ip link set down dev $IFACE + vconfig rem $IFACE +) + +exit 0 diff --git a/package/base-files/src/etc/network/if-post-down.d/03-wireless b/package/base-files/src/etc/network/if-post-down.d/03-wireless new file mode 100755 index 000000000..86e0c73e1 --- /dev/null +++ b/package/base-files/src/etc/network/if-post-down.d/03-wireless @@ -0,0 +1,21 @@ +#!/bin/sh +set -e + +[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0 + +case "$IF_WIRELESS_MODE" in + ap) + logger -t hostap "Killing hostapd" + pkill hostapd + ;; + sta) + [ "$IF_WIRELESS_SECURITY" != "none" ] && { + logger -t wireless "Killing wpa_supplicant" + pkill wpa_supplicant + } + ;; + *) + exit 0 + ;; +esac +exit 0 diff --git a/package/base-files/src/etc/network/if-pre-up.d/01-atm b/package/base-files/src/etc/network/if-pre-up.d/01-atm new file mode 100755 index 000000000..5c168c001 --- /dev/null +++ b/package/base-files/src/etc/network/if-pre-up.d/01-atm @@ -0,0 +1,41 @@ +#!/bin/sh + +[ -x /usr/sbin/br2684ctl ] || exit 0 + +[ "${IFACE%%[0-9]*}" = "nas" ] || exit 0 + +[ "$IF_ATM_ENCAPS" ] || encap=0 +[ "$IF_ATM_PAYLOAD" ] || payload=1 +[ "$IF_ATM_VPI" ] || IF_ATM_VPI=1 +[ "$IF_ATM_VCI" ] || IF_ATM_VCI=32 + +[ "$IF_ATM_PAYLOAD" ] && case "$IF_ATM_PAYLOAD" in +bridged) + payload=1 + ;; +routed) + payload=0 + ;; +*) + echo "Wrong payload, use either bridged or routed" + exit 1 + ;; +esac + +[ "$IF_ATM_ENCAPS" ] && case "$IF_ATM_ENCAPS" in +llc) + encap=0 + ;; +vc) + encap=1 + ;; +*) + echo "Wrong Encapsulation use either llc or vc" + exit 1 + ;; +esac + +br2684ctl -b -c ${IFACE##*[a-z]} -e $encap -p $payload -a $IF_ATM_VPI.$IF_ATM_VCI +ifconfig nas${IFACE##*[a-z]} up + +exit 0 diff --git a/package/base-files/src/etc/network/if-pre-up.d/02-vlan b/package/base-files/src/etc/network/if-pre-up.d/02-vlan new file mode 100755 index 000000000..35b7fca59 --- /dev/null +++ b/package/base-files/src/etc/network/if-pre-up.d/02-vlan @@ -0,0 +1,36 @@ +#!/bin/sh + +[ -x /sbin/vconfig ] || exit 0 +[ -d /proc/net/vlan ] || exit 0 + +case "$IFACE" in + vlan*) + vconfig set_name_type VLAN_PLUS_VID_NO_PAD + VLANID=`echo $IFACE|sed "s/vlan*//"` + ;; + eth*.*) + vconfig set_name_type DEV_PLUS_VID_NO_PAD + VLANID=`echo $IFACE|sed "s/eth[0-9][0-9]*\.*//g"` + IF_VLAN_RAW_DEVICE=`echo $IFACE|sed "s/\(eth[0-9][0-9]*\)\..*/\1/"` + ;; + *) + exit 0 + ;; +esac + +if [ "$IF_VLAN_RAW_DEVICE" != "" ]; then + if ! grep -q "$IF_VLAN_RAW_DEVICE" /proc/net/dev + then + echo "$IF_VLAN_RAW_DEVICE does not exist, unable to create $IFACE" + exit 1 + fi + ip link set up dev $IF_VLAN_RAW_DEVICE + vconfig add $IF_VLAN_RAW_DEVICE $VLANID + if [ "$IF_MAC_ADDRESS" != "" ] + then + ip link set $IF_VLAN_RAW_DEVICE.$VLANID address $IF_MAC_ADDRESS + fi + ip link set up dev $IF_VLAN_RAW_DEVICE.$VLANID +fi + +exit 0 diff --git a/package/base-files/src/etc/network/if-pre-up.d/03-bridge b/package/base-files/src/etc/network/if-pre-up.d/03-bridge new file mode 100755 index 000000000..41ddb2b58 --- /dev/null +++ b/package/base-files/src/etc/network/if-pre-up.d/03-bridge @@ -0,0 +1,29 @@ +#!/bin/sh + +[ -x /usr/sbin/brctl ] || exit 0 + +case "$IF_BRIDGE_PORTS" in + "") + exit 0 + ;; + none) + INTERFACES="" + ;; + *) + INTERFACES="$IF_BRIDGE_PORTS" + ;; +esac + +brctl addbr $IFACE || exit 1 + +for IF in $INTERFACES; do + if ! grep -q $IF /proc/net/dev; then + echo "Error: interface '$IF' does not exist!" + brctl delbr $IFACE + exit 1 + fi + brctl addif $IFACE $IF + ip link set up dev $IF +done + +exit 0 diff --git a/package/base-files/src/etc/network/if-pre-up.d/04-wireless b/package/base-files/src/etc/network/if-pre-up.d/04-wireless new file mode 100755 index 000000000..1898de4d4 --- /dev/null +++ b/package/base-files/src/etc/network/if-pre-up.d/04-wireless @@ -0,0 +1,104 @@ +#!/bin/sh +#set -x +set -e + +[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0 + +[ "$IF_WIRELESS_SSID" ] || exit 1 +[ "$IF_WIRELESS_CHANNEL" ] || exit 1 +[ "$IF_WIRELESS_HWMODE" ] || IF_WIRELESS_HWMODE=g + +wpa=0 +wpa1=0 +wpa2=0 + +case "$IF_WIRELESS_SECURITY" in + none) + sec=1 + ;; + wep) + sec=2 + ;; + wpa) + sec=1 + wpa1=1 + ;; + wpa2) + sec=1 + wpa2=1 + ;; + wpa+wpa2) + sec=1 + wpa=1 + ;; + *) + sec=1 + ;; +esac + +case "$IF_WIRELESS_MODE" in + ap) + logger -t hostap "Creating hostapd configuration" + cat /etc/hostapd.conf > /tmp/hostapd.conf + chmod 600 /tmp/hostapd.conf + echo "interface=${IFACE}" >> /tmp/hostapd.conf + echo "ssid=$IF_WIRELESS_SSID" >> /tmp/hostapd.conf + echo "channel=$IF_WIRELESS_CHANNEL" >> /tmp/hostapd.conf + echo "hw_mode=$IF_WIRELESS_HWMODE" >> /tmp/hostapd.conf + echo "auth_algs=$sec" >> /tmp/hostapd.conf + [ $wpa -eq 0 ] && { + logger -t hostap "using no security mechanism" + echo "wpa=0" >> /tmp/hostapd.conf + } + [ $wpa1 -eq 1 ] && { + logger -t hostap "using WPA for security" + echo "wpa=1" >> /tmp/hostapd.conf + echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf + echo "wpa_pairwise=TKIP" >> /tmp/hostapd.conf + echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf + } + [ $wpa2 -eq 1 ] && { + logger -t hostap "using WPA2 for security" + echo "wpa=2" >> /tmp/hostapd.conf + echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf + echo "rsn_pairwise=CCMP" >> /tmp/hostapd.conf + echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf + } + [ $wpa -eq 1 ] && { + logger -t hostap "using WPA and WPA2 for security" + echo "wpa=3" >> /tmp/hostapd.conf + echo "wpa_key_mgmt=WPA-PSK" >> /tmp/hostapd.conf + echo "wpa_pairwise=TKIP" >> /tmp/hostapd.conf + echo "rsn_pairwise=CCMP" >> /tmp/hostapd.conf + echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf + } + ;; + sta) + [ -x /usr/sbin/iw ] || { + logger -t wireless "No iw utility found" + exit 1 + } + ip link set up dev ${IFACE} + iw dev ${IFACE} set channel $IF_WIRELESS_CHANNEL + iw dev ${IFACE} connect $IF_WIRELESS_SSID + [ $wpa2 -eq 1 ] && { + [ -x /usr/sbin/wpa_supplicant ] || { + logger -t wireless "No wpa_supplicant found" + exit 1 + } + touch /tmp/wpa_supplicant.conf + chmod 600 /tmp/wpa_supplicant.conf + echo "network={" > /tmp/wpa_supplicant.conf + echo " ssid=\"$IF_WIRELESS_SSID\"" >> /tmp/wpa_supplicant.conf + echo " psk=\"$IF_WIRELESS_PASSPHRASE\"" >> /tmp/wpa_supplicant.conf + echo " priority=5" >> /tmp/wpa_supplicant.conf + echo "}" >> /tmp/wpa_supplicant.conf + wpa_supplicant -B -Dnl80211 -i${IFACE} -c/tmp/wpa_supplicant.conf + } + ;; + *) + echo "Unknown operation mode $IF_WIRELESS_MODE given!" + exit 1 + ;; +esac +exit 0 diff --git a/package/base-files/src/etc/network/if-up.d/01-bridge b/package/base-files/src/etc/network/if-up.d/01-bridge new file mode 100755 index 000000000..e5962f12f --- /dev/null +++ b/package/base-files/src/etc/network/if-up.d/01-bridge @@ -0,0 +1,4 @@ +#!/bin/sh + +[ "${IFACE%%[0-9]*}" = "br" ] && ip link set up dev $IFACE +exit 0 diff --git a/package/base-files/src/etc/network/if-up.d/02-wireless b/package/base-files/src/etc/network/if-up.d/02-wireless new file mode 100755 index 000000000..cd9d2af3f --- /dev/null +++ b/package/base-files/src/etc/network/if-up.d/02-wireless @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0 + +case "$IF_WIRELESS_MODE" in + ap) + [ -x /usr/sbin/hostapd ] || { + logger -t hostap "No hostapd program found" + exit 1 + } + logger -t hostap "Starting hostapd" + hostapd -B /tmp/hostapd.conf + ;; +esac diff --git a/package/base-files/extra/etc/network/interfaces b/package/base-files/src/etc/network/interfaces index f1bd92ed2..f1bd92ed2 100644 --- a/package/base-files/extra/etc/network/interfaces +++ b/package/base-files/src/etc/network/interfaces diff --git a/package/base-files/extra/etc/passwd b/package/base-files/src/etc/passwd index 32531eb92..32531eb92 100644 --- a/package/base-files/extra/etc/passwd +++ b/package/base-files/src/etc/passwd diff --git a/package/base-files/extra/etc/profile b/package/base-files/src/etc/profile index 798548a46..1b8f4a6a6 100644 --- a/package/base-files/extra/etc/profile +++ b/package/base-files/src/etc/profile @@ -1,12 +1,12 @@ export PATH=/bin:/sbin:/usr/bin:/usr/sbin +export TERM=vt220 if [[ $(id -u) = 0 ]]; then export PS1='# ' else export PS1='$ ' + export HOME=/tmp fi -export HOME=/tmp cat /etc/banner 2>&- -[ -x /usr/bin/less ] || alias less=more -[ -x /usr/bin/vim ] || alias vim=vi +[ -x /usr/bin/vim ] && alias vi=vim || alias vim=vi [ -x /usr/bin/arp ] || arp() { cat /proc/net/arp; } [ -x /usr/bin/ldd ] || ldd() { LD_TRACE_LOADED_OBJECTS=1 "$@"; } diff --git a/package/base-files/extra/etc/protocols b/package/base-files/src/etc/protocols index dfe58ed22..dfe58ed22 100644 --- a/package/base-files/extra/etc/protocols +++ b/package/base-files/src/etc/protocols diff --git a/package/base-files/extra/etc/rc.conf b/package/base-files/src/etc/rc.conf index 024007589..024007589 100644 --- a/package/base-files/extra/etc/rc.conf +++ b/package/base-files/src/etc/rc.conf diff --git a/package/base-files/extra/etc/shadow b/package/base-files/src/etc/shadow index 3683d71ea..3683d71ea 100644 --- a/package/base-files/extra/etc/shadow +++ b/package/base-files/src/etc/shadow diff --git a/package/base-files/extra/etc/sysctl.conf b/package/base-files/src/etc/sysctl.conf index 73260cf9d..73260cf9d 100644 --- a/package/base-files/extra/etc/sysctl.conf +++ b/package/base-files/src/etc/sysctl.conf diff --git a/package/base-files/extra/init b/package/base-files/src/init index 9013065d0..618547693 100755 --- a/package/base-files/extra/init +++ b/package/base-files/src/init @@ -1,5 +1,5 @@ #!/bin/sh -echo "Pre-boot initializing" +echo "System initialization ..." export PATH=/bin:/sbin:/usr/bin:/usr/sbin mount -nt proc proc /proc mount -o nosuid,nodev,noexec -t sysfs sysfs /sys @@ -8,7 +8,7 @@ mount -o nosuid,nodev,noexec -t sysfs sysfs /sys mount none /tmp -t tmpfs -o size=${size}k mount none /tmp -t tmpfs -o remount,nosuid,nodev,mode=1777 } -mount -o nosuid,size=64k,mode=0755 -t tmpfs mdev /dev +mount -o nosuid,size=128k,mode=0755 -t tmpfs mdev /dev mkdir /dev/pts /dev/shm mount -o nosuid,noexec -t devpts devpts /dev/pts exec 0<>/dev/console >&0 2>&0 @@ -19,5 +19,4 @@ mount -o remount,rw / cat /etc/.rnd >/dev/urandom 2>&1 [ -f /etc/fstab ] && mount -a [ -x /sbin/cfgfs ] && { cfgfs setup; mount -o remount,ro /;} -echo "Starting system" exec /sbin/init diff --git a/package/base-files/extra/lib/mdev/init b/package/base-files/src/lib/mdev/init index d2ae13e9c..de368c80c 100644 --- a/package/base-files/extra/lib/mdev/init +++ b/package/base-files/src/lib/mdev/init @@ -1,9 +1,4 @@ #!/bin/sh -if [ "$ACTION" == "add" ];then - if [ "$DEVPATH" == "/bus/usb" ];then - mount -t usbfs usbfs /proc/bus/usb - fi -fi if [ "$SUBSYSTEM" == "firmware" ];then logger "Firmware load for $FIRMWARE requested" if [ "$ACTION" == "add" ];then diff --git a/package/base-files/src/sbin/adkupdate b/package/base-files/src/sbin/adkupdate new file mode 100755 index 000000000..1af188b41 --- /dev/null +++ b/package/base-files/src/sbin/adkupdate @@ -0,0 +1,96 @@ +#!/bin/sh + +who=$(id -u) +if [ $who -ne 0 ]; then + echo 'Exit. System update must be run as root.' + exit 1 +fi + +system=$(awk '/system type/ { print $5 }' /proc/cpuinfo 2>/dev/null) + +if [ -x /sbin/mtd ];then + if [ "$system" == "AR7" ];then + updatecmd="dd bs=16 skip=3 | mtd -r write - linux" + else + updatecmd="mtd -r write - linux" + fi +else + updatecmd="gunzip -c | tar -xf -" +fi + + +check_exit() { + if [ $? -ne 0 ];then + echo "Update failed." + exit 1 + fi +} + +prepare() { + cd / + if [ -x /sbin/cfgfs ];then + umount -f /etc + fi + mount -o remount,rw / + if [ "$system" == "RB532" ];then + mount -t yaffs2 /dev/mtdblock0 /boot + elif [ "$system" == "FOXG20" ];then + mount -t vfat /dev/mmcblk0p1 /boot + fi +} + +extract_from_file() { + prepare + cat $1 | eval $updatecmd + check_exit +} + +extract_from_ssh() { + prepare + ssh $1 "cat $2" | eval $updatecmd + check_exit +} + +extract_from_http() { + prepare + wget -O - $1 | eval $updatecmd + check_exit +} + +case $1 in + file://*|/*) + url=$(echo $1|sed -e "s#file://##") + echo "Updating system from $1" + extract_from_file $url + ;; + ssh://*) + host=$(echo $1|sed -e "s#ssh://\(.*\):.*#\1#") + file=$(echo $1|sed -e "s#ssh://.*:\(.*\)#\1#") + echo "Updating system from $1" + extract_from_ssh $host $file + ;; + http://*|ftp://*) + echo "Updating system from $1" + extract_from_http $1 + ;; + *) + echo "No or wrong uri given. exit." + echo "Use one of the following uri:" + echo "http://myserver/myupdate.tar.gz" + echo "ssh://myuser@myserver:/my/path/myupdate.tar.gz" + echo "file:///mypath/myupdate.tar.gz" + exit 1 + ;; +esac + +sync +if [ -x /sbin/cfgfs ];then + mount -o bind /etc /tmp/.cfgfs/root +fi +if [ "$system" == "RB532" ];then + umount -f /boot +elif [ "$system" == "FOXG20" ];then + umount -f /boot +fi + +echo "Update sucessful. You should reboot now." diff --git a/package/base-files/extra/usr/share/udhcpc/default.script b/package/base-files/src/usr/share/udhcpc/default.script index 02e4a7a3c..02e4a7a3c 100755 --- a/package/base-files/extra/usr/share/udhcpc/default.script +++ b/package/base-files/src/usr/share/udhcpc/default.script |