diff options
author | James <> | 2013-03-17 12:16:37 +0000 |
---|---|---|
committer | James <> | 2013-03-17 12:16:37 +0000 |
commit | 27b76ab0671089c47506615a796a261e993896a7 (patch) | |
tree | 61213d67e7fa87b20356b23798558e2c4212c42f /package/base-files/files/lib/preinit/.svn/text-base | |
download | trunk-36060-master.tar.gz trunk-36060-master.tar.bz2 trunk-36060-master.zip |
Diffstat (limited to 'package/base-files/files/lib/preinit/.svn/text-base')
19 files changed, 391 insertions, 0 deletions
diff --git a/package/base-files/files/lib/preinit/.svn/text-base/02_default_set_state.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/02_default_set_state.svn-base new file mode 100644 index 0000000..df43395 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/02_default_set_state.svn-base @@ -0,0 +1,7 @@ +#!/bin/sh + +define_default_set_state() { + . /etc/diag.sh +} + +boot_hook_add preinit_main define_default_set_state diff --git a/package/base-files/files/lib/preinit/.svn/text-base/05_mount_skip.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/05_mount_skip.svn-base new file mode 100644 index 0000000..c2b7ee7 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/05_mount_skip.svn-base @@ -0,0 +1,13 @@ +#!/bin/sh + +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +check_skip() { + if [ "$pi_mount_skip_next" = "true" ]; then + return 0 + else + return 1 + fi +} + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/10_check_for_mtd.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/10_check_for_mtd.svn-base new file mode 100644 index 0000000..6a7bd30 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/10_check_for_mtd.svn-base @@ -0,0 +1,20 @@ +#!/bin/sh + +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +mount_no_mtd() { + mtd unlock rootfs + mount -o noatime,remount,rw /dev/root / +} + +check_for_mtd() { + check_skip || { + grep -qs rootfs_data /proc/mtd || { + mount_no_mtd && pi_mount_skip_next=true + } + } +} + +boot_hook_add preinit_mount_root check_for_mtd + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/10_indicate_failsafe.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/10_indicate_failsafe.svn-base new file mode 100644 index 0000000..7761fd3 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/10_indicate_failsafe.svn-base @@ -0,0 +1,18 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +# commands for emitting messages to network in failsafe mode + +indicate_failsafe_led () { + set_state failsafe +} + +indicate_failsafe() { + echo "- failsafe -" + preinit_net_echo "Entering Failsafe!\n" + indicate_failsafe_led +} + +boot_hook_add failsafe indicate_failsafe + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/10_indicate_preinit.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/10_indicate_preinit.svn-base new file mode 100644 index 0000000..da70b97 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/10_indicate_preinit.svn-base @@ -0,0 +1,50 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +preinit_ip() { + # if the preinit interface isn't specified and ifname is set in + # preinit.arch use that interface + if [ -z "$pi_ifname" ]; then + pi_ifname=$ifname + fi + + [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { + ifconfig $pi_ifname $pi_ip netmask $pi_netmask broadcast $pi_broadcast up + } +} + +preinit_ip_deconfig() { + [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { + ifconfig $pi_ifname 0.0.0.0 down + } +} + +preinit_net_echo() { + [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && { + { + [ "$pi_preinit_net_messages" = "y" ] || { + [ "$pi_failsafe_net_message" = "true" ] && + [ "$pi_preinit_no_failsafe_netmsg" != "y" ] + } + } && netmsg $pi_broadcast "$1" + } +} + +preinit_echo() { + preinit_net_echo $1 + echo $1 +} + +pi_indicate_led() { + set_state preinit +} + +pi_indicate_preinit() { + preinit_net_echo "Doing OpenWRT Preinit\n" + pi_indicate_led +} + +boot_hook_add preinit_main preinit_ip +boot_hook_add preinit_main pi_indicate_preinit + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/20_check_jffs2_ready.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/20_check_jffs2_ready.svn-base new file mode 100644 index 0000000..3c5cf67 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/20_check_jffs2_ready.svn-base @@ -0,0 +1,19 @@ +#!/bin/sh +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +mount_no_jffs2() { + echo "jffs2 not ready yet; using ramdisk" + ramoverlay +} + +check_for_jffs2() { + check_skip || { + jffs2_ready || { + mount_no_jffs2 && pi_mount_skip_next=true + } + } +} + +boot_hook_add preinit_mount_root check_for_jffs2 + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/30_failsafe_wait.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/30_failsafe_wait.svn-base new file mode 100644 index 0000000..808d973 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/30_failsafe_wait.svn-base @@ -0,0 +1,84 @@ +#!/bin/sh +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +fs_wait_for_key () { + local timeout=$3 + local timer + local do_failsafe + local keypress_true="$(mktemp)" + local keypress_wait="$(mktemp)" + local keypress_sec="$(mktemp)" + if [ -z "$keypress_wait" ]; then + keypress_wait=/tmp/.keypress_wait + touch $keypress_wait + fi + if [ -z "$keypress_true" ]; then + keypress_true=/tmp/.keypress_true + touch $keypress_true + fi + if [ -z "$keypress_sec" ]; then + keypress_sec=/tmp/.keypress_sec + touch $keypress_sec + fi + + trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" INT + trap "echo 'true' >$keypress_true; lock -u $keypress_wait ; rm -f $keypress_wait" USR1 + + [ -n "$timeout" ] || timeout=1 + [ $timeout -ge 1 ] || timeout=1 + timer=$timeout + lock $keypress_wait + { + while [ $timer -gt 0 ]; do + echo "$timer" >$keypress_sec + timer=$(($timer - 1)) + sleep 1 + done + lock -u $keypress_wait + rm -f $keypress_wait + } & + + echo "Press the [$1] key and hit [enter] $2" + # if we're on the console we wait for input + { + while [ -r $keypress_wait ]; do + timer="$(cat $keypress_sec)" + + [ -n "$timer" ] || timer=1 + timer="${timer%%\ *}" + [ $timer -ge 1 ] || timer=1 + do_failsafe="" + { + read -t "$timer" do_failsafe + if [ "$do_failsafe" = "$1" ]; then + echo "true" >$keypress_true + lock -u $keypress_wait + rm -f $keypress_wait + fi + } + done + } + lock -w $keypress_wait + + keypressed=1 + [ "$(cat $keypress_true)" = "true" ] && keypressed=0 + [ -f "/tmp/failsafe_button" ] && keypressed=1 + + rm -f $keypress_true + rm -f $keypress_wait + rm -f $keypress_sec + + return $keypressed +} + +failsafe_wait() { + FAILSAFE= + pi_failsafe_net_message=true + preinit_net_echo "Please press button now to enter failsafe" + pi_failsafe_net_message=false + fs_wait_for_key f 'to enter failsafe mode' $fs_failsafe_wait_timeout && FAILSAFE=true && export FAILSAFE +} + +boot_hook_add preinit_main failsafe_wait + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/40_mount_jffs2.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/40_mount_jffs2.svn-base new file mode 100644 index 0000000..ded785e --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/40_mount_jffs2.svn-base @@ -0,0 +1,26 @@ +#!/bin/sh +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +find_mount_jffs2() { + mkdir -p /tmp/overlay + mount -o noatime -t jffs2 "$(find_mtd_part rootfs_data)" /tmp/overlay + mtd -qq unlock rootfs_data +} + +jffs2_not_mounted() { + if [ "$pi_jffs2_mount_success" != "true" ]; then + return 0 + else + return 1 + fi +} + +do_mount_jffs2() { + check_skip || { + find_mount_jffs2 && pi_jffs2_mount_success=true + } +} + +boot_hook_add preinit_mount_root do_mount_jffs2 + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/40_run_failsafe_hook.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/40_run_failsafe_hook.svn-base new file mode 100644 index 0000000..faa043c --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/40_run_failsafe_hook.svn-base @@ -0,0 +1,13 @@ +#!/bin/sh +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +run_failsafe_hook() { + if [ "$FAILSAFE" = "true" ]; then + boot_run_hook failsafe + lock -w /tmp/.failsafe + fi +} + +boot_hook_add preinit_main run_failsafe_hook + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/41_merge_overlay_hooks.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/41_merge_overlay_hooks.svn-base new file mode 100644 index 0000000..4ca6877 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/41_merge_overlay_hooks.svn-base @@ -0,0 +1,24 @@ +#!/bin/sh +# Copyright (C) 2010 OpenWrt.org + +merge_overlay_hooks() { + jffs2_not_mounted || [ ! -d /tmp/overlay/lib/preinit ] || { + echo "- merge overlay components -" + + mkdir -p /tmp/preinit-hook-merge + ln -sf /lib/preinit/* /tmp/overlay/lib/preinit/[0-9][0-9]_* /tmp/preinit-hook-merge/ + + boot_hook_splice_start + + local pipart + for pipart in /tmp/preinit-hook-merge/*; do + . $pipart + done + + boot_hook_splice_finish + + rm -rf /tmp/preinit-hook-merge + } +} + +boot_hook_add preinit_mount_root merge_overlay_hooks diff --git a/package/base-files/files/lib/preinit/.svn/text-base/50_indicate_regular_preinit.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/50_indicate_regular_preinit.svn-base new file mode 100644 index 0000000..c200dad --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/50_indicate_regular_preinit.svn-base @@ -0,0 +1,11 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +indicate_regular_preinit() { + preinit_net_echo "Continuing with Regular Preinit\n" + pi_indicate_led +} + +boot_hook_add preinit_main indicate_regular_preinit + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/70_initramfs_test.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/70_initramfs_test.svn-base new file mode 100644 index 0000000..15c0dcd --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/70_initramfs_test.svn-base @@ -0,0 +1,14 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +initramfs_test() { + if [ -n "$INITRAMFS" ]; then + boot_run_hook initramfs + preinit_ip_deconfig + break + fi +} + +boot_hook_add preinit_main initramfs_test + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/70_pivot_jffs2_root.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/70_pivot_jffs2_root.svn-base new file mode 100644 index 0000000..b76f111 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/70_pivot_jffs2_root.svn-base @@ -0,0 +1,14 @@ +#!/bin/sh +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +rootfs_pivot() { + check_skip || jffs2_not_mounted || { + echo "switching to jffs2" + mount -o noatime,move /tmp/overlay /overlay 2>&- + fopivot /overlay /rom && pi_mount_skip_next=true + } +} + +boot_hook_add preinit_mount_root rootfs_pivot + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/80_mount_root.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/80_mount_root.svn-base new file mode 100644 index 0000000..9a99ee9 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/80_mount_root.svn-base @@ -0,0 +1,9 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +do_mount_root() { + boot_run_hook preinit_mount_root +} + +[ "$INITRAMFS" = "1" ] || boot_hook_add preinit_main do_mount_root diff --git a/package/base-files/files/lib/preinit/.svn/text-base/90_mount_no_jffs2.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/90_mount_no_jffs2.svn-base new file mode 100644 index 0000000..d8ad4ae --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/90_mount_no_jffs2.svn-base @@ -0,0 +1,12 @@ +#!/bin/sh +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +do_mount_no_jffs2() { + check_skip || { + mount_no_jffs2 && pi_mount_skip_next=true + } +} + +boot_hook_add preinit_mount_root do_mount_no_jffs2 + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/90_restore_config.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/90_restore_config.svn-base new file mode 100644 index 0000000..210bf61 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/90_restore_config.svn-base @@ -0,0 +1,17 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +restore_config() { + [ -f /sysupgrade.tgz ] && { + echo "- config restore -" + cd / + mv sysupgrade.tgz /tmp + tar xzf /tmp/sysupgrade.tgz + rm -f /tmp/sysupgrade.tgz + sync + } +} + +boot_hook_add preinit_main restore_config + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/99_10_failsafe_login.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/99_10_failsafe_login.svn-base new file mode 100644 index 0000000..05d6b77 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/99_10_failsafe_login.svn-base @@ -0,0 +1,18 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +failsafe_netlogin () { + telnetd -l /bin/login.sh <> /dev/null 2>&1 +} + +failsafe_shell() { + lock /tmp/.failsafe + ash --login + echo "Please reboot system when done with failsafe network logins" +} + + +boot_hook_add failsafe failsafe_netlogin +boot_hook_add failsafe failsafe_shell + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/99_10_mount_no_mtd.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/99_10_mount_no_mtd.svn-base new file mode 100644 index 0000000..c4f38e4 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/99_10_mount_no_mtd.svn-base @@ -0,0 +1,12 @@ +#!/bin/sh +# Copyright (C) 2006-2010 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +do_mount_no_mtd() { + check_skip || { + mount_no_mtd + } +} + +boot_hook_add preinit_mount_root do_mount_no_mtd + diff --git a/package/base-files/files/lib/preinit/.svn/text-base/99_10_run_init.svn-base b/package/base-files/files/lib/preinit/.svn/text-base/99_10_run_init.svn-base new file mode 100644 index 0000000..a8f330f --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/text-base/99_10_run_init.svn-base @@ -0,0 +1,10 @@ +#!/bin/sh +# Copyright (C) 2006 OpenWrt.org +# Copyright (C) 2010 Vertical Communications + +run_init() { + preinit_ip_deconfig +} + +boot_hook_add preinit_main run_init + |