From: Yousong Zhou Date: Wed, 4 Jan 2017 14:19:30 +0000 (+0800) Subject: sunxi: use fwtool for checking sdcard images X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=0ac00c931cc6f0c8a1b9a546f6d9aaa275e8959a;p=librecmc%2Flibrecmc.git 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 --- 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 74fa2a0e6d..2b18748c6f 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@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 f221dbc582..0000000000 --- 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 84070de3eb..7f508ff918 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 ce1292b5fd..dbb27feea0 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 07beb03770..bc696cf8bd 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