mirror of https://github.com/hak5/openwrt-owl.git
sunxi: implement board_detect for device-tree kernels
Signed-off-by: Daniel Golle <daniel@makrotopia.org> SVN-Revision: 44211owl
parent
50364b2d08
commit
d4f6f169b8
|
@ -1,44 +1,136 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
# defaults
|
# defaults
|
||||||
SUNXI_BOARD_NAME="generic sunxi"
|
SUNXI_BOARD_NAME="generic"
|
||||||
SUNXI_BOARD_MODEL="generic sunxi"
|
SUNXI_BOARD_MODEL="Generic sunxi board"
|
||||||
SUNXI_ENV_DEV=/dev/mmcblk0
|
|
||||||
|
|
||||||
#Helper functions
|
|
||||||
get_cmdline_opt()
|
|
||||||
{
|
|
||||||
cat /proc/cmdline | awk -F$1= '{print $2}' | awk '{print $1}'
|
|
||||||
}
|
|
||||||
|
|
||||||
#Since fw_getenv doesn't work with blockdevs let's make a hack
|
|
||||||
uboot_getenv()
|
|
||||||
{
|
|
||||||
dd if=$SUNXI_ENV_DEV bs=1024 skip=544 count=128 2>dev/null |\strings|grep $1|cut -d"=" -f2
|
|
||||||
}
|
|
||||||
|
|
||||||
#Actual routines go below
|
|
||||||
sunxi_env_dev()
|
|
||||||
{
|
|
||||||
local dev
|
|
||||||
dev=`get_cmdline_opt root|cut -d"p" -f1`
|
|
||||||
SUNXI_ENV_DEV=$dev
|
|
||||||
echo "probing $dev for uboot env data"
|
|
||||||
}
|
|
||||||
|
|
||||||
sunxi_board_detect() {
|
sunxi_board_detect() {
|
||||||
local board
|
local board
|
||||||
local model
|
local model
|
||||||
sunxi_env_dev
|
|
||||||
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
|
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
|
||||||
board="`uboot_getenv wrt_board`"
|
|
||||||
model="`uboot_getenv wrt_model`"
|
model="$( cat /proc/device-tree/model )"
|
||||||
|
|
||||||
|
case "$model" in
|
||||||
|
"Mele A1000")
|
||||||
|
board="a1000"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"BA10 tvbox")
|
||||||
|
board="ba10-tvbox"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Cubietech Cubieboard")
|
||||||
|
board="cubieboard"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Miniand Hackberry")
|
||||||
|
board="hackberry"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"INet-97F Rev 02")
|
||||||
|
board="inet97fv2"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"PineRiver Mini X-Plus")
|
||||||
|
board="mini-xplus"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Olimex A10-OLinuXino-LIME")
|
||||||
|
board="olinuxino-lime"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"LinkSprite pcDuino")
|
||||||
|
board="pcduino"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Olimex A10s-Olinuxino Micro")
|
||||||
|
board="olinuxino-micro"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"R7 A10s hdmi tv-stick")
|
||||||
|
board="r7-tv-dongle"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"HSG H702")
|
||||||
|
board="hsg-h702"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Olimex A13-Olinuxino")
|
||||||
|
board="olinuxino"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Olimex A13-Olinuxino Micro")
|
||||||
|
board="olinuxino-micro"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Allwinner A31 APP4 EVB1 Evaluation Board")
|
||||||
|
board="app4-evb1"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"WITS A31 Colombus Evaluation Board")
|
||||||
|
board="colombus"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Merrii A31 Hummingbird")
|
||||||
|
board="hummingbird"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Mele M9 / A1000G Quad top set box")
|
||||||
|
board="m9"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"LeMaker Banana Pi")
|
||||||
|
board="bananapi"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"LeMaker Banana Pro")
|
||||||
|
board="bananapro"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Cubietech Cubieboard2")
|
||||||
|
board="cubieboard2"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Cubietech Cubietruck")
|
||||||
|
board="cubietruck"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Merrii A20 Hummingbird")
|
||||||
|
board="hummingbird"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"I12 / Q5 / QT840A A20 tvbox")
|
||||||
|
board="i12-tvbox"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Olimex A20-OLinuXino-LIME")
|
||||||
|
board="olinuxino-lime"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Olimex A20-Olinuxino Micro")
|
||||||
|
board="olinuxino-micro"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"LinkSprite pcDuino3")
|
||||||
|
board="pcduino3"
|
||||||
|
;;
|
||||||
|
|
||||||
|
"Ippo Q8H Dual Core Tablet (v5)")
|
||||||
|
board="ippo-q8h-v5"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
if [ "$board" != "" ]; then
|
if [ "$board" != "" ]; then
|
||||||
SUNXI_BOARD_NAME="$board"
|
SUNXI_BOARD_NAME="$board"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ "$model" != "" ]; then
|
if [ "$model" != "" ]; then
|
||||||
SUNXI_BOARD_MODEL="$model"
|
SUNXI_BOARD_MODEL="$model"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
echo "$SUNXI_BOARD_NAME" > /tmp/sysinfo/board_name
|
echo "$SUNXI_BOARD_NAME" > /tmp/sysinfo/board_name
|
||||||
echo "$SUNXI_BOARD_MODEL" > /tmp/sysinfo/model
|
echo "$SUNXI_BOARD_MODEL" > /tmp/sysinfo/model
|
||||||
echo "Detected $SUNXI_BOARD_NAME // $SUNXI_BOARD_MODEL"
|
echo "Detected $SUNXI_BOARD_NAME // $SUNXI_BOARD_MODEL"
|
||||||
|
|
Loading…
Reference in New Issue