From 27b76ab0671089c47506615a796a261e993896a7 Mon Sep 17 00:00:00 2001 From: James <> Date: Sun, 17 Mar 2013 12:16:37 +0000 Subject: fish --- package/base-files/files/lib/preinit/.svn/entries | 674 +++++++++++++++++++++ .../.svn/text-base/02_default_set_state.svn-base | 7 + .../preinit/.svn/text-base/05_mount_skip.svn-base | 13 + .../.svn/text-base/10_check_for_mtd.svn-base | 20 + .../.svn/text-base/10_indicate_failsafe.svn-base | 18 + .../.svn/text-base/10_indicate_preinit.svn-base | 50 ++ .../.svn/text-base/20_check_jffs2_ready.svn-base | 19 + .../.svn/text-base/30_failsafe_wait.svn-base | 84 +++ .../preinit/.svn/text-base/40_mount_jffs2.svn-base | 26 + .../.svn/text-base/40_run_failsafe_hook.svn-base | 13 + .../.svn/text-base/41_merge_overlay_hooks.svn-base | 24 + .../text-base/50_indicate_regular_preinit.svn-base | 11 + .../.svn/text-base/70_initramfs_test.svn-base | 14 + .../.svn/text-base/70_pivot_jffs2_root.svn-base | 14 + .../preinit/.svn/text-base/80_mount_root.svn-base | 9 + .../.svn/text-base/90_mount_no_jffs2.svn-base | 12 + .../.svn/text-base/90_restore_config.svn-base | 17 + .../.svn/text-base/99_10_failsafe_login.svn-base | 18 + .../.svn/text-base/99_10_mount_no_mtd.svn-base | 12 + .../preinit/.svn/text-base/99_10_run_init.svn-base | 10 + .../files/lib/preinit/02_default_set_state | 7 + package/base-files/files/lib/preinit/05_mount_skip | 13 + .../base-files/files/lib/preinit/10_check_for_mtd | 20 + .../files/lib/preinit/10_indicate_failsafe | 18 + .../files/lib/preinit/10_indicate_preinit | 50 ++ .../files/lib/preinit/20_check_jffs2_ready | 19 + .../base-files/files/lib/preinit/30_failsafe_wait | 84 +++ .../base-files/files/lib/preinit/40_mount_jffs2 | 26 + .../files/lib/preinit/40_run_failsafe_hook | 13 + .../files/lib/preinit/41_merge_overlay_hooks | 24 + .../files/lib/preinit/50_indicate_regular_preinit | 11 + .../base-files/files/lib/preinit/70_initramfs_test | 14 + .../files/lib/preinit/70_pivot_jffs2_root | 14 + package/base-files/files/lib/preinit/80_mount_root | 9 + .../base-files/files/lib/preinit/90_mount_no_jffs2 | 12 + .../base-files/files/lib/preinit/90_restore_config | 17 + .../files/lib/preinit/99_10_failsafe_login | 18 + .../files/lib/preinit/99_10_mount_no_mtd | 12 + .../base-files/files/lib/preinit/99_10_run_init | 10 + 39 files changed, 1456 insertions(+) create mode 100644 package/base-files/files/lib/preinit/.svn/entries create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/02_default_set_state.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/05_mount_skip.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/10_check_for_mtd.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/10_indicate_failsafe.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/10_indicate_preinit.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/20_check_jffs2_ready.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/30_failsafe_wait.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/40_mount_jffs2.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/40_run_failsafe_hook.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/41_merge_overlay_hooks.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/50_indicate_regular_preinit.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/70_initramfs_test.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/70_pivot_jffs2_root.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/80_mount_root.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/90_mount_no_jffs2.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/90_restore_config.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/99_10_failsafe_login.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/99_10_mount_no_mtd.svn-base create mode 100644 package/base-files/files/lib/preinit/.svn/text-base/99_10_run_init.svn-base create mode 100644 package/base-files/files/lib/preinit/02_default_set_state create mode 100644 package/base-files/files/lib/preinit/05_mount_skip create mode 100644 package/base-files/files/lib/preinit/10_check_for_mtd create mode 100644 package/base-files/files/lib/preinit/10_indicate_failsafe create mode 100644 package/base-files/files/lib/preinit/10_indicate_preinit create mode 100644 package/base-files/files/lib/preinit/20_check_jffs2_ready create mode 100644 package/base-files/files/lib/preinit/30_failsafe_wait create mode 100644 package/base-files/files/lib/preinit/40_mount_jffs2 create mode 100644 package/base-files/files/lib/preinit/40_run_failsafe_hook create mode 100644 package/base-files/files/lib/preinit/41_merge_overlay_hooks create mode 100644 package/base-files/files/lib/preinit/50_indicate_regular_preinit create mode 100644 package/base-files/files/lib/preinit/70_initramfs_test create mode 100644 package/base-files/files/lib/preinit/70_pivot_jffs2_root create mode 100644 package/base-files/files/lib/preinit/80_mount_root create mode 100644 package/base-files/files/lib/preinit/90_mount_no_jffs2 create mode 100644 package/base-files/files/lib/preinit/90_restore_config create mode 100644 package/base-files/files/lib/preinit/99_10_failsafe_login create mode 100644 package/base-files/files/lib/preinit/99_10_mount_no_mtd create mode 100644 package/base-files/files/lib/preinit/99_10_run_init (limited to 'package/base-files/files/lib/preinit') diff --git a/package/base-files/files/lib/preinit/.svn/entries b/package/base-files/files/lib/preinit/.svn/entries new file mode 100644 index 0000000..8270063 --- /dev/null +++ b/package/base-files/files/lib/preinit/.svn/entries @@ -0,0 +1,674 @@ +10 + +dir +36060 +svn://svn.openwrt.org/openwrt/trunk/package/base-files/files/lib/preinit +svn://svn.openwrt.org/openwrt + + + +2013-03-13T18:11:19.892934Z +36003 +blogic + + + + + + + + + + + + + + +3c298f89-4303-0410-b956-a3cf2f4a3e73 + +90_restore_config +file + + + + +2013-03-17T12:13:21.000000Z +04e69cc1da4d81832d27a2cb7ab5358a +2010-01-25T17:11:17.955488Z +19331 +nbd + + + + + + + + + + + + + + + + + + + + + +311 + +40_run_failsafe_hook +file + + + + +2013-03-17T12:13:21.000000Z +17269a4ab7d6cf87d0cfaa9c66dd45c6 +2010-01-25T17:11:17.955488Z +19331 +nbd + + + + + + + + + + + + + + + + + + + + + +258 + +99_10_failsafe_login +file + + + + +2013-03-17T12:13:21.000000Z +70069fee1421e423b4b1b32fe8d41275 +2010-01-25T17:11:17.955488Z +19331 +nbd + + + + + + + + + + + + + + + + + + + + + +380 + +99_10_mount_no_mtd +file + + + + +2013-03-17T12:13:21.000000Z +6609d58567732864df67793fbd87673f +2010-01-25T17:11:17.955488Z +19331 +nbd + + + + + + + + + + + + + + + + + + + + + +207 + +10_check_for_mtd +file + + + + +2013-03-17T12:13:21.000000Z +d3b129644d4e887c14362fd50cc3a0b2 +2012-12-19T16:07:46.450520Z +34792 +mirko + + + + + + + + + + + + + + + + + + + + + +361 + +05_mount_skip +file + + + + +2013-03-17T12:13:21.000000Z +1653d3e10ce2fa0bb19b9a2bc3512a1b +2010-01-25T17:11:17.955488Z +19331 +nbd + + + + + + + + + + + + + + + + + + + + + +193 + +20_check_jffs2_ready +file + + + + +2013-03-17T12:13:21.000000Z +64b8f9758cf25e80af122a3e458ba2ce +2010-01-25T17:11:17.955488Z +19331 +nbd + + + + + + + + + + + + + + + + + + + + + +344 + +40_mount_jffs2 +file + + + + +2013-03-17T12:13:21.000000Z +b52a12f4e1f86507ced5a17c68721415 +2012-12-19T16:07:46.450520Z +34792 +mirko + + + + + + + + + + + + + + + + + + + + + +509 + +50_indicate_regular_preinit +file + + + + +2013-03-17T12:13:21.000000Z +2b9a9ccda822a0f7b9d57458ca31efe2 +2013-03-13T18:11:19.892934Z +36003 +blogic + + + + + + + + + + + + + + + + + + + + + +251 + +02_default_set_state +file + + + + +2013-03-17T12:13:21.000000Z +193b1e9516b1755f8bd6e23f580e9314 +2011-07-07T02:52:02.172369Z +27501 +cshore + + + + + + + + + + + + + + + + + + + + + +111 + +30_failsafe_wait +file + + + + +2013-03-17T12:13:21.000000Z +fbfc634f57e24a2b818a68731e7d06bb +2013-03-13T18:11:19.892934Z +36003 +blogic + + + + + + + + + + + + + + + + + + + + + +2107 + +90_mount_no_jffs2 +file + + + + +2013-03-17T12:13:21.000000Z +c18d18f6906e46760fa4a7bc641f5e3a +2010-01-25T17:11:17.955488Z +19331 +nbd + + + + + + + + + + + + + + + + + + + + + +240 + +70_initramfs_test +file + + + + +2013-03-17T12:13:21.000000Z +e18ec6f31f263f2d83ba91d1968ee4ad +2010-03-12T14:37:19.807154Z +20159 +juhosg + + + + + + + + + + + + + + + + + + + + + +247 + +70_pivot_jffs2_root +file + + + + +2013-03-17T12:13:21.000000Z +45c359724eec192a210abb1faa4d5c2f +2012-12-19T16:07:46.450520Z +34792 +mirko + + + + + + + + + + + + + + + + + + + + + +335 + +41_merge_overlay_hooks +file + + + + +2013-03-17T12:13:21.000000Z +db40ab6d5b24c82854843cb41f41f80e +2010-09-23T17:32:58.124136Z +23114 +jow + + + + + + + + + + + + + + + + + + + + + +518 + +99_10_run_init +file + + + + +2013-03-17T12:13:21.000000Z +98ebebf030a69b8c25a7e47a0464755c +2013-03-13T18:11:19.892934Z +36003 +blogic + + + + + + + + + + + + + + + + + + + + + +166 + +10_indicate_preinit +file + + + + +2013-03-17T12:13:21.000000Z +4c0cb2401ca1ddfb08398be732832f04 +2013-03-13T18:11:19.892934Z +36003 +blogic + + + + + + + + + + + + + + + + + + + + + +1159 + +10_indicate_failsafe +file + + + + +2013-03-17T12:13:21.000000Z +da886213883c1e3827b041891063609a +2010-01-25T17:11:17.955488Z +19331 +nbd + + + + + + + + + + + + + + + + + + + + + +365 + +80_mount_root +file + + + + +2013-03-17T12:13:21.000000Z +d40c6fa4ce55e2fc41ab815263b95f16 +2013-03-13T18:11:19.892934Z +36003 +blogic + + + + + + + + + + + + + + + + + + + + + +214 + 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 + diff --git a/package/base-files/files/lib/preinit/02_default_set_state b/package/base-files/files/lib/preinit/02_default_set_state new file mode 100644 index 0000000..df43395 --- /dev/null +++ b/package/base-files/files/lib/preinit/02_default_set_state @@ -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/05_mount_skip b/package/base-files/files/lib/preinit/05_mount_skip new file mode 100644 index 0000000..c2b7ee7 --- /dev/null +++ b/package/base-files/files/lib/preinit/05_mount_skip @@ -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/10_check_for_mtd b/package/base-files/files/lib/preinit/10_check_for_mtd new file mode 100644 index 0000000..6a7bd30 --- /dev/null +++ b/package/base-files/files/lib/preinit/10_check_for_mtd @@ -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/10_indicate_failsafe b/package/base-files/files/lib/preinit/10_indicate_failsafe new file mode 100644 index 0000000..7761fd3 --- /dev/null +++ b/package/base-files/files/lib/preinit/10_indicate_failsafe @@ -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/10_indicate_preinit b/package/base-files/files/lib/preinit/10_indicate_preinit new file mode 100644 index 0000000..da70b97 --- /dev/null +++ b/package/base-files/files/lib/preinit/10_indicate_preinit @@ -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/20_check_jffs2_ready b/package/base-files/files/lib/preinit/20_check_jffs2_ready new file mode 100644 index 0000000..3c5cf67 --- /dev/null +++ b/package/base-files/files/lib/preinit/20_check_jffs2_ready @@ -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/30_failsafe_wait b/package/base-files/files/lib/preinit/30_failsafe_wait new file mode 100644 index 0000000..808d973 --- /dev/null +++ b/package/base-files/files/lib/preinit/30_failsafe_wait @@ -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/40_mount_jffs2 b/package/base-files/files/lib/preinit/40_mount_jffs2 new file mode 100644 index 0000000..ded785e --- /dev/null +++ b/package/base-files/files/lib/preinit/40_mount_jffs2 @@ -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/40_run_failsafe_hook b/package/base-files/files/lib/preinit/40_run_failsafe_hook new file mode 100644 index 0000000..faa043c --- /dev/null +++ b/package/base-files/files/lib/preinit/40_run_failsafe_hook @@ -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/41_merge_overlay_hooks b/package/base-files/files/lib/preinit/41_merge_overlay_hooks new file mode 100644 index 0000000..4ca6877 --- /dev/null +++ b/package/base-files/files/lib/preinit/41_merge_overlay_hooks @@ -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/50_indicate_regular_preinit b/package/base-files/files/lib/preinit/50_indicate_regular_preinit new file mode 100644 index 0000000..c200dad --- /dev/null +++ b/package/base-files/files/lib/preinit/50_indicate_regular_preinit @@ -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/70_initramfs_test b/package/base-files/files/lib/preinit/70_initramfs_test new file mode 100644 index 0000000..15c0dcd --- /dev/null +++ b/package/base-files/files/lib/preinit/70_initramfs_test @@ -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/70_pivot_jffs2_root b/package/base-files/files/lib/preinit/70_pivot_jffs2_root new file mode 100644 index 0000000..b76f111 --- /dev/null +++ b/package/base-files/files/lib/preinit/70_pivot_jffs2_root @@ -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/80_mount_root b/package/base-files/files/lib/preinit/80_mount_root new file mode 100644 index 0000000..9a99ee9 --- /dev/null +++ b/package/base-files/files/lib/preinit/80_mount_root @@ -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/90_mount_no_jffs2 b/package/base-files/files/lib/preinit/90_mount_no_jffs2 new file mode 100644 index 0000000..d8ad4ae --- /dev/null +++ b/package/base-files/files/lib/preinit/90_mount_no_jffs2 @@ -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/90_restore_config b/package/base-files/files/lib/preinit/90_restore_config new file mode 100644 index 0000000..210bf61 --- /dev/null +++ b/package/base-files/files/lib/preinit/90_restore_config @@ -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/99_10_failsafe_login b/package/base-files/files/lib/preinit/99_10_failsafe_login new file mode 100644 index 0000000..05d6b77 --- /dev/null +++ b/package/base-files/files/lib/preinit/99_10_failsafe_login @@ -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/99_10_mount_no_mtd b/package/base-files/files/lib/preinit/99_10_mount_no_mtd new file mode 100644 index 0000000..c4f38e4 --- /dev/null +++ b/package/base-files/files/lib/preinit/99_10_mount_no_mtd @@ -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/99_10_run_init b/package/base-files/files/lib/preinit/99_10_run_init new file mode 100644 index 0000000..a8f330f --- /dev/null +++ b/package/base-files/files/lib/preinit/99_10_run_init @@ -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 + -- cgit v1.2.3