summaryrefslogtreecommitdiff
path: root/package/base-files
diff options
context:
space:
mode:
Diffstat (limited to 'package/base-files')
-rw-r--r--package/base-files/Config.in.manual12
-rw-r--r--package/base-files/Makefile287
-rw-r--r--package/base-files/files/base-files.conffiles2
-rw-r--r--package/base-files/files/fstab14
-rw-r--r--package/base-files/files/init.d/cifs39
-rwxr-xr-xpackage/base-files/files/init.d/done4
-rwxr-xr-xpackage/base-files/files/init.d/fs50
-rwxr-xr-xpackage/base-files/files/init.d/kmod12
-rw-r--r--package/base-files/files/init.d/nfs40
-rwxr-xr-xpackage/base-files/files/init.d/rcK34
-rwxr-xr-xpackage/base-files/files/init.d/rcS84
-rw-r--r--package/base-files/files/inittab.serial2
-rw-r--r--package/base-files/files/inittab.shell1
-rw-r--r--package/base-files/files/inittab.shellvga1
-rw-r--r--package/base-files/files/inittab.sysv11
-rw-r--r--package/base-files/files/inittab.sysvinit4
-rw-r--r--package/base-files/files/interfaces-dhcp (renamed from package/base-files/src/etc/network/interfaces)16
-rw-r--r--package/base-files/files/interfaces-lo2
-rw-r--r--package/base-files/files/ipkg.conf3
-rw-r--r--package/base-files/files/mdev.conf (renamed from package/base-files/src/etc/mdev.conf)12
-rwxr-xr-xpackage/base-files/files/mdev/fs67
-rw-r--r--package/base-files/files/modules (renamed from package/base-files/src/etc/modules)0
-rw-r--r--package/base-files/files/profile (renamed from package/base-files/src/etc/profile)3
-rw-r--r--package/base-files/files/rc.netinfo2
-rw-r--r--package/base-files/files/rcdev.mdev10
-rw-r--r--package/base-files/files/rcdev.udev6
-rw-r--r--package/base-files/src/etc/banner3
-rw-r--r--package/base-files/src/etc/functions.sh10
-rw-r--r--package/base-files/src/etc/group9
-rw-r--r--package/base-files/src/etc/init.d/boot33
-rw-r--r--package/base-files/src/etc/init.d/done4
-rwxr-xr-xpackage/base-files/src/etc/init.d/rcK18
-rwxr-xr-xpackage/base-files/src/etc/init.d/rcS10
-rw-r--r--package/base-files/src/etc/inittab2
-rw-r--r--package/base-files/src/etc/ipkg.conf3
-rwxr-xr-xpackage/base-files/src/etc/network/if-post-down.d/03-wireless5
-rwxr-xr-xpackage/base-files/src/etc/network/if-post-down.d/04-bonding20
-rwxr-xr-xpackage/base-files/src/etc/network/if-pre-up.d/02-vlan10
-rwxr-xr-xpackage/base-files/src/etc/network/if-pre-up.d/04-wireless26
-rwxr-xr-xpackage/base-files/src/etc/network/if-pre-up.d/05-bonding37
-rwxr-xr-xpackage/base-files/src/etc/network/if-up.d/02-wireless1
-rw-r--r--package/base-files/src/etc/passwd2
-rw-r--r--package/base-files/src/etc/rc.shutdown6
-rw-r--r--package/base-files/src/etc/services0
-rwxr-xr-xpackage/base-files/src/init25
-rw-r--r--package/base-files/src/lib/mdev/init42
-rwxr-xr-xpackage/base-files/src/sbin/adkupdate112
-rwxr-xr-xpackage/base-files/src/usr/share/udhcpc/default.script11
48 files changed, 684 insertions, 423 deletions
diff --git a/package/base-files/Config.in.manual b/package/base-files/Config.in.manual
index 68d22bbd2..60ee15445 100644
--- a/package/base-files/Config.in.manual
+++ b/package/base-files/Config.in.manual
@@ -4,19 +4,17 @@ config ADK_COMPILE_BASE_FILES
default n
config ADK_PACKAGE_BASE_FILES
- prompt "base-files............. basic filesystem structure and scripts"
- tristate
+ tristate "base-files.............. basic filesystem structure and scripts"
select ADK_COMPILE_BASE_FILES
- depends on !ADK_TOOLCHAIN_ONLY
- default y if !ADK_TOOLCHAIN_ONLY
+ depends on !ADK_APPLIANCE_TOOLCHAIN
+ default y if !ADK_APPLIANCE_TOOLCHAIN
help
basic filesystem structure and scripts
config ADK_PACKAGE_CONFIG_IN_ETC
- prompt ".config in /etc...... include buildsystem configuration in image"
- bool
+ bool ".config in /etc....... include buildsystem configuration in image"
depends on ADK_PACKAGE_BASE_FILES
- default y if !ADK_TOOLCHAIN_ONLY
+ default y if !ADK_APPLIANCE_TOOLCHAIN
help
Copy the configuration file (.config) to the image. The
file will be found in /etc/adkconfig.gz. This takes about
diff --git a/package/base-files/Makefile b/package/base-files/Makefile
index b00b81918..0c7ce0b24 100644
--- a/package/base-files/Makefile
+++ b/package/base-files/Makefile
@@ -1,160 +1,225 @@
# This file is part of the OpenADK project. OpenADK is copyrighted
# material, please see the LICENCE file in the top-level directory.
-include $(TOPDIR)/rules.mk
-include $(TOPDIR)/mk/rootfs.mk
+include $(ADK_TOPDIR)/rules.mk
+include $(ADK_TOPDIR)/mk/rootfs.mk
PKG_NAME:= base-files
-PKG_VERSION:= 1.0
-PKG_RELEASE:= 49
-PKG_SECTION:= base
+PKG_VERSION:= 1.1
+PKG_RELEASE:= 29
+PKG_SECTION:= base/apps
PKG_DESCR:= basic files and scripts
WRKDIST= ${WRKDIR}/base-files
NO_DISTFILES:= 1
-include $(TOPDIR)/mk/package.mk
+include $(ADK_TOPDIR)/mk/package.mk
-$(eval $(call PKG_template,BASE_FILES,${PKG_NAME},${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},force_etc))
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
INSTALL_STYLE:= manual
+ifeq ($(ADK_RUNTIME_DEV_MDEV_LOGGING),y)
+ADK_RUNTIME_DEV_MDEV_LOGGING_LINE:='echo >/dev/mdev.log'
+else
+ADK_RUNTIME_DEV_MDEV_LOGGING_LINE:=''
+endif
+
+ifeq ($(ADK_RUNTIME_GETTY_SERIAL_AUTOLOGIN),y)
+ADK_RUNTIME_GETTY_SERIAL_AUTOLOGIN_STANZA:= -n -l autologin
+else
+ADK_RUNTIME_GETTY_SERIAL_AUTOLOGIN_STANZA:=
+endif
+
do-install:
$(CP) ./src/* $(IDIR_BASE_FILES)
+ mkdir -p $(IDIR_BASE_FILES)/{etc,dev,boot,root,sys,proc,tmp,run,var,mnt,media}
+ mkdir -p $(IDIR_BASE_FILES)/usr/{lib,bin,sbin}
+ ln -sf ../run $(IDIR_BASE_FILES)/var/run
+ chmod 600 $(IDIR_BASE_FILES)/etc/shadow
+ chmod 1777 ${IDIR_BASE_FILES}/tmp
+ echo $(ADK_RUNTIME_TMPFS_SIZE) > $(IDIR_BASE_FILES)/etc/tmpfs
+ mkdir -p $(IDIR_BASE_FILES)/etc/init.d
+ cp ./files/init.d/* $(IDIR_BASE_FILES)/etc/init.d
+ mkdir -p $(IDIR_BASE_FILES)/etc/network/{if-pre-up.d,if-up.d,if-down.d,if-post-down.d}
+ cp ./files/fstab $(IDIR_BASE_FILES)/etc
+ cp ./files/modules $(IDIR_BASE_FILES)/etc
+ ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab
+ifeq ($(ADK_RUNTIME_LOAD_KERNEL_MODULES),)
+ -rm $(IDIR_BASE_FILES)/etc/init.d/kmod
+endif
+ifeq ($(ADK_TARGET_WITH_NETDEVICE),y)
+ cp ./files/interfaces-dhcp $(IDIR_BASE_FILES)/etc/network/interfaces
+ cp ./files/rc.netinfo $(IDIR_BASE_FILES)/etc/
+else
+ cp ./files/interfaces-lo $(IDIR_BASE_FILES)/etc/network/interfaces
+endif
+ chmod 600 $(IDIR_BASE_FILES)/etc/network/interfaces
ifeq (${ADK_TARGET_ROOTFS_NFSROOT},y)
- @echo "#" > $(IDIR_BASE_FILES)/etc/network/interfaces
+ echo '#' > $(IDIR_BASE_FILES)/etc/network/interfaces
+ (cd $(IDIR_BASE_FILES)/etc; ln -sf ../proc/net/pnp resolv.conf)
+else
+ (cd $(IDIR_BASE_FILES)/etc; ln -sf ../tmp/resolv.conf .)
+endif
+ifeq ($(ADK_RUNTIME_DEV_MDEV),y)
+ $(CP) ./files/rcdev.mdev $(IDIR_BASE_FILES)/etc/init.d/rcdev
+ $(SED) "s#@ADK_RUNTIME_DEV_MDEV_LOGGING@#"$(ADK_RUNTIME_DEV_MDEV_LOGGING_LINE)"#g" $(IDIR_BASE_FILES)/etc/init.d/rcdev
+ $(CP) ./files/mdev.conf $(IDIR_BASE_FILES)/etc
+ $(CP) ./files/mdev $(IDIR_BASE_FILES)/etc
+endif
+
+ifeq ($(ADK_RUNTIME_DEV_UDEV),y)
+ $(CP) ./files/rcdev.udev $(IDIR_BASE_FILES)/etc/init.d/rcdev
+endif
+ifeq ($(ADK_RUNTIME_INIT_SYSV),y)
+ cp ./files/inittab.sysv $(IDIR_BASE_FILES)/etc/inittab
+ test -z $(ADK_RUNTIME_SHELL) || \
+ cat ./files/inittab.shell >> $(IDIR_BASE_FILES)/etc/inittab
+ifeq ($(ADK_TARGET_WITH_VGA)$(ADK_TARGET_GENERIC),y)
+ test -z $(ADK_RUNTIME_SHELL) || \
+ cat ./files/inittab.shellvga >> $(IDIR_BASE_FILES)/etc/inittab
+endif
+ test -z $(ADK_RUNTIME_GETTY_VGA) || \
+ cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
+ test -z $(ADK_RUNTIME_GETTY_SERIAL) || \
+ cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
+ $(SED) 's#@DEVICE@#$(ADK_RUNTIME_CONSOLE_SERIAL_DEVICE)#g' $(IDIR_BASE_FILES)/etc/inittab
+ $(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab
+ $(SED) 's#@AUTOLOGIN@#$(ADK_RUNTIME_GETTY_SERIAL_AUTOLOGIN_STANZA)#' $(IDIR_BASE_FILES)/etc/inittab
endif
- $(SED) 's,@ARCH@,$(ADK_TARGET_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
- $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
- $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
- $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
- $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ifeq ($(ADK_RUNTIME_MOUNT_DEBUGFS),y)
+ echo debugfs /sys/kernel/debug debugfs defaults 0 0 >> $(IDIR_BASE_FILES)/etc/fstab
+ echo null::sysinit:/bin/mount -a -t debugfs >> $(IDIR_BASE_FILES)/etc/inittab
+endif
+ test -z $(ADK_RUNTIME_HOSTNAME) || \
+ echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \
+ echo "127.0.0.1 localhost" > $(IDIR_BASE_FILES)/etc/hosts
+ echo "127.0.1.1 $(ADK_RUNTIME_HOSTNAME)" >> $(IDIR_BASE_FILES)/etc/hosts
+ echo "::1 ip6-localhost ip6-loopback" >> $(IDIR_BASE_FILES)/etc/hosts
+ echo "fe00::0 ip6-localnet" >> $(IDIR_BASE_FILES)/etc/hosts
+ echo "ff00::0 ip6-mcastprefix" >> $(IDIR_BASE_FILES)/etc/hosts
+ echo "ff02::1 ip6-allnodes" >> $(IDIR_BASE_FILES)/etc/hosts
+ echo "ff02::2 ip6-allrouters" >> $(IDIR_BASE_FILES)/etc/hosts
+ echo "ff02::3 ip6-allhosts" >> $(IDIR_BASE_FILES)/etc/hosts
+ test -z '$(ADK_RUNTIME_PASSWORD)' || \
+ $(SED) 's,\*NP\*,'"$$(awk -F\= '/^ADK_RUNTIME_PASSWORD/ { print $$2 }' $(ADK_TOPDIR)/.config|sed -e 's^\"^^g'),g" \
+ $(IDIR_BASE_FILES)/etc/shadow
echo /bin/sh >${IDIR_BASE_FILES}/etc/shells
+ echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells
+ifneq (${ADK_PACKAGE_ASH},)
echo /bin/ash >>${IDIR_BASE_FILES}/etc/shells
+endif
+ifneq (${ADK_PACKAGE_HUSH},)
+ echo /bin/hush >>${IDIR_BASE_FILES}/etc/shells
+endif
ifneq (${ADK_PACKAGE_BASH},)
echo /bin/bash >>${IDIR_BASE_FILES}/etc/shells
endif
-ifneq (${ADK_PACKAGE_MKSH},)
- echo /bin/mksh >>${IDIR_BASE_FILES}/etc/shells
-endif
ifneq (${ADK_PACKAGE_ZSH},)
echo /bin/zsh >>${IDIR_BASE_FILES}/etc/shells
endif
- mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists
- mkdir -p $(IDIR_BASE_FILES)/etc/crontabs
- mkdir -p $(IDIR_BASE_FILES)/{dev,boot,root,sys,proc,tmp,mnt}
-ifeq (${ADK_INSTALL_PACKAGE_NETWORK_SCRIPTS},y)
- mkdir -p $(IDIR_BASE_FILES)/etc/network/{if-pre-up.d,if-up.d,if-down.d,if-post-down.d}
+ifeq ($(ADK_PACKAGE_MKSH),y)
+ $(CP) ./files/profile $(IDIR_BASE_FILES)/etc/profile
+ifeq ($(ADK_TARGET_WITH_ROOT_RW),y)
+ echo 'export IPKGTMPDIR=/root/.ipkg' >> $(IDIR_BASE_FILES)/etc/profile
+else
+ echo 'export IPKGTMPDIR=/tmp' >> $(IDIR_BASE_FILES)/etc/profile
endif
- mkdir -p $(IDIR_BASE_FILES)/usr/{lib,bin}
- chmod 755 $(IDIR_BASE_FILES)/lib/mdev/init
- chmod 600 $(IDIR_BASE_FILES)/etc/shadow
- chmod 600 $(IDIR_BASE_FILES)/etc/network/interfaces
- chmod 1777 ${IDIR_BASE_FILES}/tmp
- ln -sf ../proc/mounts $(IDIR_BASE_FILES)/etc/mtab
- rm -rf $(IDIR_BASE_FILES)/var
- ln -sf tmp $(IDIR_BASE_FILES)/var
- test -z $(ADK_RUNTIME_CONSOLE_VGA) || \
- cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_CONSOLE_SERIAL) || \
- cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
- cat ./files/inittab.serial >> $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_CONSOLE_BOTH) || \
- cat ./files/inittab.vga >> $(IDIR_BASE_FILES)/etc/inittab
-ifeq ($(ADK_TARGET_QEMU_ARM_MODEL_VERSATILE),y)
- $(SED) 's#ttyS#ttyAMA#g' $(IDIR_BASE_FILES)/etc/inittab
endif
- $(SED) 's#@SPEED@#$(ADK_RUNTIME_CONSOLE_SERIAL_SPEED)#' $(IDIR_BASE_FILES)/etc/inittab
- test -z $(ADK_RUNTIME_HOSTNAME) || \
- echo $(ADK_RUNTIME_HOSTNAME) > $(IDIR_BASE_FILES)/etc/hostname; \
- echo "127.0.0.1 localhost" > $(IDIR_BASE_FILES)/etc/hosts
- echo "::1 localhost" >> $(IDIR_BASE_FILES)/etc/hosts
- echo "127.0.1.1 $(ADK_RUNTIME_HOSTNAME)" >> $(IDIR_BASE_FILES)/etc/hosts
- test -z $(ADK_RUNTIME_PASSWORD) || \
- $(SED) 's,\*NP\*,'"$$(${TOPDIR}/bin/tools/mkcrypt \
- ${ADK_RUNTIME_PASSWORD}),g" $(IDIR_BASE_FILES)/etc/shadow
- git log -1|head -1|sed -e 's#commit ##' \
- > $(IDIR_BASE_FILES)/etc/adkversion
- test -z $(ADK_TARGET_SYSTEM) || \
- echo $(ADK_TARGET_SYSTEM) > $(IDIR_BASE_FILES)/etc/adktarget
- echo $(ADK_RUNTIME_TMPFS_SIZE) > $(IDIR_BASE_FILES)/etc/tmpfs
-ifneq (${ADK_PACKAGE_CONFIG_IN_ETC},)
- gzip -9c ${TOPDIR}/.config >$(IDIR_BASE_FILES)/etc/adkconfig.gz
- chmod 600 $(IDIR_BASE_FILES)/etc/adkconfig.gz
+ifeq (${ADK_TARGET_PACKAGE_IPKG},y)
+ $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/
+ $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ mkdir -p $(IDIR_BASE_FILES)/usr/lib/ipkg/lists
+endif
+ifeq (${ADK_TARGET_PACKAGE_OPKG},y)
+ $(CP) ./files/ipkg.conf $(IDIR_BASE_FILES)/etc/
+ $(SED) 's,@ARCH@,$(ADK_TARGET_CPU_ARCH),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@SYSTEM@,$(ADK_TARGET_SYSTEM),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@LIBC@,$(ADK_TARGET_LIBC),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@HOST@,$(ADK_HOST),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ $(SED) 's,@VENDOR@,$(ADK_VENDOR),g' $(IDIR_BASE_FILES)/etc/ipkg.conf
+ mkdir -p $(IDIR_BASE_FILES)/usr/lib/opkg/lists
endif
-
-
# simple network configuration
ifneq (${ADK_SIMPLE_NETWORK_CONFIG},)
${INSTALL_DIR} ${IDIR_BASE_FILES}/etc/network
+ printf "auto lo\niface lo inet loopback\n" > ${IDIR_BASE_FILES}/etc/network/interfaces
- # network config local
- echo -e "auto lo\niface lo inet loopback" > ${IDIR_BASE_FILES}/etc/network/interfaces
-
- # network config eth0
- # configure nic with manual ip
-ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC},y)
- echo -e "\nauto eth0\niface eth0 inet dhcp" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifeq (${ADK_SIMPLE_NETWORK_CONFIG_ETH0_DHCP},y)
+ printf "\nauto eth0\niface eth0 inet dhcp\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
- # configure nic with dhcp
-ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_NIC_MANUAL},y)
- echo -e "\nauto eth0\niface eth0 inet static" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " address ${SIMPLE_NETWORK_CONFIG_ETH0_IP}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " netmask ${SIMPLE_NETWORK_CONFIG_ETH0_NM}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH0_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " gateway ${SIMPLE_NETWORK_CONFIG_ETH0_GW}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifeq (${ADK_SIMPLE_NETWORK_CONFIG_ETH0_STATIC},y)
+ printf "\nauto eth0\niface eth0 inet static\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " address ${ADK_SIMPLE_NETWORK_CONFIG_ETH0_IP}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " netmask ${ADK_SIMPLE_NETWORK_CONFIG_ETH0_NM}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " broadcast +\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifneq (${ADK_SIMPLE_NETWORK_CONFIG_ETH0_GW},)
+ printf " gateway ${ADK_SIMPLE_NETWORK_CONFIG_ETH0_GW}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
- # configure bridge
-ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE},y)
- echo -e "\nauto br0\niface br0 inet manual" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
-endif
- #configure bridge with ip
-ifeq (${SIMPLE_NETWORK_CONFIG_ETH0_TYPE_BRIDGE_IP},y)
- echo -e "\nauto br0\niface br0 inet static" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " address ${SIMPLE_NETWORK_CONFIG_ETH0_IP}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " netmask ${SIMPLE_NETWORK_CONFIG_ETH0_NM}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH0_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH0_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
- # network config eth1
- # configure nic with manual ip
-ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC},y)
- echo -e "\nauto eth1\niface eth1 inet dhcp" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifeq (${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_DHCP},y)
+ printf "\nauto wlan0\niface wlan0 inet dhcp\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifeq (${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_WPA2},y)
+ printf " wireless-mode sta\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " wireless-ssid ${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_WPA2_SSID}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " wireless-security wpa2\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " wireless-passphrase ${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_WPA2_PW}\n\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+endif
endif
- # configure nic with dhcp
-ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_NIC_MANUAL},y)
- echo -e "\nauto eth1\niface eth1 inet static" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " address ${SIMPLE_NETWORK_CONFIG_ETH1_IP}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " netmask ${SIMPLE_NETWORK_CONFIG_ETH1_NM}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH1_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " gateway ${SIMPLE_NETWORK_CONFIG_ETH1_GW}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifeq (${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_STATIC},y)
+ printf "\nauto wlan0\niface wlan0 inet static\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifeq (${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_WPA2},y)
+ printf " wireless-mode sta\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " wireless-ssid ${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_WPA2_SSID}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " wireless-security wpa2\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " wireless-passphrase ${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_WPA2_PW}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
- # configure bridge
-ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_BRIDGE},y)
- echo -e "\nauto br0\niface br1 inet manual" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " address ${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_IP}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " netmask ${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_NM}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " broadcast +\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifneq (${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_GW},)
+ printf " gateway ${ADK_SIMPLE_NETWORK_CONFIG_WLAN0_GW}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
- #configure bridge with ip
-ifeq (${SIMPLE_NETWORK_CONFIG_ETH1_TYPE_BRIDGE_IP},y)
- echo -e "\nauto br0\niface br1 inet static" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " address ${SIMPLE_NETWORK_CONFIG_ETH1_IP}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " netmask ${SIMPLE_NETWORK_CONFIG_ETH1_NM}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " broadcast ${SIMPLE_NETWORK_CONFIG_ETH1_BC}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- echo -e " bridge-ports ${SIMPLE_NETWORK_CONFIG_ETH1_BRIDGE}" >> ${IDIR_BASE_FILES}/etc/network/interfaces
endif
- # newline at the end of interfaces file
- echo -en "\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifeq (${ADK_SIMPLE_NETWORK_CONFIG_ETH1_DHCP},y)
+ printf "\nauto eth1\niface eth1 inet dhcp\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+endif
+ifeq (${ADK_SIMPLE_NETWORK_CONFIG_ETH1_STATIC},y)
+ printf "\nauto eth1\niface eth1 inet static\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " address ${ADK_SIMPLE_NETWORK_CONFIG_ETH1_IP}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " netmask ${ADK_SIMPLE_NETWORK_CONFIG_ETH1_NM}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ printf " broadcast +\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+ifneq (${ADK_SIMPLE_NETWORK_CONFIG_ETH1_GW},)
+ printf " gateway ${ADK_SIMPLE_NETWORK_CONFIG_ETH1_GW}\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
+endif
+endif
+ printf "\n" >> ${IDIR_BASE_FILES}/etc/network/interfaces
- # resolver config
- echo -e "nameserver ${SIMPLE_NETWORK_CONFIG_RESOLV}" > ${IDIR_BASE_FILES}/etc/resolv.conf
+ifneq (${ADK_SIMPLE_NETWORK_CONFIG_NS},)
+ rm ${IDIR_BASE_FILES}/etc/resolv.conf
+ printf "nameserver ${ADK_SIMPLE_NETWORK_CONFIG_NS}\n" > ${IDIR_BASE_FILES}/etc/resolv.conf
+endif
+ifneq (${ADK_SIMPLE_NETWORK_CONFIG_PROXY},)
+ printf "http_proxy=${ADK_SIMPLE_NETWORK_CONFIG_PROXY}\n" >> ${IDIR_BASE_FILES}/etc/profile
+ printf "https_proxy=${ADK_SIMPLE_NETWORK_CONFIG_PROXY}\n" >> ${IDIR_BASE_FILES}/etc/profile
+ printf "ftp_proxy=${ADK_SIMPLE_NETWORK_CONFIG_PROXY}\n" >> ${IDIR_BASE_FILES}/etc/profile
+endif
endif
+ifeq ($(ADK_RUNTIME_ADDUSER),y)
+ mkdir -p ${IDIR_BASE_FILES}/$(ADK_RUNTIME_USER_HOME)
+ printf "$(ADK_RUNTIME_USER_NAME):x:100:100:$(ADK_RUNTIME_USER_NAME):$(ADK_RUNTIME_USER_HOME):$(ADK_RUNTIME_USER_SHELL)\n" >> ${IDIR_BASE_FILES}/etc/passwd
+ printf "$(ADK_RUNTIME_USER_NAME):$(ADK_RUNTIME_USER_PASSWORD):16514:0:::::\n" >> ${IDIR_BASE_FILES}/etc/shadow
+ printf "$(ADK_RUNTIME_USER_NAME):x:100:\n" >> ${IDIR_BASE_FILES}/etc/group
+endif
-include ${TOPDIR}/mk/pkg-bottom.mk
+include ${ADK_TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/base-files/files/base-files.conffiles b/package/base-files/files/base-files.conffiles
index 59ed2f02b..4845c1855 100644
--- a/package/base-files/files/base-files.conffiles
+++ b/package/base-files/files/base-files.conffiles
@@ -1,10 +1,8 @@
-/etc/mdev.conf
/etc/inittab
/etc/banner
/etc/group
/etc/hosts
/etc/hostname
-/etc/ipkg.conf
/etc/modules
/etc/passwd
/etc/profile
diff --git a/package/base-files/files/fstab b/package/base-files/files/fstab
new file mode 100644
index 000000000..6ceedf30f
--- /dev/null
+++ b/package/base-files/files/fstab
@@ -0,0 +1,14 @@
+# /etc/fstab: static file system information.
+#<fs> <mount point> <type> <options> <dump> <pass>
+proc /proc proc defaults 0 0
+devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
+tmpfs /dev/shm tmpfs mode=0777 0 0
+tmpfs /tmp tmpfs mode=1777 0 0
+tmpfs /run tmpfs mode=777 0 0
+tmpfs /var tmpfs mode=755 0 0
+sysfs /sys sysfs defaults 0 0
+tmpfs /media tmpfs defaults 0 0
+# example for cifs
+#//192.168.1.1/music /media/music cifs ro,password=linux123,username=adk,iocharset=utf8,sec=ntlm 0 0
+# example for read-only ntfs with UUID
+#UUID=E4BC628CBC6258D6 /media/usb ntfs ro,fmask=022,dmask=022 0 0
diff --git a/package/base-files/files/init.d/cifs b/package/base-files/files/init.d/cifs
new file mode 100644
index 000000000..b3ca9c649
--- /dev/null
+++ b/package/base-files/files/init.d/cifs
@@ -0,0 +1,39 @@
+#!/bin/sh
+#INIT 60
+
+case $1 in
+autostop) ;;
+autostart)
+ exec sh $0 start
+ ;;
+start)
+ grep -v "^#" /etc/fstab | grep cifs >/dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ grep cifs /proc/filesystems >/dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ mntpoints=$(grep -v "^#" /etc/fstab| grep cifs|awk '{ print $2 }')
+ for mntpoint in $mntpoints; do
+ mkdir -p $mntpoint
+ done
+ mount -a -t cifs
+ else
+ logger -s -t cifs "No cifs support in kernel"
+ fi
+ fi
+ ;;
+stop)
+ grep -v "^#" /etc/fstab| grep cifs >/dev/null 2>&1
+ if [ $? -eq 0 ]; then
+ umount -a -t cifs
+ fi
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?
diff --git a/package/base-files/files/init.d/done b/package/base-files/files/init.d/done
new file mode 100755
index 000000000..04950fdc2
--- /dev/null
+++ b/package/base-files/files/init.d/done
@@ -0,0 +1,4 @@
+#!/bin/sh
+#INIT 98
+[[ $1 = autostart ]] && sysctl -p >&- 2>/dev/null
+exit 0
diff --git a/package/base-files/files/init.d/fs b/package/base-files/files/init.d/fs
new file mode 100755
index 000000000..55e2c3449
--- /dev/null
+++ b/package/base-files/files/init.d/fs
@@ -0,0 +1,50 @@
+#!/bin/sh
+#INIT 10
+[[ $1 = autostart ]] || exit 0
+
+# activate swap
+[ -x /sbin/swapon ] && {
+ grep swap /etc/fstab >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ logger -t 'SWAP' "Activating swap"
+ swapon -a
+ fi
+}
+
+# activate any logical volumes
+[ -x /usr/sbin/lvm ] && {
+ logger -t 'LVM' "Activating LVM volumes"
+ lvm vgscan
+ lvm vgchange -ay
+}
+
+# mount local filesystems
+fstypes="ext2 ext3 ext4 xfs vfat ntfs ntfs-3g"
+for fs in $fstypes; do
+ procfs=$fs
+ if [ $fs = "ntfs-3g" ];then
+ procfs=fuse
+ fi
+ disks=$(grep -v "^#" /etc/fstab|grep "${fs}[[:blank:]]"|awk '{ print $1 }')
+ for disk in $disks; do
+ logger -t 'Filesystem' "Found $disk with filesystem $fs"
+ mnt=$(grep -v "^#" /etc/fstab|grep "${disk}[[:blank:]]"|awk '{ print $2 }')
+ grep $procfs /proc/filesystems >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ [ -x /usr/sbin/fsck.$fs ] && {
+ logger -t 'Filesystem' "checking $fs filesystem on $disk"
+ fsck -p $disk >/dev/null 2>&1
+ }
+ mkdir -p $mnt > /dev/null 2>&1
+ if [ -b $disk ]; then
+ logger -t 'Filesystem' "Mounting $disk to $mnt"
+ mount $disk
+ else
+ logger -t 'Filesystem' "Skipping mounting $disk, device file missing"
+ fi
+ else
+ logger -t 'Filesystem' "No $procfs filesystem in kernel"
+ fi
+ done
+done
+exit 0
diff --git a/package/base-files/files/init.d/kmod b/package/base-files/files/init.d/kmod
new file mode 100755
index 000000000..509496a9e
--- /dev/null
+++ b/package/base-files/files/init.d/kmod
@@ -0,0 +1,12 @@
+#!/bin/sh
+#INIT 15
+[[ $1 = autostart ]] || exit 0
+
+. /etc/functions.sh
+
+load_modules /etc/modules
+for f in /etc/modules.d/*; do
+ [[ -e $f ]] && load_modules /etc/modules.d/*
+ break
+done
+exit 0
diff --git a/package/base-files/files/init.d/nfs b/package/base-files/files/init.d/nfs
new file mode 100644
index 000000000..4c3f9ba83
--- /dev/null
+++ b/package/base-files/files/init.d/nfs
@@ -0,0 +1,40 @@
+#!/bin/sh
+#INIT 60
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${rpcbind:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ grep nfs /proc/filesystems >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ mkdir -p /var/lib/nfs/rpc_pipefs
+ mount -t rpc_pipefs rpc_pipefs /var/lib/nfs/rpc_pipefs
+ mount -a -t nfs
+ else
+ logger -t nfs "No nfs support in kernel"
+ fi
+ fi
+ ;;
+stop)
+ grep -v "^#" /etc/fstab| grep nfs >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ umount -a -t nfs
+ umount /var/lib/nfs/rpc_pipefs
+ fi
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?
diff --git a/package/base-files/files/init.d/rcK b/package/base-files/files/init.d/rcK
new file mode 100755
index 000000000..8bff46cc6
--- /dev/null
+++ b/package/base-files/files/init.d/rcK
@@ -0,0 +1,34 @@
+#!/bin/sh
+export PATH=/bin:/sbin:/usr/bin:/usr/sbin
+: ${rcquiet=0}
+if test x"$rcquiet" = x"0" && sh -n /etc/rc.conf >/dev/null 2>&1; then
+ . /etc/rc.conf
+ unset rcquiet
+ rcquiet=0
+else
+ unset rcquiet
+ rcquiet=1
+fi
+{
+ grep '^#INIT ' /etc/init.d/* | \
+ sort -rnk2 | \
+ while read line; do
+ rcenabled=NO
+ rcname=${line%%:*}
+ rcname=${rcname##*/}
+ test x"$rcquiet" = x"0" && eval 'rcenabled=${'"${rcname}"':-NO}'
+ test x"$rcenabled" = x"NO" || echo -n "Stopping ${rcname}... "
+ sh ${line%%:*} autostop
+ rc=$?
+ case $rcenabled:$rc in
+ (NO:*)
+ ;;
+ (*:0)
+ echo done.
+ ;;
+ (*:*)
+ echo "failed ($rc)."
+ ;;
+ esac
+ done
+} | logger -s -p 6 -t ''
diff --git a/package/base-files/files/init.d/rcS b/package/base-files/files/init.d/rcS
new file mode 100755
index 000000000..9015a71ac
--- /dev/null
+++ b/package/base-files/files/init.d/rcS
@@ -0,0 +1,84 @@
+#!/bin/sh
+export PATH=/bin:/sbin:/usr/bin:/usr/sbin
+# disable kernel messages
+if [ -f /proc/sys/kernel/printk ];then
+ echo 0 > /proc/sys/kernel/printk
+fi
+ln -s /proc/self/fd/0 /dev/stdin
+ln -s /proc/self/fd/1 /dev/stdout
+ln -s /proc/self/fd/2 /dev/stderr
+ln -s /proc/self/fd /dev/fd
+: ${rcquiet=0}
+if [ $rcquiet -ne 1 ];then
+ echo "System initialization ..."
+fi
+
+# create some useful directories in tmpfs
+mkdir -p /var/log
+mkdir -p /var/run
+mkdir -p /var/tmp
+mkdir -p /var/lock
+touch /var/log/lastlog
+touch /var/log/wtmp
+
+# start dynamic device node management
+[ -f /etc/init.d/rcdev ] && . /etc/init.d/rcdev
+
+# seed some random
+cat /etc/.rnd >/dev/urandom 2>&1
+
+# setup cfgfs
+[ -x /sbin/cfgfs ] && {
+ cfgfs setup
+ mount -o remount,ro /
+}
+
+# remount /tmp with smaller size
+size=$(cat /etc/tmpfs 2>/dev/null)
+[ -z $size ] && size=2048
+mount -o remount,nosuid,nodev,mode=1777,size=${size}k -t tmpfs tmpfs /tmp
+
+HOSTNAME=
+[[ -s /etc/hostname ]] && HOSTNAME=$(cat /etc/hostname)
+HOSTNAME=${HOSTNAME%%.*}
+echo ${HOSTNAME:=openadk} >/proc/sys/kernel/hostname
+
+chown 0:0 /tmp; chmod 1777 /tmp
+
+if test x"$rcquiet" = x"0" && sh -n /etc/rc.conf >/dev/null 2>&1; then
+ . /etc/rc.conf
+ unset rcquiet
+ rcquiet=0
+else
+ unset rcquiet
+ rcquiet=1
+fi
+{
+ grep '^#INIT ' /etc/init.d/* | \
+ sort -nk2 | \
+ while read line; do
+ rcenabled=NO
+ rcname=${line%%:*}
+ rcname=${rcname##*/}
+ test x"$rcquiet" = x"0" && eval 'rcenabled=${'"${rcname}"':-NO}'
+ test x"$rcenabled" = x"NO" || echo -n "Starting ${rcname}... "
+ sh ${line%%:*} autostart
+ rc=$?
+ case $rcenabled:$rc in
+ (NO:*)
+ ;;
+ (*:0)
+ echo done.
+ ;;
+ (*:*)
+ echo "failed ($rc)."
+ ;;
+ esac
+ done
+} |tee /dev/stderr |logger -p 6 -t ''
+
+if [ $rcquiet -ne 1 ]; then
+ if [ -f /etc/rc.netinfo ]; then
+ . /etc/rc.netinfo
+ fi
+fi
diff --git a/package/base-files/files/inittab.serial b/package/base-files/files/inittab.serial
index 5de880f2a..ef31f1599 100644
--- a/package/base-files/files/inittab.serial
+++ b/package/base-files/files/inittab.serial
@@ -1 +1 @@
-ttyS0::respawn:/sbin/getty -i -L ttyS0 @SPEED@ vt100
+@DEVICE@::respawn:/sbin/getty -i -L @DEVICE@ @SPEED@ vt100 @AUTOLOGIN@
diff --git a/package/base-files/files/inittab.shell b/package/base-files/files/inittab.shell
new file mode 100644
index 000000000..43685827e
--- /dev/null
+++ b/package/base-files/files/inittab.shell
@@ -0,0 +1 @@
+@DEVICE@::askfirst:-/bin/sh
diff --git a/package/base-files/files/inittab.shellvga b/package/base-files/files/inittab.shellvga
new file mode 100644
index 000000000..a5c6e34ba
--- /dev/null
+++ b/package/base-files/files/inittab.shellvga
@@ -0,0 +1 @@
+tty0::askfirst:-/bin/sh
diff --git a/package/base-files/files/inittab.sysv b/package/base-files/files/inittab.sysv
new file mode 100644
index 000000000..a6684a4ea
--- /dev/null
+++ b/package/base-files/files/inittab.sysv
@@ -0,0 +1,11 @@
+null::sysinit:/bin/mount -t proc proc /proc
+null::sysinit:/bin/mount -t sysfs sys /sys
+null::sysinit:/bin/mount -t devtmpfs devtmpfs /dev
+null::sysinit:/bin/mkdir -p /dev/pts
+null::sysinit:/bin/mkdir -p /dev/shm
+null::sysinit:/bin/mount -a -t devpts
+null::sysinit:/bin/mount -a -t tmpfs
+::sysinit:/etc/init.d/rcS
+::shutdown:/etc/init.d/rcK
+null::shutdown:/bin/umount -a
+null::shutdown:/sbin/swapoff -a
diff --git a/package/base-files/files/inittab.sysvinit b/package/base-files/files/inittab.sysvinit
new file mode 100644
index 000000000..edfe9dc94
--- /dev/null
+++ b/package/base-files/files/inittab.sysvinit
@@ -0,0 +1,4 @@
+id:2:initdefault:
+si::sysinit:/etc/init.d/rcS
+1:234:respawn:/sbin/agetty 115200 tty1
+AMA0:3:respawn:/sbin/agetty -L 9600 ttyAMA0 vt320
diff --git a/package/base-files/src/etc/network/interfaces b/package/base-files/files/interfaces-dhcp
index dbde94b80..652101214 100644
--- a/package/base-files/src/etc/network/interfaces
+++ b/package/base-files/files/interfaces-dhcp
@@ -22,6 +22,15 @@ iface eth0 inet dhcp
# bridge-ports eth0 eth1
##
+## LACP configuration
+#auto lacp0
+#iface lacp0 inet dhcp
+# bond-ports eth0 eth1
+# bond-mode 802.3ad
+# bond-miimon 100
+# bond-lacp-rate slow
+# bond-xmit-hash-policy layer2+3
+
## pppoe configuration
#auto ppp0
#iface ppp0 inet ppp
@@ -37,7 +46,6 @@ iface eth0 inet dhcp
#auto wlan0
#iface wlan0 inet dhcp
# wireless-ssid myap
-# wireless-channel 11
# wireless-mode sta
# wireless-security wpa2
# wireless-passphrase xxxxxx
@@ -50,10 +58,10 @@ iface eth0 inet dhcp
# netmask 255.255.255.0
# broadcast +
# wireless-ssid myap
-# wireless-channel 8
# wireless-mode ap
+# wireless-channel 8
# wireless-security wpa2
-# wireless-passphrase xxxxxx
+# wireless-passphrase xxxxxxxx
##
-# for more special cases see: http://www.openadk.org/doku.php?id=network
+# for more special cases see: https://docs.openadk.org/html/manual.html#network-configuration
diff --git a/package/base-files/files/interfaces-lo b/package/base-files/files/interfaces-lo
new file mode 100644
index 000000000..f1bd92ed2
--- /dev/null
+++ b/package/base-files/files/interfaces-lo
@@ -0,0 +1,2 @@
+auto lo
+iface lo inet loopback
diff --git a/package/base-files/files/ipkg.conf b/package/base-files/files/ipkg.conf
new file mode 100644
index 000000000..a31487176
--- /dev/null
+++ b/package/base-files/files/ipkg.conf
@@ -0,0 +1,3 @@
+src @VENDOR@ http://@HOST@/pkg/@SYSTEM@_@LIBC@/packages
+dest root /
+dest ram /tmp
diff --git a/package/base-files/src/etc/mdev.conf b/package/base-files/files/mdev.conf
index 4cc06251a..179222221 100644
--- a/package/base-files/src/etc/mdev.conf
+++ b/package/base-files/files/mdev.conf
@@ -10,11 +10,9 @@ rtc0 root:root 660 @ln -sf /dev/rtc0 /dev/rtc
device-mapper 0:0 660 @test -d /dev/mapper || mkdir /dev/mapper
tun 0:0 660 >net/tun
fb0 root:video 660
-audio root:audio 660 >snd/audio
-dsp root:audio 660 >snd/dsp
-timer root:audio 660 >snd/timer
-controlC0 root:audio 660 >snd/controlC0
-pcmC0D0c root:audio 660 >snd/pcmC0D0c
-pcmC0D0p root:audio 660 >snd/pcmC0D0p
+snd/timer root:audio 660
+snd/controlC0 root:audio 660
+snd/pcmC0D0p root:audio 660
+snd/pcmC0D1p root:audio 660
msr0 root:root 660 @(mkdir -p /dev/cpu/0 && ln -sf /dev/msr0 /dev/cpu/0/msr)
-.* 0:0 644 @/lib/mdev/init
+sd[a-z][1-9]* root:root 660 */etc/mdev/fs
diff --git a/package/base-files/files/mdev/fs b/package/base-files/files/mdev/fs
new file mode 100755
index 000000000..86c4cee2f
--- /dev/null
+++ b/package/base-files/files/mdev/fs
@@ -0,0 +1,67 @@
+#!/bin/sh
+# skip root disk here, will be handled in /etc/init.d/fs
+rootdisk=$(readlink /dev/root)
+if [ "x${rootdisk}" = "x${MDEV}" ];then
+ exit 0
+fi
+uuid=$(blkid /dev/${MDEV} | sed -n '/^.*UUID="\([^"]*\)".*$/s//\1/p')
+if [ -z $uuid ];then
+ fs=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $3 }')
+ mnt=$(grep "^/dev/${MDEV}[[:blank:]]" /etc/fstab | awk '{ print $2 }')
+ disk="${MDEV}"
+else
+ fs=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $3 }')
+ mnt=$(grep "^/dev/${MDEV}[[:blank:]]\|^UUID=$uuid" /etc/fstab | awk '{ print $2 }')
+ disk="${MDEV} (${uuid})"
+fi
+if [ -z $fs ];then
+ logger -t mdev "Disk $disk not registered in /etc/fstab"
+ exit 0
+fi
+
+procfs=$fs
+if [ $fs = "ntfs-3g" ];then
+ procfs=fuse
+fi
+
+# check if already mounted via /etc/init.d/fs
+adk_check() {
+ mount | grep "${MDEV}[[:blank:]]"
+ if [ $? -eq 0 ];then
+ logger -t mdev "Filesystem on ${MDEV} already mounted"
+ exit 0
+ fi
+}
+
+# filesystem check
+adk_fsck() {
+ [ -x /usr/sbin/fsck.$fs ] && {
+ logger -t mdev "Checking $fs filesystem on ${MDEV}"
+ fsck -p ${MDEV} >/dev/null
+ }
+}
+
+# mount filesystem
+adk_mount() {
+ mkdir -p $mnt >/dev/null 2>&1
+ grep $procfs /proc/filesystems >/dev/null 2>&1
+ if [ $? -eq 0 ];then
+ logger -t mdev "Mounting $disk to $mnt"
+ mount $mnt 2>> /tmp/mount.err
+ if [ $? -ne 0 ]; then
+ logger -t mdev "Mounting $disk failed with $?"
+ fi
+ else
+ logger -t mdev "Required filesystem $procfs not available"
+ fi
+}
+
+case "${ACTION}" in
+add)
+ logger -t mdev "Device ${MDEV} added to the system"
+ adk_check
+ adk_fsck
+ adk_mount
+ ;;
+esac
+exit 0
diff --git a/package/base-files/src/etc/modules b/package/base-files/files/modules
index 014f40f2b..014f40f2b 100644
--- a/package/base-files/src/etc/modules
+++ b/package/base-files/files/modules
diff --git a/package/base-files/src/etc/profile b/package/base-files/files/profile
index 96f03b980..22bf8655d 100644
--- a/package/base-files/src/etc/profile
+++ b/package/base-files/files/profile
@@ -1,6 +1,7 @@
export PATH=/bin:/sbin:/usr/bin:/usr/sbin
export TERM=linux
export EDITOR=/bin/vi
+export M4=/usr/bin/m4
if [[ $(id -u) = 0 ]]; then
export PS1='`whoami`@`hostname`:`pwd` # '
else
@@ -13,3 +14,5 @@ cat /etc/banner 2>&-
alias l='ls -lF'
alias la='ls -A'
alias ll='ls -alF'
+alias ro='mount -o remount,ro /'
+alias rw='mount -o remount,rw /'
diff --git a/package/base-files/files/rc.netinfo b/package/base-files/files/rc.netinfo
new file mode 100644
index 000000000..b8fc6951a
--- /dev/null
+++ b/package/base-files/files/rc.netinfo
@@ -0,0 +1,2 @@
+ipaddr=$(ip addr show $(ip route show|awk '/default/ { print $5 }')|awk '/inet / { print $2 }'|tail -1)
+echo "Your ip address is $ipaddr"
diff --git a/package/base-files/files/rcdev.mdev b/package/base-files/files/rcdev.mdev
new file mode 100644
index 000000000..93d678932
--- /dev/null
+++ b/package/base-files/files/rcdev.mdev
@@ -0,0 +1,10 @@
+# remount /dev with smaller size
+#mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev
+# start mdev dynamic device node management
+echo >/dev/mdev.seq
+@ADK_RUNTIME_DEV_MDEV_LOGGING@
+if [ -f /proc/sys/kernel/hotplug ];then
+ echo "/sbin/mdev" >/proc/sys/kernel/hotplug
+fi
+# creates f.e. /dev/root
+mdev -s
diff --git a/package/base-files/files/rcdev.udev b/package/base-files/files/rcdev.udev
new file mode 100644
index 000000000..8396c08d9
--- /dev/null
+++ b/package/base-files/files/rcdev.udev
@@ -0,0 +1,6 @@
+# remount /dev with smaller size
+mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev
+# start udev dynamic device node management
+udevd --daemon
+udevadm trigger
+udevadm settle
diff --git a/package/base-files/src/etc/banner b/package/base-files/src/etc/banner
index 1ac725fd1..06cb2e4e3 100644
--- a/package/base-files/src/etc/banner
+++ b/package/base-files/src/etc/banner
@@ -4,5 +4,6 @@
| |_| | |_) | __/ | | |/ ___ \| |_| | . \
\___/| .__/ \___|_| |_/_/ \_\____/|_|\_\
|_|
- Linux created with OpenADK
+
+Linux Embedded Appliance created with OpenADK
diff --git a/package/base-files/src/etc/functions.sh b/package/base-files/src/etc/functions.sh
index 5d76f4843..8b2b3d665 100644
--- a/package/base-files/src/etc/functions.sh
+++ b/package/base-files/src/etc/functions.sh
@@ -11,7 +11,9 @@ append() {
}
load_modules() {
- (sed "s,^[^#][^[:space:]]*,insmod /lib/modules/$(uname -r)/&.ko," $* | sh 2>&- || :)
+ if [ -d /lib/modules/$(uname -r) ]; then
+ (sed "s,^[^#][^[:space:]]*,insmod /lib/modules/$(uname -r)/&.ko," $* | sh 2>&- || :)
+ fi
}
user_exists() {
@@ -53,9 +55,9 @@ add_service() {
}
add_rcconf() {
- rcconf_exists ${2-$1} || {
- echo "adding service ${2-$1} to /etc/rc.conf"
- printf '%s="%s"\t\t# %s\n' "${2:-$1}" "${3:-NO}" "$1" \
+ rcconf_exists $1 || {
+ echo "adding service $1 to /etc/rc.conf"
+ printf '%s="%s"\n' "${1}" "${2:-NO}" \
>>$IPKG_INSTROOT/etc/rc.conf
}
}
diff --git a/package/base-files/src/etc/group b/package/base-files/src/etc/group
index bbf6c0603..51d78238c 100644
--- a/package/base-files/src/etc/group
+++ b/package/base-files/src/etc/group
@@ -1,4 +1,9 @@
root:x:0:
-video:x:1:
-audio:x:2:
+daemon:x:1:
+bin:x:2:
+sys:x:3:
+adm:x:4:
+tty:x:5:
+video:x:6:
+audio:x:7:
nogroup:x:65534:
diff --git a/package/base-files/src/etc/init.d/boot b/package/base-files/src/etc/init.d/boot
deleted file mode 100644
index e30360142..000000000
--- a/package/base-files/src/etc/init.d/boot
+++ /dev/null
@@ -1,33 +0,0 @@
-#!/bin/sh
-#INIT 10
-[[ $1 = autostart ]] || exit 0
-
-. /etc/functions.sh
-
-mkdir -p /var/log
-mkdir -p /var/run
-touch /var/log/lastlog
-touch /var/log/wtmp
-ln -s /tmp /var/tmp
-
-echo 0 > /proc/sys/kernel/printk
-
-HOSTNAME=
-[[ -s /etc/hostname ]] && HOSTNAME=$(cat /etc/hostname)
-HOSTNAME=${HOSTNAME%%.*}
-echo ${HOSTNAME:=linux} >/proc/sys/kernel/hostname
-
-chown 0:0 /tmp; chmod 1777 /tmp
-
-load_modules /etc/modules
-for f in /etc/modules.d/*; do
- [[ -e $f ]] && load_modules /etc/modules.d/*
- break
-done
-# settle down, after module load
-sleep 2
-# any lvm volumes to activate?
-[ -x /usr/sbin/lvm ] && { lvm vgscan; lvm vgchange -ay;}
-# check and mount all filesystems not /
-[ -f /etc/fstab ] && { fsck -p >/dev/null; mount -a; swapon -a;}
-exit 0
diff --git a/package/base-files/src/etc/init.d/done b/package/base-files/src/etc/init.d/done
deleted file mode 100644
index e5b655bb6..000000000
--- a/package/base-files/src/etc/init.d/done
+++ /dev/null
@@ -1,4 +0,0 @@
-#!/bin/sh
-#INIT 98
-[[ $1 = autostart ]] && sysctl -p >&-
-exit 0
diff --git a/package/base-files/src/etc/init.d/rcK b/package/base-files/src/etc/init.d/rcK
deleted file mode 100755
index 9d0e06440..000000000
--- a/package/base-files/src/etc/init.d/rcK
+++ /dev/null
@@ -1,18 +0,0 @@
-#!/bin/sh
-export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-{
- grep '^#INIT ' /etc/init.d/* | \
- sort -rnk2 | \
- while read line; do
- shebang=$(sed -n '1s/^#![ ]*//p' ${line%%:*})
- case $shebang in
- *[\ \ ]*) shebang=\'$(echo X"$shebang" | sed \
- -e 's/^X//' -e "s/'/'\\\\''/g" \
- -e 's/^\([^ ][^ ]*\)[ ]*$/\1/' \
- -e 's/^\([^ ][^ ]*\)[ ][ ]*\(..*\)$/\1 \2/' \
- -e 's/^\([^ ][^ ]*\) /\1'\'' '\''/')\' ;;
- esac
- ${shebang:-/bin/sh} ${line%%:*} autostop 2>&1
- done
- test -e /etc/rc.shutdown && (/bin/sh /etc/rc.shutdown) 2>&1
-} | logger -s -p 6 -t ''
diff --git a/package/base-files/src/etc/init.d/rcS b/package/base-files/src/etc/init.d/rcS
deleted file mode 100755
index 55c86729c..000000000
--- a/package/base-files/src/etc/init.d/rcS
+++ /dev/null
@@ -1,10 +0,0 @@
-#!/bin/sh
-export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-{
- grep '^#INIT ' /etc/init.d/* | \
- sort -nk2 | \
- while read line; do
- sh ${line%%:*} autostart 2>&1
- done
- test -e /etc/init.d/boot.local && (/bin/sh /etc/init.d/boot.local) 2>&1
-} | logger -p 6 -t '' &
diff --git a/package/base-files/src/etc/inittab b/package/base-files/src/etc/inittab
deleted file mode 100644
index 79e69d931..000000000
--- a/package/base-files/src/etc/inittab
+++ /dev/null
@@ -1,2 +0,0 @@
-::sysinit:/etc/init.d/rcS
-::shutdown:/etc/init.d/rcK
diff --git a/package/base-files/src/etc/ipkg.conf b/package/base-files/src/etc/ipkg.conf
deleted file mode 100644
index cef6d2845..000000000
--- a/package/base-files/src/etc/ipkg.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-src @VENDOR@ http://@HOST@/@SYSTEM@_@ARCH@_@LIBC@/packages
-dest root /
-dest ram /tmp
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
index 86e0c73e1..a32e58781 100755
--- 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
@@ -1,5 +1,4 @@
-#!/bin/sh
-set -e
+#!/bin/sh
[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0
@@ -11,7 +10,7 @@ case "$IF_WIRELESS_MODE" in
sta)
[ "$IF_WIRELESS_SECURITY" != "none" ] && {
logger -t wireless "Killing wpa_supplicant"
- pkill wpa_supplicant
+ kill -9 $(cat /var/run/wpa_supplicant.pid)
}
;;
*)
diff --git a/package/base-files/src/etc/network/if-post-down.d/04-bonding b/package/base-files/src/etc/network/if-post-down.d/04-bonding
new file mode 100755
index 000000000..0b9c9f362
--- /dev/null
+++ b/package/base-files/src/etc/network/if-post-down.d/04-bonding
@@ -0,0 +1,20 @@
+#!/bin/sh
+
+case "$IF_BOND_PORTS" in
+"")
+ exit 0
+ ;;
+none)
+ INTERFACES=""
+ ;;
+*)
+ INTERFACES="$IF_BOND_PORTS"
+ ;;
+esac
+
+for IF in $INTERFACES; do
+ ip link set $IF nomaster
+ ip link set $IF down
+done
+ip link del $IFACE
+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
index 26b33ca80..f153df564 100755
--- 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
@@ -1,13 +1,7 @@
#!/bin/sh
-which vconfig || {
- echo "vconfig executable not found, aborting"
- exit 0
-}
-[ -d /proc/net/vlan ] || {
- echo "no kernel support for 802.1q found, aborting"
- exit 0
-}
+which vconfig >/dev/null || exit 0
+[ -d /proc/net/vlan ] || exit 0
case "$IFACE" in
vlan*)
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
index ebcec5a12..ef070c5bc 100755
--- 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
@@ -1,18 +1,17 @@
#!/bin/sh
-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
[ "$IF_WIRELESS_EXTENSION" ] || IF_WIRELESS_EXTENSION=0
-rfkill unblock wlan 2>/dev/null
+[ -x /usr/sbin/rfkill ] && rfkill unblock wlan 2>/dev/null
wpa=0
wpa1=0
wpa2=0
+pairwise=""
case "$IF_WIRELESS_SECURITY" in
none)
@@ -24,10 +23,12 @@ case "$IF_WIRELESS_SECURITY" in
wpa)
sec=1
wpa1=1
+ pairwise=TKIP
;;
wpa2)
sec=1
wpa2=1
+ pairwise=CCMP
;;
wpa+wpa2)
sec=1
@@ -38,6 +39,8 @@ case "$IF_WIRELESS_SECURITY" in
;;
esac
+[ "$IF_WIRELESS_PAIRWISE" ] || IF_WIRELESS_PAIRWISE=$pairwise
+
case "$IF_WIRELESS_MODE" in
ap)
logger -t hostap "Creating hostapd configuration"
@@ -56,14 +59,14 @@ case "$IF_WIRELESS_MODE" in
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_pairwise=$IF_WIRELESS_PAIRWISE" >> /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 "rsn_pairwise=$IF_WIRELESS_PAIRWISE" >> /tmp/hostapd.conf
echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
}
[ $wpa -eq 1 ] && {
@@ -74,8 +77,12 @@ case "$IF_WIRELESS_MODE" in
echo "rsn_pairwise=CCMP" >> /tmp/hostapd.conf
echo "wpa_passphrase=$IF_WIRELESS_PASSPHRASE" >> /tmp/hostapd.conf
}
+ [ -f /etc/hostapd.conf.post ] && \
+ cat /etc/hostapd.conf.post >> /tmp/hostapd.conf
;;
sta)
+ # need to wait for wlan drivers to settle down
+ sleep 1
ip link set up dev ${IFACE}
[ $IF_WIRELESS_EXTENSION -eq 1 ] && {
[ -x /usr/sbin/iwconfig ] || {
@@ -90,8 +97,11 @@ case "$IF_WIRELESS_MODE" in
exit 1
}
driver=nl80211
- iw dev ${IFACE} set channel $IF_WIRELESS_CHANNEL
- iw dev ${IFACE} connect $IF_WIRELESS_SSID
+ [ $sec -eq 2 ] && {
+ iw dev ${IFACE} connect "$IF_WIRELESS_SSID" key d:0:$IF_WIRELESS_PASSPHRASE
+ } || {
+ iw dev ${IFACE} connect "$IF_WIRELESS_SSID" 2>/dev/null
+ }
}
[ $wpa2 -eq 1 ] && {
[ -x /usr/sbin/wpa_supplicant ] || {
@@ -105,7 +115,7 @@ case "$IF_WIRELESS_MODE" in
echo " psk=\"$IF_WIRELESS_PASSPHRASE\"" >> /tmp/wpa_supplicant.conf
echo " priority=5" >> /tmp/wpa_supplicant.conf
echo "}" >> /tmp/wpa_supplicant.conf
- wpa_supplicant -B -D${driver} -i${IFACE} -c/tmp/wpa_supplicant.conf
+ wpa_supplicant -B -D${driver} -i${IFACE} -P/var/run/wpa_supplicant.pid -c/tmp/wpa_supplicant.conf
}
;;
*)
diff --git a/package/base-files/src/etc/network/if-pre-up.d/05-bonding b/package/base-files/src/etc/network/if-pre-up.d/05-bonding
new file mode 100755
index 000000000..489a2fcad
--- /dev/null
+++ b/package/base-files/src/etc/network/if-pre-up.d/05-bonding
@@ -0,0 +1,37 @@
+#!/bin/sh
+
+INTERFACES=""
+BONDOPTS=""
+for var in $(env | grep '^IF_BOND_'); do
+ val="${var#*=}"
+ opt="${var%%=*}"
+ if [ "$opt" == "IF_BOND_PORTS" ]; then
+ case "$val" in
+ none)
+ INTERFACES=""
+ ;;
+ *)
+ INTERFACES="$val"
+ ;;
+ esac
+ continue
+ fi
+ opt="$(tr '[A-Z]' '[a-z]' <<< ${opt#IF_BOND_})"
+ BONDOPTS+=" $opt"
+ [ -n "$val" ] && BONDOPTS+=" $val"
+done
+
+[ -n "$INTERFACES" ] || exit 0
+
+ip link add $IFACE type bond ${BONDOPTS} || exit 1
+for IF in $INTERFACES; do
+ if ! grep -q $IF /proc/net/dev; then
+ echo "Error: interface '$IF' does not exist!"
+ ip link del $IFACE
+ exit 1
+ fi
+ ip link set $IF master $IFACE
+ ip link set $IF up
+done
+
+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
index cd9d2af3f..1ec73fed2 100755
--- a/package/base-files/src/etc/network/if-up.d/02-wireless
+++ b/package/base-files/src/etc/network/if-up.d/02-wireless
@@ -1,5 +1,4 @@
#!/bin/sh
-set -e
[ "${IFACE%%[0-9]*}" = "wlan" ] || exit 0
diff --git a/package/base-files/src/etc/passwd b/package/base-files/src/etc/passwd
index 32531eb92..30e0c23f9 100644
--- a/package/base-files/src/etc/passwd
+++ b/package/base-files/src/etc/passwd
@@ -1,2 +1,4 @@
root:x:0:0:root:/root:/bin/sh
+daemon:x:1:1:daemon::/bin/false
+bin:x:2:2:bin::/bin/false
nobody:*:65534:65534:nobody:/var:/bin/false
diff --git a/package/base-files/src/etc/rc.shutdown b/package/base-files/src/etc/rc.shutdown
deleted file mode 100644
index 8716dc59e..000000000
--- a/package/base-files/src/etc/rc.shutdown
+++ /dev/null
@@ -1,6 +0,0 @@
-#!/bin/sh
-cd /
-sync
-for i in $(grep -v ^# /etc/fstab 2>/dev/null|awk '{ print $2 }');do
- umount $i 2>/dev/null
-done
diff --git a/package/base-files/src/etc/services b/package/base-files/src/etc/services
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/package/base-files/src/etc/services
diff --git a/package/base-files/src/init b/package/base-files/src/init
deleted file mode 100755
index 98d24c834..000000000
--- a/package/base-files/src/init
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-echo "System initialization ..."
-export PATH=/bin:/sbin:/usr/bin:/usr/sbin
-mount -t devtmpfs devtmpfs /dev >/dev/null 2>&1
-mount -nt proc proc /proc
-mount -o nosuid,nodev,noexec -t sysfs sysfs /sys
-[ ! -f /etc/notmpfs ] && {
- size=$(cat /etc/tmpfs 2>/dev/null)
- [ -z $size ] && size=2048
- mount tmpfs /tmp -t tmpfs -o nosuid,nodev,mode=1777,size=${size}k
-}
-mount -o remount,nosuid,size=128k,mode=0755 -t tmpfs mdev /dev
-[ -d /dev/pts ] || mkdir /dev/pts
-[ -d /dev/shm ] || mkdir /dev/shm
-mount -o nosuid,noexec -t tmpfs tmpfs /dev/shm
-mount -o nosuid,noexec -t devpts devpts /dev/pts
-exec 0<>/dev/console >&0 2>&0
-echo >/dev/mdev.seq
-echo "/sbin/mdev" >/proc/sys/kernel/hotplug
-mdev -s
-cat /etc/.rnd >/dev/urandom 2>&1
-[ -x /kexecinit ] && { /kexecinit; }
-[ -x /cryptinit ] && { /cryptinit; exec switch_root /mnt "/init";}
-[ -x /sbin/cfgfs ] && { cfgfs setup; mount -o remount,ro /;} || mount -o remount,rw /
-exec /sbin/init
diff --git a/package/base-files/src/lib/mdev/init b/package/base-files/src/lib/mdev/init
deleted file mode 100644
index f2b7125b8..000000000
--- a/package/base-files/src/lib/mdev/init
+++ /dev/null
@@ -1,42 +0,0 @@
-#!/bin/sh
-if [ "$SUBSYSTEM" == "firmware" ];then
- logger "Firmware load for $FIRMWARE requested"
- if [ "$ACTION" == "add" ];then
- if [ -e "/lib/firmware/$FIRMWARE" ];then
- logger "Firmware loading ..."
- echo 1 > /sys$DEVPATH/loading
- cat "/lib/firmware/$FIRMWARE" > /sys$DEVPATH/data
- echo 0 > /sys$DEVPATH/loading
- logger "finished."
- else
- logger "Firmware file $FIRMWARE not found"
- echo -1 > /sys$DEVPATH/loading
- fi
- fi
-fi
-if [ "$SUBSYSTEM" == "pcmcia_socket" ];then
- logger "Setting up PCMCIA socket resource database"
- if [ "$ACTION" == "add" ];then
- /usr/sbin/pcmcia-socket-startup
- fi
-fi
-if [ "$SUBSYSTEM" == "usb" ];then
- if [ "$ACTION" == "add" ];then
- if [ "$DEVTYPE" == "usb_device" ];then
- if [ "$PRODUCT" == "12d1/1003/0" ];then
- if [ ! -f /tmp/.huawei ];then
- logger "USB device added with: $PRODUCT"
- usbmods=$(lsmod|grep ^usbserial|awk '{ print $4 }'|sed -e 's/,/ /g')
- for i in $usbmods;do rmmod $i;done
- rmmod usbserial
- lsmod >> /tmp/debug
- test -x /sbin/huawei && /sbin/huawei >> /tmp/debug
- insmod /lib/modules/$(uname -r)/usbserial.ko product=0x1003 vendor=0x12d1
- for i in $usbmods;do insmod /lib/modules/$(uname -r)/$i.ko; done
-
- touch /tmp/.huawei
- fi
- fi
- fi
- fi
-fi
diff --git a/package/base-files/src/sbin/adkupdate b/package/base-files/src/sbin/adkupdate
deleted file mode 100755
index b5477412f..000000000
--- a/package/base-files/src/sbin/adkupdate
+++ /dev/null
@@ -1,112 +0,0 @@
-#!/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
- mount -o bind /tmp/.cfgfs/root /etc
- check_exit
- mount -o remount,rw /etc
- check_exit
- fi
- mount -o remount,rw /
- check_exit
- if [ "$system" == "RB532" ];then
- mount -t yaffs2 /dev/mtdblock0 /boot
- elif [ "$system" == "AR7130" ];then
- mount -t yaffs2 /dev/mtdblock1 /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
-
-# fix permissions
-if [ -f /usr/bin/sudo ];then
- chmod 4755 /usr/bin/sudo
-fi
-if [ -f /usr/bin/Xorg ];then
- chmod 4755 /usr/bin/Xorg
-fi
-
-sync
-if [ -x /sbin/cfgfs ];then
- umount /etc
-fi
-if [ "$system" == "RB532" ];then
- umount -f /boot
-elif [ "$system" == "AR7130" ];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/src/usr/share/udhcpc/default.script b/package/base-files/src/usr/share/udhcpc/default.script
index 415bf92a4..7e9149e6e 100755
--- a/package/base-files/src/usr/share/udhcpc/default.script
+++ b/package/base-files/src/usr/share/udhcpc/default.script
@@ -8,33 +8,26 @@ RESOLV_CONF=/etc/resolv.conf
case $1 in
(deconfig)
- ip addr flush $interface
+ # removes ipv6 link-local address, which is bad
+ # ip addr flush $interface
;;
(renew|bound)
ip addr add $ip/${mask:-24} brd + dev $interface
if [[ -n $router ]]; then
- echo "deleting routers"
while ip route del default >&- 2>&-; do :; done
for i in $router; do
- echo "adding router $i"
ip route add to default via $i
done
fi
-
- touch /tmp/resolv.conf
- ln -sf /tmp/resolv.conf $RESOLV_CONF
echo -n >$RESOLV_CONF
${domain:+echo search $domain} >>$RESOLV_CONF
for i in $dns; do
- echo "adding dns $i"
echo "nameserver $i" >>$RESOLV_CONF
done
-
# user rules
[ -f /etc/udhcpc.user ] && . /etc/udhcpc.user
;;
esac
-
exit $?