[PATCH 8/8] gw_ventana: Migrate to using CONFIG_EXTRA_ENV_TEXT

Tim Harvey tharvey at gateworks.com
Tue Jun 14 18:14:03 CEST 2022


On Mon, Jun 13, 2022 at 7:57 PM Tom Rini <trini at konsulko.com> wrote:
>
> Move the environment text over from being set via
> CONFIG_EXTRA_ENV_SETTINGS in include/configs/gw_ventana.h and over
> to plain text in board/gateworks/gw_ventana/gw_ventana.env.  This lets
> us drop CONFIG_EXTRA_ENV_SETTINGS_COMMON as everything resides in a
> single environment file now.
>
> Cc: Tim Harvey <tharvey at gateworks.com>
> Signed-off-by: Tom Rini <trini at konsulko.com>
> ---
>  board/gateworks/gw_ventana/gw_ventana.env | 145 +++++++++++++++++++++
>  include/configs/gw_ventana.h              | 148 ----------------------
>  2 files changed, 145 insertions(+), 148 deletions(-)
>  create mode 100644 board/gateworks/gw_ventana/gw_ventana.env
>
> diff --git a/board/gateworks/gw_ventana/gw_ventana.env b/board/gateworks/gw_ventana/gw_ventana.env
> new file mode 100644
> index 000000000000..9a316c74f215
> --- /dev/null
> +++ b/board/gateworks/gw_ventana/gw_ventana.env
> @@ -0,0 +1,145 @@
> +/* SPDX-License-Identifier: GPL-2.0+ */
> +/*
> + * Copyright (C) 2013 Gateworks Corporation
> + */
> +
> +splashpos=m,m
> +splashimage=CONFIG_SYS_LOAD_ADDR
> +usb_pgood_delay=2000
> +console=ttymxc1
> +bootdevs=usb mmc sata flash
> +hwconfig=_UNKNOWN_
> +
> +disk=0
> +part=1
> +
> +fdt_high=0xffffffff
> +fdt_addr=0x18000000
> +initrd_high=0xffffffff
> +fixfdt=fdt addr ${fdt_addr}
> +bootdir=boot
> +loadfdt=
> +       if ${fsload} ${fdt_addr} ${bootdir}/${fdt_file}; then
> +               echo Loaded DTB from ${bootdir}/${fdt_file};
> +               run fixfdt;
> +       elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file1}; then
> +               echo Loaded DTB from ${bootdir}/${fdt_file1};
> +               run fixfdt;
> +       elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file2}; then
> +               echo Loaded DTB from ${bootdir}/${fdt_file2};
> +               run fixfdt;
> +       fi
> +
> +fs=ext4
> +script=6x_bootscript-ventana
> +loadscript=
> +       if ${fsload} ${loadaddr} ${bootdir}/${script}; then
> +               source ${loadaddr};
> +       fi
> +
> +uimage=uImage
> +mmc_root=mmcblk0p1
> +mmc_boot=
> +       setenv fsload "${fs}load mmc ${disk}:${part}";
> +       mmc dev ${disk} && mmc rescan &&
> +       setenv dtype mmc; run loadscript;
> +       if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then
> +               setenv bootargs console=${console},${baudrate}
> +                       root=/dev/${mmc_root} rootfstype=${fs}
> +                       rootwait rw ${video} ${extra};
> +               if run loadfdt; then
> +                       bootm ${loadaddr} - ${fdt_addr};
> +               else
> +                       bootm;
> +               fi;
> +       fi
> +
> +sata_boot=
> +       setenv fsload "${fs}load sata ${disk}:${part}";
> +       sata init &&
> +       setenv dtype sata; run loadscript;
> +       if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then
> +               setenv bootargs console=${console},${baudrate}
> +                       root=/dev/sda1 rootfstype=${fs}
> +                       rootwait rw ${video} ${extra};
> +               if run loadfdt; then
> +                       bootm ${loadaddr} - ${fdt_addr};
> +               else
> +                       bootm;
> +               fi;
> +       fi
> +
> +usb_boot=
> +       setenv fsload "${fs}load usb ${disk}:${part}";
> +       usb start && usb dev ${disk} &&
> +       setenv dtype usb; run loadscript;
> +       if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then
> +               setenv bootargs console=${console},${baudrate}
> +                       root=/dev/sda1 rootfstype=${fs}
> +                       rootwait rw ${video} ${extra};
> +               if run loadfdt; then
> +                       bootm ${loadaddr} - ${fdt_addr};
> +               else
> +                       bootm;
> +               fi;
> +       fi
> +
> +#ifdef CONFIG_SPI_FLASH
> +image_os=ventana/openwrt-imx6-imx6q-gw5400-a-squashfs.bin
> +image_uboot=ventana/u-boot_spi.imx
> +
> +spi_koffset=0x90000
> +spi_klen=0x200000
> +
> +spi_updateuboot=echo Updating uboot from
> +       ${serverip}:${image_uboot}...;
> +       tftpboot ${loadaddr} ${image_uboot} &&
> +       sf probe && sf erase 0 80000 &&
> +               sf write ${loadaddr} 400 ${filesize}
> +spi_update=echo Updating OS from ${serverip}:${image_os}
> +       to ${spi_koffset} ...;
> +       tftp ${loadaddr} ${image_os} &&
> +       sf probe &&
> +       sf update ${loadaddr} ${spi_koffset} ${filesize}
> +
> +flash_boot=
> +       if sf probe &&
> +       sf read ${loadaddr} ${spi_koffset} ${spi_klen}; then
> +               setenv bootargs console=${console},${baudrate}
> +                       root=/dev/mtdblock3
> +                       rootfstype=squashfs,jffs2
> +                       ${video} ${extra};
> +               bootm;
> +       fi
> +#else
> +image_rootfs=openwrt-imx6-ventana-rootfs.ubi
> +nand_update=echo Updating NAND from ${serverip}:${image_rootfs}...;
> +       tftp ${loadaddr} ${image_rootfs} &&
> +       nand erase.part rootfs &&
> +       nand write ${loadaddr} rootfs ${filesize}
> +
> +flash_boot=
> +       setenv fsload 'ubifsload';
> +       ubi part rootfs;
> +       if ubi check boot; then
> +               ubifsmount ubi0:boot;
> +               setenv root ubi0:rootfs ubi.mtd=2
> +                       rootfstype=squashfs,ubifs;
> +               setenv bootdir;
> +       elif ubi check rootfs; then
> +               ubifsmount ubi0:rootfs;
> +               setenv root ubi0:rootfs ubi.mtd=2
> +                       rootfstype=ubifs;
> +       fi;
> +       setenv dtype nand; run loadscript;
> +       if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then
> +               setenv bootargs console=${console},${baudrate}
> +                       root=${root} ${video} ${extra};
> +               if run loadfdt; then
> +                       ubifsumount;
> +                       bootm ${loadaddr} - ${fdt_addr};
> +               else
> +                       ubifsumount; bootm;
> +               fi;
> +       fi
> +#endif
> diff --git a/include/configs/gw_ventana.h b/include/configs/gw_ventana.h
> index 77f41502220a..47a72fc8fce5 100644
> --- a/include/configs/gw_ventana.h
> +++ b/include/configs/gw_ventana.h
> @@ -76,152 +76,4 @@
>  #define CONFIG_IPADDR             192.168.1.1
>  #define CONFIG_SERVERIP           192.168.1.146
>
> -#define CONFIG_EXTRA_ENV_SETTINGS_COMMON \
> -       "splashpos=m,m\0" \
> -       "splashimage=" __stringify(CONFIG_SYS_LOAD_ADDR) "\0" \
> -       "usb_pgood_delay=2000\0" \
> -       "console=ttymxc1\0" \
> -       "bootdevs=usb mmc sata flash\0" \
> -       "hwconfig=_UNKNOWN_\0" \
> -       "video=\0" \
> -       \
> -       "disk=0\0" \
> -       "part=1\0" \
> -       \
> -       "fdt_high=0xffffffff\0" \
> -       "fdt_addr=0x18000000\0" \
> -       "initrd_high=0xffffffff\0" \
> -       "fixfdt=" \
> -               "fdt addr ${fdt_addr}\0" \
> -       "bootdir=boot\0" \
> -       "loadfdt=" \
> -               "if ${fsload} ${fdt_addr} ${bootdir}/${fdt_file}; then " \
> -                       "echo Loaded DTB from ${bootdir}/${fdt_file}; " \
> -                       "run fixfdt; " \
> -               "elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file1}; then " \
> -                       "echo Loaded DTB from ${bootdir}/${fdt_file1}; " \
> -                       "run fixfdt; " \
> -               "elif ${fsload} ${fdt_addr} ${bootdir}/${fdt_file2}; then " \
> -                       "echo Loaded DTB from ${bootdir}/${fdt_file2}; " \
> -                       "run fixfdt; " \
> -               "fi\0" \
> -       \
> -       "fs=ext4\0" \
> -       "script=6x_bootscript-ventana\0" \
> -       "loadscript=" \
> -               "if ${fsload} ${loadaddr} ${bootdir}/${script}; then " \
> -                       "source ${loadaddr}; " \
> -               "fi\0" \
> -       \
> -       "uimage=uImage\0" \
> -       "mmc_root=mmcblk0p1\0" \
> -       "mmc_boot=" \
> -               "setenv fsload \"${fs}load mmc ${disk}:${part}\"; " \
> -               "mmc dev ${disk} && mmc rescan && " \
> -               "setenv dtype mmc; run loadscript; " \
> -               "if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \
> -                       "setenv bootargs console=${console},${baudrate} " \
> -                               "root=/dev/${mmc_root} rootfstype=${fs} " \
> -                               "rootwait rw ${video} ${extra}; " \
> -                       "if run loadfdt; then " \
> -                               "bootm ${loadaddr} - ${fdt_addr}; " \
> -                       "else " \
> -                               "bootm; " \
> -                       "fi; " \
> -               "fi\0" \
> -       \
> -       "sata_boot=" \
> -               "setenv fsload \"${fs}load sata ${disk}:${part}\"; " \
> -               "sata init && " \
> -               "setenv dtype sata; run loadscript; " \
> -               "if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \
> -                       "setenv bootargs console=${console},${baudrate} " \
> -                               "root=/dev/sda1 rootfstype=${fs} " \
> -                               "rootwait rw ${video} ${extra}; " \
> -                       "if run loadfdt; then " \
> -                               "bootm ${loadaddr} - ${fdt_addr}; " \
> -                       "else " \
> -                               "bootm; " \
> -                       "fi; " \
> -               "fi\0" \
> -       "usb_boot=" \
> -               "setenv fsload \"${fs}load usb ${disk}:${part}\"; " \
> -               "usb start && usb dev ${disk} && " \
> -               "setenv dtype usb; run loadscript; " \
> -               "if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \
> -                       "setenv bootargs console=${console},${baudrate} " \
> -                               "root=/dev/sda1 rootfstype=${fs} " \
> -                               "rootwait rw ${video} ${extra}; " \
> -                       "if run loadfdt; then " \
> -                               "bootm ${loadaddr} - ${fdt_addr}; " \
> -                       "else " \
> -                               "bootm; " \
> -                       "fi; " \
> -               "fi\0"
> -
> -#ifdef CONFIG_SPI_FLASH
> -       #define CONFIG_EXTRA_ENV_SETTINGS \
> -       CONFIG_EXTRA_ENV_SETTINGS_COMMON \
> -       "image_os=ventana/openwrt-imx6-imx6q-gw5400-a-squashfs.bin\0" \
> -       "image_uboot=ventana/u-boot_spi.imx\0" \
> -       \
> -       "spi_koffset=0x90000\0" \
> -       "spi_klen=0x200000\0" \
> -       \
> -       "spi_updateuboot=echo Updating uboot from " \
> -               "${serverip}:${image_uboot}...; " \
> -               "tftpboot ${loadaddr} ${image_uboot} && " \
> -               "sf probe && sf erase 0 80000 && " \
> -                       "sf write ${loadaddr} 400 ${filesize}\0" \
> -       "spi_update=echo Updating OS from ${serverip}:${image_os} " \
> -               "to ${spi_koffset} ...; " \
> -               "tftp ${loadaddr} ${image_os} && " \
> -               "sf probe && " \
> -               "sf update ${loadaddr} ${spi_koffset} ${filesize}\0" \
> -       \
> -       "flash_boot=" \
> -               "if sf probe && " \
> -               "sf read ${loadaddr} ${spi_koffset} ${spi_klen}; then " \
> -                       "setenv bootargs console=${console},${baudrate} " \
> -                               "root=/dev/mtdblock3 " \
> -                               "rootfstype=squashfs,jffs2 " \
> -                               "${video} ${extra}; " \
> -                       "bootm; " \
> -               "fi\0"
> -#else
> -       #define CONFIG_EXTRA_ENV_SETTINGS \
> -       CONFIG_EXTRA_ENV_SETTINGS_COMMON \
> -       \
> -       "image_rootfs=openwrt-imx6-ventana-rootfs.ubi\0" \
> -       "nand_update=echo Updating NAND from ${serverip}:${image_rootfs}...; " \
> -               "tftp ${loadaddr} ${image_rootfs} && " \
> -               "nand erase.part rootfs && " \
> -               "nand write ${loadaddr} rootfs ${filesize}\0" \
> -       \
> -       "flash_boot=" \
> -               "setenv fsload 'ubifsload'; " \
> -               "ubi part rootfs; " \
> -               "if ubi check boot; then " \
> -                       "ubifsmount ubi0:boot; " \
> -                       "setenv root ubi0:rootfs ubi.mtd=2 " \
> -                               "rootfstype=squashfs,ubifs; " \
> -                       "setenv bootdir; " \
> -               "elif ubi check rootfs; then " \
> -                       "ubifsmount ubi0:rootfs; " \
> -                       "setenv root ubi0:rootfs ubi.mtd=2 " \
> -                               "rootfstype=ubifs; " \
> -               "fi; " \
> -               "setenv dtype nand; run loadscript; " \
> -               "if ${fsload} ${loadaddr} ${bootdir}/${uimage}; then " \
> -                       "setenv bootargs console=${console},${baudrate} " \
> -                               "root=${root} ${video} ${extra}; " \
> -                       "if run loadfdt; then " \
> -                               "ubifsumount; " \
> -                               "bootm ${loadaddr} - ${fdt_addr}; " \
> -                       "else " \
> -                               "ubifsumount; bootm; " \
> -                       "fi; " \
> -               "fi\0"
> -#endif
> -
>  #endif                        /* __CONFIG_H */
> --
> 2.25.1
>

Tom,

Thanks, I've been looking forward to seeing how env is going to get
migrated out of headers. Can you explain the process used to create
this patch? It seems you may have something automated.

Acked-by: Tim Harvey <tharvey at gateworks.com>

Best Regards,

Tim


More information about the U-Boot mailing list