1fab8a20ad99044b96600350e5e12f59dc4e37b5
[openwrt/staging/yousong.git] / package / base-files / files / lib / preinit / 10_indicate_preinit
1 #!/bin/sh
2 # Copyright (C) 2006 OpenWrt.org
3 # Copyright (C) 2010 Vertical Communications
4
5 preinit_ip() {
6 # if the preinit interface isn't specified and ifname is set in
7 # preinit.arch use that interface
8 if [ -z "$pi_ifname" ]; then
9 pi_ifname=$ifname
10 fi
11
12 [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
13 ip link set dev $pi_ifname up
14 ip -4 address add $pi_ip/$pi_netmask broadcast $pi_broadcast dev $pi_ifname
15 }
16 }
17
18 preinit_ip_deconfig() {
19 [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
20 ip -4 address flush dev $pi_ifname
21 ip link set dev $pi_ifname down
22 }
23 }
24
25 preinit_net_echo() {
26 [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc/net/dev && {
27 {
28 [ "$pi_preinit_net_messages" = "y" ] || {
29 [ "$pi_failsafe_net_message" = "true" ] &&
30 [ "$pi_preinit_no_failsafe_netmsg" != "y" ]
31 }
32 } && netmsg $pi_broadcast "$1"
33 }
34 }
35
36 preinit_echo() {
37 preinit_net_echo $1
38 echo $1
39 }
40
41 pi_indicate_preinit() {
42 preinit_net_echo "Doing OpenWrt Preinit\n"
43 set_state preinit
44 }
45
46 boot_hook_add preinit_main preinit_ip
47 boot_hook_add preinit_main pi_indicate_preinit