[LEDE-DEV] [PATCH v4 4/6] sunxi: use fwtool for checking sdcard images

Yousong Zhou yszhou4tech at gmail.com
Wed Jan 4 06:19:30 PST 2017


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 at gmail.com>
---
 .../linux/sunxi/base-files/etc/board.d/02_network  |   4 +-
 .../base-files/lib/preinit/01_preinit_sunxi.sh     |   9 --
 .../sunxi/base-files/lib/preinit/02_b53_hack.sh    |   2 +-
 target/linux/sunxi/base-files/lib/sunxi.sh         | 140 ---------------------
 target/linux/sunxi/image/Makefile                  |  17 ++-
 5 files changed, 19 insertions(+), 153 deletions(-)
 delete mode 100644 target/linux/sunxi/base-files/lib/preinit/01_preinit_sunxi.sh

diff --git a/target/linux/sunxi/base-files/etc/board.d/02_network b/target/linux/sunxi/base-files/etc/board.d/02_network
index 74fa2a0..2b18748 100755
--- a/target/linux/sunxi/base-files/etc/board.d/02_network
+++ b/target/linux/sunxi/base-files/etc/board.d/02_network
@@ -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 at eth0"
 	;;
diff --git a/target/linux/sunxi/base-files/lib/preinit/01_preinit_sunxi.sh b/target/linux/sunxi/base-files/lib/preinit/01_preinit_sunxi.sh
deleted file mode 100644
index f221dbc..0000000
--- a/target/linux/sunxi/base-files/lib/preinit/01_preinit_sunxi.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-
-do_sunxi() {
-        . /lib/sunxi.sh
-
-        sunxi_board_detect
-}
-
-boot_hook_add preinit_main do_sunxi
diff --git a/target/linux/sunxi/base-files/lib/preinit/02_b53_hack.sh b/target/linux/sunxi/base-files/lib/preinit/02_b53_hack.sh
index 84070de..7f508ff 100644
--- a/target/linux/sunxi/base-files/lib/preinit/02_b53_hack.sh
+++ b/target/linux/sunxi/base-files/lib/preinit/02_b53_hack.sh
@@ -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
diff --git a/target/linux/sunxi/base-files/lib/sunxi.sh b/target/linux/sunxi/base-files/lib/sunxi.sh
index ce1292b..dbb27fe 100644
--- a/target/linux/sunxi/base-files/lib/sunxi.sh
+++ b/target/linux/sunxi/base-files/lib/sunxi.sh
@@ -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
 
diff --git a/target/linux/sunxi/image/Makefile b/target/linux/sunxi/image/Makefile
index 07beb03..bc696cf 100644
--- a/target/linux/sunxi/image/Makefile
+++ b/target/linux/sunxi/image/Makefile
@@ -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
-- 
2.6.4




More information about the Lede-dev mailing list