aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/x86/base-files/lib
diff options
context:
space:
mode:
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-05 10:12:53 +0000
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>2012-10-05 10:12:53 +0000
commit5c105d9f3fd086aff195d3849dcf847d6b0bd927 (patch)
tree1229a11f725bfa58aa7c57a76898553bb5f6654a /target/linux/x86/base-files/lib
downloadopenwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.tar.gz
openwrt-5c105d9f3fd086aff195d3849dcf847d6b0bd927.zip
branch Attitude Adjustment
git-svn-id: svn://svn.openwrt.org/openwrt/branches/attitude_adjustment@33625 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/x86/base-files/lib')
-rw-r--r--target/linux/x86/base-files/lib/preinit/15_essential_fs_x868
-rw-r--r--target/linux/x86/base-files/lib/preinit/45_failsafe_x8613
-rw-r--r--target/linux/x86/base-files/lib/preinit/89_move_config22
-rwxr-xr-xtarget/linux/x86/base-files/lib/soekris.sh19
-rw-r--r--target/linux/x86/base-files/lib/upgrade/platform.sh50
5 files changed, 112 insertions, 0 deletions
diff --git a/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86 b/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86
new file mode 100644
index 000000000..ba22849d1
--- /dev/null
+++ b/target/linux/x86/base-files/lib/preinit/15_essential_fs_x86
@@ -0,0 +1,8 @@
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+do_mount_procfs() {
+ mount -t proc none /proc
+}
+
diff --git a/target/linux/x86/base-files/lib/preinit/45_failsafe_x86 b/target/linux/x86/base-files/lib/preinit/45_failsafe_x86
new file mode 100644
index 000000000..2ca039cbd
--- /dev/null
+++ b/target/linux/x86/base-files/lib/preinit/45_failsafe_x86
@@ -0,0 +1,13 @@
+#!/bin/sh
+# Copyright (C) 2006-2010 OpenWrt.org
+# Copyright (C) 2010 Vertical Communications
+
+failsafe_wait() {
+ FAILSAFE=
+ grep -q 'failsafe=' /proc/cmdline && FAILSAFE=true && export FAILSAFE
+ if [ "$FAILSAFE" != "true" ]; then
+ preinit_net_echo "Please press button now to enter failsafe"
+ fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true && export FAILSAFE
+ fi
+}
+
diff --git a/target/linux/x86/base-files/lib/preinit/89_move_config b/target/linux/x86/base-files/lib/preinit/89_move_config
new file mode 100644
index 000000000..ba337e10e
--- /dev/null
+++ b/target/linux/x86/base-files/lib/preinit/89_move_config
@@ -0,0 +1,22 @@
+#!/bin/sh
+# Copyright (C) 2012 OpenWrt.org
+
+move_config() {
+ local rootfsdev
+ local rootfstype
+
+ rootfstype="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "rootfstype") { print $2 }' < /proc/cmdline)"
+ case "$rootfstype" in
+ squashfs|jffs2)
+ rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "block2mtd.block2mtd") { print substr($2,1,index($2, ",")-1) }' < /proc/cmdline)";;
+ ext4)
+ rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "root") { print $2 }' < /proc/cmdline)";;
+ esac
+
+ mount -t ext4 -o rw,noatime "${rootfsdev%[0-9]}1" /mnt
+ mv -f /mnt/sysupgrade.tgz /
+ umount /mnt
+}
+
+boot_hook_add preinit_main move_config
+
diff --git a/target/linux/x86/base-files/lib/soekris.sh b/target/linux/x86/base-files/lib/soekris.sh
new file mode 100755
index 000000000..e416ad396
--- /dev/null
+++ b/target/linux/x86/base-files/lib/soekris.sh
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+net48xx_board_name () {
+ local name
+ local pci=`wc -l /proc/bus/pci/devices`
+
+ case "$pci" in
+ *"8"*)
+ name="net4826"
+ ;;
+ *1[0-4]*)
+ name="net4801"
+ ;;
+ *)
+ name="net4826"
+ ;;
+ esac
+ echo $name
+}
diff --git a/target/linux/x86/base-files/lib/upgrade/platform.sh b/target/linux/x86/base-files/lib/upgrade/platform.sh
new file mode 100644
index 000000000..dc4790ba3
--- /dev/null
+++ b/target/linux/x86/base-files/lib/upgrade/platform.sh
@@ -0,0 +1,50 @@
+USE_REFRESH=1
+
+x86_get_rootfs() {
+ local rootfsdev
+ local rootfstype
+
+ rootfstype="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "rootfstype") { print $2 }' < /proc/cmdline)"
+ case "$rootfstype" in
+ squashfs|jffs2)
+ rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "block2mtd.block2mtd") { print substr($2,1,index($2, ",")-1) }' < /proc/cmdline)";;
+ ext4)
+ rootfsdev="$(awk 'BEGIN { RS=" "; FS="="; } ($1 == "root") { print $2 }' < /proc/cmdline)";;
+ esac
+
+ echo "$rootfstype:$rootfsdev"
+}
+
+platform_check_image() {
+ [ "$ARGC" -gt 1 ] && return 1
+
+ case "$(get_magic_word "$1")" in
+ eb48) return 0;;
+ *)
+ echo "Invalid image type"
+ return 1
+ ;;
+ esac
+}
+
+platform_refresh_partitions() {
+ return 0
+}
+
+platform_copy_config() {
+ local rootfs="$(x86_get_rootfs)"
+ local rootfsdev="${rootfs##*:}"
+
+ mount -t ext4 -o rw,noatime "${rootfsdev%[0-9]}1" /mnt
+ cp -af "$CONF_TAR" /mnt/
+ umount /mnt
+}
+
+platform_do_upgrade() {
+ local rootfs="$(x86_get_rootfs)"
+ local rootfsdev="${rootfs##*:}"
+
+ sync
+ [ -b ${rootfsdev%[0-9]} ] && get_image "$@" | dd of=${rootfsdev%[0-9]} bs=4096 conv=fsync
+ sleep 1
+}