Hi,

[...]

> -*wandboard)
> +*wandboard |\
> +*tx6u-8033)
>       ucidef_set_interface_wan 'eth0'
>       ;;

Please do not use wildcard characters for the board name. This makes it really 
ugly to change anything later, as you cannot grep for a particular device.
Despite, I do not see any reason for introducing a wildcard for supporting a 
single device.

>  esac
> diff --git a/target/linux/imx6/base-files/lib/imx6.sh 
> b/target/linux/imx6/base-
> files/lib/imx6.sh
> index 68caaff15f..c4b87d1c21 100755
> --- a/target/linux/imx6/base-files/lib/imx6.sh
> +++ b/target/linux/imx6/base-files/lib/imx6.sh
> @@ -99,6 +99,10 @@ imx6_board_detect() {
>               name="wandboard"
>               ;;
> 
> +     "Ka-Ro electronics TX6U-8033 Module on MB7 baseboard")
> +             name="tx6u-8033"
> +             ;;
> +

I'm not familiar with this target, but I wonder why we do not use the 
compatible here, but still define board names of our own (deviating from the 
compatible).
However, I admit that this currently is prevented by the default case below and 
this might be a little bit off-topic for the subject of this PR.
Nevertheless, it would be an improvement.

>       *)
>               name="generic"
>               ;;
> diff --git a/target/linux/imx6/base-files/lib/preinit/79_move_config
> b/target/linux/imx6/base-files/lib/preinit/79_move_config
> index bdf397c4fc..00e3570d1d 100644
> --- a/target/linux/imx6/base-files/lib/preinit/79_move_config
> +++ b/target/linux/imx6/base-files/lib/preinit/79_move_config
> @@ -15,6 +15,15 @@ move_config() {
>                       umount /boot
>               fi
>               ;;
> +     *tx6u-8033*)

Please don't use wildcards.

> +             local bootpart=/dev/mmcblk2p1
> +
> +             if [ -b $bootpart ]; then
> +                     mkdir -p /boot
> +                     mount -t ext2 -o rw,noatime $bootpart /boot
> +                     [ -f /boot/sysupgrade.tgz ] && mv -f
> /boot/sysupgrade.tgz /
> +             fi
> +             ;;
>       esac
>  }
> 
> diff --git a/target/linux/imx6/base-files/lib/upgrade/platform.sh
> b/target/linux/imx6/base-files/lib/upgrade/platform.sh
> index a090cc080b..d6eef0c3eb 100755
> --- a/target/linux/imx6/base-files/lib/upgrade/platform.sh
> +++ b/target/linux/imx6/base-files/lib/upgrade/platform.sh
> @@ -1,5 +1,5 @@
>  #
> -# Copyright (C) 2010-2015 OpenWrt.org
> +# Copyright (C) 2010-2019 OpenWrt.org
>  #
> 
>  . /lib/imx6.sh
> @@ -30,6 +30,102 @@ apalis_do_upgrade() {
>       umount /boot
>  }
> 
> +# (mostly) copied from brcm2708 platform.sh (which was copied from x86?)
> +tx6u_8033_check_image() {
> +     local diskdev partdev diff
> +
> +     [ "$#" -gt 1 ] && return 1
> +
> +     export_bootdevice && export_partdevice diskdev 0 || {
> +             echo "Unable to determine upgrade device"
> +             return 1
> +     }
> +
> +     get_partitions "/dev/$diskdev" bootdisk
> +
> +     #extract the boot sector from the image
> +     get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b 2>/dev/null
> +
> +     get_partitions /tmp/image.bs image
> +
> +     #compare tables
> +     diff="$(grep -F -x -v -f /tmp/partmap.bootdisk /tmp/partmap.image)"
> +
> +     rm -f /tmp/image.bs /tmp/partmap.bootdisk /tmp/partmap.image
> +
> +     if [ -n "$diff" ]; then
> +             echo "Partition layout has changed. Full image will be written."
> +             ask_bool 0 "Abort" && exit 1
> +             return 0
> +     fi
> +
> +     return 0;
> +}
> +
> +# (mostly) copied from brcm2708 platform.sh (which was copied from x86?)
> +tx6u_8033_do_upgrade() {
> +     local diskdev partdev diff
> +
> +     export_bootdevice && export_partdevice diskdev 0 || {
> +             echo "Unable to determine upgrade device"
> +             return 1
> +     }
> +
> +     sync
> +
> +     if [ "$SAVE_PARTITIONS" = "1" ]; then
> +             get_partitions "/dev/$diskdev" bootdisk
> +
> +             #extract the boot sector from the image
> +             get_image "$@" | dd of=/tmp/image.bs count=1 bs=512b
> +
> +             get_partitions /tmp/image.bs image
> +
> +             #compare tables
> +             diff="$(grep -F -x -v -f /tmp/partmap.bootdisk
> /tmp/partmap.image)"
> +     else
> +             diff=1
> +     fi
> +
> +     if [ -n "$diff" ]; then
> +             get_image "$@" | dd of="/dev/$diskdev" bs=2M conv=fsync
> +
> +             # Separate removal and addtion is necessary; otherwise, 
> partition
> 1
> +             # will be missing if it overlaps with the old partition 2
> +             partx -d - "/dev/$diskdev"
> +             partx -a - "/dev/$diskdev"
> +
> +             return 0
> +     fi
> +
> +     #iterate over each partition from the image and write it to the boot 
> disk
> +     while read part start size; do
> +             if export_partdevice partdev $part; then
> +                     echo "Writing image to /dev/$partdev..."
> +                     get_image "$@" | dd of="/dev/$partdev" ibs="512"
> obs=1M skip="$start" count="$size" conv=fsync
> +             else
> +                     echo "Unable to find partition $part device, skipped."
> +     fi
> +     done < /tmp/partmap.image
> +
> +     #copy partition uuid
> +     echo "Writing new UUID to /dev/$diskdev..."
> +     get_image "$@" | dd of="/dev/$diskdev" bs=1 skip=440 count=4
> seek=440 conv=fsync
> +}
> +
> +# (mostly) copied from brcm2708 platform.sh (which was copied from x86?)
> +tx6u_8033_copy_config() {
> +     local partdev
> +
> +     if export_partdevice partdev 1; then
> +             mkdir -p /boot
> +             [ -f /boot/vmlinuz.img ] || mount -t ext4 -o rw,noatime
> "/dev/$partdev" /boot
> +             cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE"
> +             sync
> +             unmount /boot
> +     fi
> +}
> +
>  platform_check_image() {
>       local board=$(board_name)
> 
> @@ -41,6 +137,10 @@ platform_check_image() {
>               nand_do_platform_check $board $1
>               return $?;
>               ;;
> +     *tx6u-8033*)

Please don't use wildcards.

> +             tx6u_8033_check_image "$1"
> +             return $?;
> +             ;;
>       esac
> 
>       echo "Sysupgrade is not yet supported on $board."
> @@ -57,6 +157,9 @@ platform_do_upgrade() {
>       *gw5*)
>               nand_do_upgrade "$1"
>               ;;
> +     *tx6u-8033*)

Please don't use wildcards.

> +             tx6u_8033_do_upgrade "$1"
> +             ;;
>       esac
>  }
> 
> @@ -67,6 +170,9 @@ platform_copy_config() {
>       apalis*)
>               apalis_copy_config
>               ;;
> +     *tx6u-8033*)

Please don't use wildcards.

Best

Adrian 

Attachment: openpgp-digital-signature.asc
Description: PGP signature

_______________________________________________
openwrt-devel mailing list
[email protected]
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to