ASR_BASE

Change-Id: Icf3719cc0afe3eeb3edc7fa80a2eb5199ca9dda1
diff --git a/package/base-files/files/etc/init.d/boot b/package/base-files/files/etc/init.d/boot
new file mode 100755
index 0000000..d91f591
--- /dev/null
+++ b/package/base-files/files/etc/init.d/boot
@@ -0,0 +1,62 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2006-2011 OpenWrt.org
+
+START=10
+STOP=90
+
+uci_apply_defaults() {
+	. /lib/functions/system.sh
+
+	cd /etc/uci-defaults || return 0
+	files="$(ls)"
+	[ -z "$files" ] && return 0
+	for file in $files; do
+		( . "./$(basename $file)" ) && rm -f "$file"
+	done
+	uci commit
+}
+
+boot() {
+	[ -f /proc/mounts ] || /sbin/mount_root
+	[ -f /proc/jffs2_bbc ] && echo "S" > /proc/jffs2_bbc
+	[ -f /proc/net/vlan/config ] && vconfig set_name_type DEV_PLUS_VID_NO_PAD
+
+	mkdir -p /var/lock
+	chmod 1777 /var/lock
+	mkdir -p /var/log
+	mkdir -p /var/run
+	ln -s /var/run /run
+	ln -s /var/lock /run/lock
+	mkdir -p /var/state
+	mkdir -p /var/tmp
+	mkdir -p /var/camera
+	mkdir -p /tmp/.uci
+	chmod 0700 /tmp/.uci
+	echo 0 > /tmp/dBm
+	touch /var/log/wtmp
+	touch /var/log/lastlog
+	mkdir -p /tmp/resolv.conf.d
+	touch /tmp/resolv.conf.d/resolv.conf.auto
+	ln -sf /tmp/resolv.conf.d/resolv.conf.auto /tmp/resolv.conf
+	grep -q debugfs /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime -t debugfs debugfs /sys/kernel/debug
+	grep -q bpf /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime,mode=0700 -t bpf bpffs /sys/fs/bpf
+	grep -q pstore /proc/filesystems && /bin/mount -o nosuid,nodev,noexec,noatime -t pstore pstore /sys/fs/pstore
+	[ "$FAILSAFE" = "true" ] && touch /tmp/.failsafe
+
+	touch /tmp/.config_pending
+	/bin/pppmodem &
+
+	mkdir -p /tmp/.uci
+	[ -f /etc/uci-defaults/30_uboot-envtools ] && (. /etc/uci-defaults/30_uboot-envtools)
+	/bin/config_generate
+	rm -f /tmp/.config_pending
+	/sbin/wifi config
+	uci_apply_defaults
+	sync
+	
+	# temporary hack until configd exists
+	/sbin/reload_config
+
+	# let mount done early to boot telephony success
+	[ -d /tmp/root ] && mount_root done
+}