sunxi: use fwtool for checking sdcard images

To achieve this, device tree compatible string was used as boardname and
the value of it will be checked against supported_devices list.

It should be noted that we do not distinguish between
sun5i-a13-olimex-som and sun5i-a13-olinuxino as they share the same dts
file.

The other thing is that we need to gunzip the generated firmware to do
fwtool check.

Signed-off-by: Yousong Zhou <yszhou4tech@gmail.com>
This commit is contained in:
Yousong Zhou 2017-01-04 22:19:30 +08:00 committed by Felix Fietkau
parent 5ece16fd23
commit 0ac00c931c
5 changed files with 19 additions and 153 deletions

View file

@ -9,10 +9,10 @@
board_config_update
case "$( sunxi_board_name )" in
"olinuxino-micro"*)
"olimex,a20-olinuxino-micro")
ucidef_set_interface_lan 'wlan0'
;;
"lamobo-r1")
"lamobo,lamobo-r1")
ucidef_add_switch "switch0" \
"4:lan:1" "0:lan:2" "1:lan:3" "2:lan:4" "3:wan" "8@eth0"
;;

View file

@ -1,9 +0,0 @@
#!/bin/sh
do_sunxi() {
. /lib/sunxi.sh
sunxi_board_detect
}
boot_hook_add preinit_main do_sunxi

View file

@ -4,7 +4,7 @@
do_b53_hack() {
# hack: enable switch on Lamobo R1 and reset counters
case "$( sunxi_board_name )" in
"lamobo-r1")
"lamobo,lamobo-r1")
ifconfig eth0 up
sleep 1
swconfig dev switch0 set reset 1

View file

