|
|
|
@ -1,44 +1,136 @@ |
|
|
|
|
#!/bin/sh |
|
|
|
|
|
|
|
|
|
# defaults |
|
|
|
|
SUNXI_BOARD_NAME="generic sunxi" |
|
|
|
|
SUNXI_BOARD_MODEL="generic sunxi" |
|
|
|
|
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_NAME="generic" |
|
|
|
|
SUNXI_BOARD_MODEL="Generic sunxi board" |
|
|
|
|
|
|
|
|
|
sunxi_board_detect() { |
|
|
|
|
local board |
|
|
|
|
local model |
|
|
|
|
sunxi_env_dev |
|
|
|
|
|
|
|
|
|
[ -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 |
|
|
|
|
SUNXI_BOARD_NAME="$board" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
if [ "$model" != "" ]; then |
|
|
|
|
SUNXI_BOARD_MODEL="$model" |
|
|
|
|
fi |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
echo "$SUNXI_BOARD_NAME" > /tmp/sysinfo/board_name |
|
|
|
|
echo "$SUNXI_BOARD_MODEL" > /tmp/sysinfo/model |
|
|
|
|
echo "Detected $SUNXI_BOARD_NAME // $SUNXI_BOARD_MODEL" |
|
|
|
|