2 # Copyright (C) 2006 OpenWrt.org
3 # Copyright (C) 2010 Vertical Communications
11 if [ "$vid" = "$netdev" ]; then
15 grep -q "$netdev" /proc
/net
/dev ||
return
17 if [ -n "$vid" ]; then
18 ip link add link
$netdev name
$1 type vlan id
$vid
21 ip link
set dev
$netdev up
22 ip
-4 address add
$pi_ip/$pi_netmask broadcast
$pi_broadcast dev
$1
25 preinit_config_board
() {
26 /bin
/board_detect
/tmp
/board.json
28 [ -f "/tmp/board.json" ] ||
return
30 .
/usr
/share
/libubox
/jshn.sh
33 json_load
"$(cat /tmp/board.json)"
41 [ -n "$ifname" ] ||
return
43 # only use the first one
49 preinit_ip_config
$ifname
53 # if the preinit interface isn't specified and ifname is set in
54 # preinit.arch use that interface
55 if [ -z "$pi_ifname" ]; then
59 if [ -n "$pi_ifname" ]; then
60 preinit_ip_config
$pi_ifname
61 elif [ -d "/etc/board.d/" ]; then
66 preinit_ip_deconfig
() {
67 [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc
/net
/dev
&& {
70 netdev
=${pi_ifname%\.*}
73 if [ "$vid" = "$netdev" ]; then
77 ip
-4 address flush dev
$pi_ifname
78 ip link
set dev
$netdev down
80 if [ -n "$vid" ]; then
81 ip link delete
$pi_ifname
87 [ -n "$pi_ifname" ] && grep -q "$pi_ifname" /proc
/net
/dev
&& {
89 [ "$pi_preinit_net_messages" = "y" ] ||
{
90 [ "$pi_failsafe_net_message" = "true" ] &&
91 [ "$pi_preinit_no_failsafe_netmsg" != "y" ]
93 } && netmsg
$pi_broadcast "$1"
102 pi_indicate_preinit
() {
103 preinit_net_echo
"Doing Lede Preinit\n"
107 boot_hook_add preinit_main preinit_ip
108 boot_hook_add preinit_main pi_indicate_preinit