@ -1,145 +1,5 @@
#!/bin/sh
# defaults
SUNXI_BOARD_NAME="generic"
SUNXI_BOARD_MODEL="Generic sunxi board"
sunxi_board_detect() {
local board
local model
[ -e "/tmp/sysinfo/" ] || mkdir -p "/tmp/sysinfo/"
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"
;;
"Lamobo R1")
board="lamobo-r1"
;;
"Olimex A20-OLinuXino-LIME")
board="olinuxino-lime"
;;
"Olimex A20-Olinuxino Micro")
board="olinuxino-a20-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"
}
sunxi_board_name() {
local name

View file

@ -37,12 +37,13 @@ define Device/Default
KERNEL_NAME := zImage
KERNEL := kernel-bin | uImage none
IMAGES := sdcard.img.gz
IMAGE/sdcard.img.gz := sunxi-sdcard | gzip
IMAGE/sdcard.img.gz := sunxi-sdcard | append-metadata | gzip
endef
define Device/sun4i-a10-olinuxino-lime
DEVICE_TITLE:=Olimex A10-OLinuXino-LIME
DEVICE_PACKAGES:=uboot-sunxi-A10-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=olimex,a10-olinuxino-lime
SUNXI_DTS:=sun4i-a10-olinuxino-lime
SUNXI_UBOOT:=A10-OLinuXino-Lime
endef
@ -53,6 +54,7 @@ TARGET_DEVICES += sun4i-a10-olinuxino-lime
define Device/sun5i-a13-olimex-som
DEVICE_TITLE:=Olimex A13 SOM
DEVICE_PACKAGES:=uboot-sunxi-OLIMEX_A13_SOM kmod-rtl8192cu
SUPPORTED_DEVICES:=olimex,a13-olinuxino
SUNXI_DTS:=sun5i-a13-olinuxino
SUNXI_UBOOT:=OLIMEX_A13_SOM
endef
@ -63,6 +65,7 @@ TARGET_DEVICES += sun5i-a13-olimex-som
define Device/sun5i-a13-olinuxino
DEVICE_TITLE:=Olimex A13-Olinuxino
DEVICE_PACKAGES:=uboot-sunxi-A13-OLinuXino kmod-rtl8192cu
SUPPORTED_DEVICES:=olimex,a13-olinuxino
SUNXI_DTS:=sun5i-a13-olinuxino
SUNXI_UBOOT:=A13-OLinuXino
endef
@ -73,6 +76,7 @@ TARGET_DEVICES += sun5i-a13-olinuxino
define Device/sun7i-a20-olinuxino-lime
DEVICE_TITLE:=Olimex A20-OLinuXino-LIME
DEVICE_PACKAGES:=uboot-sunxi-A20-OLinuXino-Lime kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi
SUPPORTED_DEVICES:=olimex,a20-olinuxino-lime
SUNXI_DTS:=sun7i-a20-olinuxino-lime
SUNXI_UBOOT:=A20-OLinuXino-Lime
endef
@ -83,6 +87,7 @@ TARGET_DEVICES += sun7i-a20-olinuxino-lime
define Device/sun7i-a20-olinuxino-micro
DEVICE_TITLE:=Olimex A20-Olinuxino Micro
DEVICE_PACKAGES:=uboot-sunxi-A20-OLinuXino_MICRO kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=olimex,a20-olinuxino-micro
SUNXI_DTS:=sun7i-a20-olinuxino-micro
SUNXI_UBOOT:=A20-OLinuXino_MICRO
endef
@ -93,6 +98,7 @@ TARGET_DEVICES += sun7i-a20-olinuxino-micro
define Device/sun7i-a20-bananapi
DEVICE_TITLE:=LeMaker Banana Pi
DEVICE_PACKAGES:=uboot-sunxi-Bananapi kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi
SUPPORTED_DEVICES:=lemaker,bananapi
SUNXI_DTS:=sun7i-a20-bananapi
SUNXI_UBOOT:=Bananapi
endef
@ -103,6 +109,7 @@ TARGET_DEVICES += sun7i-a20-bananapi
define Device/sun7i-a20-bananapro
DEVICE_TITLE:=LeMaker Banana Pro
DEVICE_PACKAGES:=uboot-sunxi-Bananapro kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-brcmfmac
SUPPORTED_DEVICES:=lemaker,bananapro
SUNXI_DTS:=sun7i-a20-bananapro
SUNXI_UBOOT:=Bananapro
endef
@ -113,6 +120,7 @@ TARGET_DEVICES += sun7i-a20-bananapro
define Device/sun7i-a20-cubieboard2
DEVICE_TITLE:=Cubietech Cubieboard2
DEVICE_PACKAGES:=uboot-sunxi-Cubieboard2 kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=cubietech,cubieboard2
SUNXI_DTS:=sun7i-a20-cubieboard2
SUNXI_UBOOT:=Cubieboard2
endef
@ -123,6 +131,7 @@ TARGET_DEVICES += sun7i-a20-cubieboard2
define Device/sun4i-a10-cubieboard
DEVICE_TITLE:=Cubietech Cubieboard
DEVICE_PACKAGES:=uboot-sunxi-Cubieboard kmod-ata-core kmod-ata-sunxi kmod-sun4i-emac kmod-rtc-sunxi
SUPPORTED_DEVICES:=cubietech,a10-cubieboard
SUNXI_DTS:=sun4i-a10-cubieboard
SUNXI_UBOOT:=Cubieboard
endef
@ -133,6 +142,7 @@ TARGET_DEVICES += sun4i-a10-cubieboard
define Device/sun7i-a20-cubietruck
DEVICE_TITLE:=Cubietech Cubietruck
DEVICE_PACKAGES:=uboot-sunxi-Cubietruck kmod-ata-core kmod-ata-sunxi kmod-rtc-sunxi kmod-brcmfmac
SUPPORTED_DEVICES:=cubietech,cubietruck
SUNXI_DTS:=sun7i-a20-cubietruck
SUNXI_UBOOT:=Cubietruck
endef
@ -143,6 +153,7 @@ TARGET_DEVICES += sun7i-a20-cubietruck
define Device/sun7i-a20-lamobo-r1
DEVICE_TITLE:=Lamobo R1
DEVICE_PACKAGES:=uboot-sunxi-Lamobo_R1 kmod-ata-sunxi kmod-rtl8192cu swconfig wpad-mini
SUPPORTED_DEVICES:=lamobo,lamobo-r1
SUNXI_DTS:=sun7i-a20-lamobo-r1
SUNXI_UBOOT:=Lamobo_R1
endef
@ -153,6 +164,7 @@ TARGET_DEVICES += sun7i-a20-lamobo-r1
define Device/sun6i-a31-m9
DEVICE_TITLE:=Mele M9 top set box
DEVICE_PACKAGES:=uboot-sunxi-Mele_M9 kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUPPORTED_DEVICES:=mele,m9
SUNXI_DTS:=sun6i-a31-m9
SUNXI_UBOOT:=Mele_M9
endef
@ -163,6 +175,7 @@ TARGET_DEVICES += sun6i-a31-m9
define Device/sun8i-h3-orangepi-plus
DEVICE_TITLE:=Xunlong Orange Pi Plus
DEVICE_PACKAGES:=kmod-rtc-sunxi uboot-sunxi-orangepi_plus
SUPPORTED_DEVICES:=xunlong,orangepi-plus
SUNXI_DTS:=sun8i-h3-orangepi-plus
SUNXI_UBOOT:=orangepi_plus
endef
@ -173,6 +186,7 @@ TARGET_DEVICES += sun8i-h3-orangepi-plus
define Device/sun7i-a20-pcduino3
DEVICE_TITLE:=LinkSprite pcDuino3
DEVICE_PACKAGES:=uboot-sunxi-Linksprite_pcDuino3 kmod-sun4i-emac kmod-rtc-sunxi kmod-ata-core kmod-ata-sunxi kmod-rtl8xxxu rtl8188eu-firmware
SUPPORTED_DEVICES:=linksprite,pcduino3
SUNXI_DTS:=sun7i-a20-pcduino3
SUNXI_UBOOT:=Linksprite_pcDuino3
endef
@ -183,6 +197,7 @@ TARGET_DEVICES += sun7i-a20-pcduino3
define Device/sun4i-a10-pcduino
DEVICE_TITLE:=LinkSprite pcDuino
DEVICE_PACKAGES:=uboot-sunxi-Linksprite_pcDuino kmod-sun4i-emac kmod-rtc-sunxi kmod-rtl8192cu
SUPPORTED_DEVICES:=linksprite,a10-pcduino
SUNXI_DTS:=sun4i-a10-pcduino
SUNXI_UBOOT:=Linksprite_pcDuino
endef