diff options
Diffstat (limited to 'target/linux/brcm2708/base-files/lib')
3 files changed, 69 insertions, 0 deletions
diff --git a/target/linux/brcm2708/base-files/lib/brcm2708.sh b/target/linux/brcm2708/base-files/lib/brcm2708.sh new file mode 100644 index 0000000..13c1aa9 --- /dev/null +++ b/target/linux/brcm2708/base-files/lib/brcm2708.sh @@ -0,0 +1,41 @@ +#!/bin/sh +# Copyright (C) 2015 OpenWrt.org + +ifname="" + +brcm2708_detect() { + local board_name model + + model=$(cat /proc/device-tree/model) + case "$model" in + "Raspberry Pi Model B Rev"*) + board_name="rpi-b" + ;; + "Raspberry Pi Model B+ Rev"*) + board_name="rpi-b-plus" + ;; + "Raspberry Pi Compute Module Rev"*) + board_name="rpi-cm" + ;; + "Raspberry Pi 2 Model B Rev"*) + board_name="rpi-2-b" + ;; + *) + board_name="unknown" + ;; + esac + + [ -e "/tmp/sysinfo" ] || mkdir -p "/tmp/sysinfo" + + echo "$board_name" > /tmp/sysinfo/board_name + echo "$model" > /tmp/sysinfo/model +} + +brcm2708_board_name() { + local name + + [ -f /tmp/sysinfo/board_name ] && name=$(cat /tmp/sysinfo/board_name) + [ -n "$name" ] || name="unknown" + + echo $name +} diff --git a/target/linux/brcm2708/base-files/lib/preinit/03_preinit_do_brcm2708.sh b/target/linux/brcm2708/base-files/lib/preinit/03_preinit_do_brcm2708.sh new file mode 100644 index 0000000..2943648 --- /dev/null +++ b/target/linux/brcm2708/base-files/lib/preinit/03_preinit_do_brcm2708.sh @@ -0,0 +1,10 @@ +#!/bin/sh +# Copyright (C) 2015 OpenWrt.org + +do_brcm2708() { + . /lib/brcm2708.sh + + brcm2708_detect +} + +boot_hook_add preinit_main do_brcm2708 diff --git a/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708 b/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708 new file mode 100644 index 0000000..154b01c --- /dev/null +++ b/target/linux/brcm2708/base-files/lib/preinit/05_set_preinit_iface_brcm2708 @@ -0,0 +1,18 @@ +#!/bin/sh +# +# Copyright (C) 2015 OpenWrt.org +# + +. /lib/brcm2708.sh + +set_preinit_iface() { + case "$(brcm2708_board_name)" in + rpi-b |\ + rpi-b-plus |\ + rpi-2-b) + ifname=eth0 + ;; + esac +} + +boot_hook_add preinit_main set_preinit_iface |