base-files: gracefully handle empty variables in preinit (#11155)

SVN-Revision: 31030
This commit is contained in:
Jo-Philipp Wich 2012-03-19 20:37:12 +00:00
parent 0099e0e79b
commit bf96743548

View file

@ -1,5 +1,5 @@
#!/bin/sh #!/bin/sh
# Copyright (C) 2009 OpenWrt.org # Copyright (C) 2009-2012 OpenWrt.org
. /lib/functions/boot.sh . /lib/functions/boot.sh
@ -13,7 +13,7 @@ r6040_module() {
set_ether_mac() { set_ether_mac() {
kernel=$(grep firmware /proc/mtd | awk -F: '{print $1}') kernel=$(grep firmware /proc/mtd | awk -F: '{print $1}')
[ -n $kernel ] && hdr=$(dd if=/dev/$kernel count=4 bs=1 2> /dev/null) [ -n "$kernel" ] && hdr=$(dd if=/dev/$kernel count=4 bs=1 2> /dev/null)
[ "$hdr" = "CSYS" ] && config=$(find_mtd_part config) [ "$hdr" = "CSYS" ] && config=$(find_mtd_part config)
if [ -n "$config" ]; then if [ -n "$config" ]; then
mac0=$(hexdump -n 6 -e '6/1 ":%X"' -s 24583 $config | cut -c2-) mac0=$(hexdump -n 6 -e '6/1 ":%X"' -s 24583 $config | cut -c2-)
@ -21,13 +21,13 @@ set_ether_mac() {
mac1=$(hexdump -n 6 -e '6/1 ":%X"' -s 24589 $config | cut -c2-) mac1=$(hexdump -n 6 -e '6/1 ":%X"' -s 24589 $config | cut -c2-)
[ "$mac1" = "FF:FF:FF:FF:FF:FF" -o "$mac0" = "0:0:0:0:0:0" ] && unset mac1 [ "$mac1" = "FF:FF:FF:FF:FF:FF" -o "$mac0" = "0:0:0:0:0:0" ] && unset mac1
fi fi
if [ -n $mac0 ]; then if [ -n "$mac0" ]; then
logger -t kernel -p user.info "r6040: Setting MAC for eth0 to $mac0" logger -t kernel -p user.info "r6040: Setting MAC for eth0 to $mac0"
ifconfig eth0 hw ether $mac0 ifconfig eth0 hw ether "$mac0"
fi fi
if [ -n $mac1 ]; then if [ -n "$mac1" ]; then
logger -t kernel -p user.info "r6040: Setting MAC for eth1 to $mac1" logger -t kernel -p user.info "r6040: Setting MAC for eth1 to $mac1"
ifconfig eth1 hw ether $mac1 ifconfig eth1 hw ether "$mac1"
fi fi
} }