From 60ab5bff4c873d875d39293d21945941b4c4ecd1 Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sat, 14 Feb 2015 19:38:54 +0100 Subject: [PATCH 1/2] busybox/05default: Add the script that is used in dora There was a bugfix in regard to broadcast addresses in master but I decided to not take the fix as I want to stay close to the other builds. --- .../busybox/files/sysmocom-idu/simple.script | 86 +++++++++++++++++++ 1 file changed, 86 insertions(+) create mode 100644 recipes-core/busybox/files/sysmocom-idu/simple.script diff --git a/recipes-core/busybox/files/sysmocom-idu/simple.script b/recipes-core/busybox/files/sysmocom-idu/simple.script new file mode 100644 index 0000000000..78ac4242a8 --- /dev/null +++ b/recipes-core/busybox/files/sysmocom-idu/simple.script @@ -0,0 +1,86 @@ +#!/bin/sh + +# udhcpc script edited by Tim Riker + +[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1 + +RESOLV_CONF="/etc/resolv.conf" +[ -n "$broadcast" ] && BROADCAST="broadcast $broadcast" +[ -n "$subnet" ] && NETMASK="netmask $subnet" + +# return 0 if root is mounted on a network filesystem +root_is_nfs() { + sed -n 's/^[^ ]* \([^ ]*\) \([^ ]*\) .*$/\1 \2/p' /proc/mounts | + grep -q "^/ \(nfs\|smbfs\|ncp\|coda\)$" +} + +have_bin_ip=0 +if [ -x /sbin/ip ]; then + have_bin_ip=1 +fi + +case "$1" in + deconfig) + if [ -x /sbin/resolvconf ]; then + /sbin/resolvconf -d "${interface}.udhcpc" + fi + if ! root_is_nfs ; then + if [ $have_bin_ip -eq 1 ]; then + ip addr flush dev $interface + ip link set dev $interface up + else + /sbin/ifconfig $interface 0.0.0.0 + fi + fi + ;; + + renew|bound) + if [ $have_bin_ip -eq 1 ]; then + ip addr add dev $interface local $ip/$mask $BROADCAST + else + /sbin/ifconfig $interface $ip $BROADCAST $NETMASK + fi + + if [ -n "$router" ] ; then + if ! root_is_nfs ; then + if [ $have_bin_ip -eq 1 ]; then + while ip route del default 2>/dev/null ; do + : + done + else + while route del default gw 0.0.0.0 dev $interface 2>/dev/null ; do + : + done + fi + fi + + metric=0 + for i in $router ; do + if [ $have_bin_ip -eq 1 ]; then + ip route add default via $i metric $metric + else + route add default gw $i dev $interface metric $metric 2>/dev/null + fi + metric=$(($metric + 1)) + done + fi + + # Update resolver configuration file + R="" + [ -n "$domain" ] && R="domain $domain +" + for i in $dns; do + echo "$0: Adding DNS $i" + R="${R}nameserver $i +" + done + + if [ -x /sbin/resolvconf ]; then + echo -n "$R" | /sbin/resolvconf -a "${interface}.udhcpc" + else + echo -n "$R" > "$RESOLV_CONF" + fi + ;; +esac + +exit 0 From f1e030419861b90cd0274a71fe7180804b8ccdca Mon Sep 17 00:00:00 2001 From: Holger Hans Peter Freyther Date: Sat, 14 Feb 2015 19:39:47 +0100 Subject: [PATCH 2/2] busybox/50default: Start with the metric of 10 for the IDU For wlan and ppp we want to be able to install another default route and this is only possible if we can use smaller metrics. --- recipes-core/busybox/busybox_sysmocom.inc | 2 +- recipes-core/busybox/files/sysmocom-idu/simple.script | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/recipes-core/busybox/busybox_sysmocom.inc b/recipes-core/busybox/busybox_sysmocom.inc index 13637d3392..11f0941708 100644 --- a/recipes-core/busybox/busybox_sysmocom.inc +++ b/recipes-core/busybox/busybox_sysmocom.inc @@ -1,6 +1,6 @@ SYSMOCOM := "${@os.path.dirname(bb.data.getVar('FILE', d, True))}" FILESEXTRAPATHS_prepend := "${SYSMOCOM}/busybox-${SYSMOCOM_ORIG_PV}:${SYSMOCOM}/files:" -PRINC = "23" +PRINC = "24" SRC_URI += "file://busybox-ifplugd.sh \ file://ifplugd.sh" diff --git a/recipes-core/busybox/files/sysmocom-idu/simple.script b/recipes-core/busybox/files/sysmocom-idu/simple.script index 78ac4242a8..3e304b9b39 100644 --- a/recipes-core/busybox/files/sysmocom-idu/simple.script +++ b/recipes-core/busybox/files/sysmocom-idu/simple.script @@ -54,7 +54,7 @@ case "$1" in fi fi - metric=0 + metric=10 for i in $router ; do if [ $have_bin_ip -eq 1 ]; then ip route add default via $i metric $metric