<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>Processor Expert SoftwareのトピックRe: Save UBOOT environment</title>
    <link>https://community.nxp.com/t5/Processor-Expert-Software/Save-UBOOT-environment/m-p/1383366#M4923</link>
    <description>&lt;P&gt;We have made changes as you suggested, but still we are facing issue.&lt;BR /&gt;#define CONFIG_SYS_MMC_ENV_DEV 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Please find our approach below and let us know any corrections/addtional changes required.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Step 1: Cross compiling fw_printenv&lt;BR /&gt;-----------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We have cross compiled and copied fw_printenv to /bin/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and created symlink as below&lt;BR /&gt;ln -s fw_printenv fw_setenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;So we have both fw_printenv and fw_setenv are present in /bin&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/bin/fw_setenv -&amp;gt; fw_printenv&lt;BR /&gt;/bin/fw_printenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Step 2: Creating fw_env.config file&lt;BR /&gt;-----------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Created fw_env.config file with below mentioned content&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;vi /etc/fw_env.config&lt;BR /&gt;/dev/mmcblk3 0x400000 0x20000&lt;BR /&gt;/dev/mmcblk3 0x400000 0x20000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Step 3: Reading and writing uboot environment variables from Linux command line&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now able to read and write the uboot environment variables&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;root@f1 ~# fw_printenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Warning: Bad CRC, using default environment&lt;BR /&gt;bootcmd=f1boot&lt;BR /&gt;bootdelay=2&lt;BR /&gt;baudrate=115200&lt;BR /&gt;ethprime=eth0&lt;BR /&gt;loadaddr=0x82000000&lt;BR /&gt;bootdelay=3&lt;BR /&gt;rd_loadaddr=0x83000000&lt;BR /&gt;fdt_loadaddr=0x81000000&lt;BR /&gt;dtb_file=imx6sx_35som_better_emmc.dtb&lt;BR /&gt;m4_loadaddr=0x9FF00000&lt;BR /&gt;kernel_image=uImage&lt;BR /&gt;rootfs=rootfs_fct.cpio.gz.u-boot&lt;BR /&gt;user_bootargs=console=ttymxc0,115200&lt;BR /&gt;ummcdev=CONFIG_SYS_MMC_ENV_DEV&lt;BR /&gt;bootargs_base=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/mmcblk3p2 rw rootfstype=ext4&lt;BR /&gt;bootargs_base_fct=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/ram0 rw ramdisk_size=0x10000000&lt;BR /&gt;load_fct_kernel_usb=mw.b ${loadaddr} 0 0x10 ; fatload usb 0 ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_dtb_usb=mw.b ${fdt_loadaddr} 0 0x10 ; fatload usb 0 ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_usb=mw.b ${rd_loadaddr} 0 0x10 ; fatload usb 0 ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_fct_kernel_tftp=mw.b ${loadaddr} 0 0x10 ; tftpboot ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_dtb_tftp=mw.b ${fdt_loadaddr} 0 0x10 ; tftpboot ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_tftp=mw.b ${rd_loadaddr} 0 0x10 ; tftpboot ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_device_tree=mw.b ${fdt_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${fdt_loadaddr} iotgw.dtb&lt;BR /&gt;load_kernel_mmc=mw.b ${loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${loadaddr} kernel.f1img&lt;BR /&gt;load_m4_mmc=mw.b ${m4_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${m4_loadaddr} iotgw_rpmsg.m4&lt;BR /&gt;bootcmd_fct_usb=usb start ; run load_fct_kernel_usb ; run load_fct_dtb_usb ; run load_fct_fs_usb ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_fct_tftp=run load_fct_kernel_tftp ; run load_fct_dtb_tftp ; run load_fct_fs_tftp ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_mmc=run load_device_tree ; run load_kernel_mmc ; run load_m4_mmc ; run bootargs_base ;bootaux ${m4_loadaddr} ;bootm ${loadaddr} - ${fdt_loadaddr};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;root@f1 ~# fw_setenv user_bootargs "console=ttymxc0,115200 spi-ksz9897.multi_dev=1 spi-ksz9897.eth1_ports=0xc spi-ksz9897.eth1_vlan=0x7e spi-ksz9897.eth1_proto=hsr"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Warning: Bad CRC, using default environment&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;root@f1 ~# fw_printenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;bootcmd=f1boot&lt;BR /&gt;bootdelay=2&lt;BR /&gt;baudrate=115200&lt;BR /&gt;ethprime=eth0&lt;BR /&gt;loadaddr=0x82000000&lt;BR /&gt;bootdelay=3&lt;BR /&gt;rd_loadaddr=0x83000000&lt;BR /&gt;fdt_loadaddr=0x81000000&lt;BR /&gt;dtb_file=imx6sx_35som_better_emmc.dtb&lt;BR /&gt;m4_loadaddr=0x9FF00000&lt;BR /&gt;kernel_image=uImage&lt;BR /&gt;rootfs=rootfs_fct.cpio.gz.u-boot&lt;BR /&gt;ummcdev=CONFIG_SYS_MMC_ENV_DEV&lt;BR /&gt;bootargs_base=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/mmcblk3p2 rw rootfstype=ext4&lt;BR /&gt;bootargs_base_fct=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/ram0 rw ramdisk_size=0x10000000&lt;BR /&gt;load_fct_kernel_usb=mw.b ${loadaddr} 0 0x10 ; fatload usb 0 ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_dtb_usb=mw.b ${fdt_loadaddr} 0 0x10 ; fatload usb 0 ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_usb=mw.b ${rd_loadaddr} 0 0x10 ; fatload usb 0 ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_fct_kernel_tftp=mw.b ${loadaddr} 0 0x10 ; tftpboot ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_dtb_tftp=mw.b ${fdt_loadaddr} 0 0x10 ; tftpboot ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_tftp=mw.b ${rd_loadaddr} 0 0x10 ; tftpboot ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_device_tree=mw.b ${fdt_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${fdt_loadaddr} iotgw.dtb&lt;BR /&gt;load_kernel_mmc=mw.b ${loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${loadaddr} kernel.f1img&lt;BR /&gt;load_m4_mmc=mw.b ${m4_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${m4_loadaddr} iotgw_rpmsg.m4&lt;BR /&gt;bootcmd_fct_usb=usb start ; run load_fct_kernel_usb ; run load_fct_dtb_usb ; run load_fct_fs_usb ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_fct_tftp=run load_fct_kernel_tftp ; run load_fct_dtb_tftp ; run load_fct_fs_tftp ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_mmc=run load_device_tree ; run load_kernel_mmc ; run load_m4_mmc ; run bootargs_base ;bootaux ${m4_loadaddr} ;bootm ${loadaddr} - ${fdt_loadaddr};&lt;BR /&gt;user_bootargs=console=ttymxc0,115200 spi-ksz9897.multi_dev=1 spi-ksz9897.eth1_ports=0xc spi-ksz9897.eth1_vlan=0x7e spi-ksz9897.eth1_proto=hsr&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Step 5: Reading Uboot environment variables from uboot command line&lt;BR /&gt;-------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;IoT U-Boot &amp;gt;printenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;baudrate=115200&lt;BR /&gt;bootargs_base=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/mmcblk3p2 rw rootfstype=ext4&lt;BR /&gt;bootargs_base_fct=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/ram0 rw ramdisk_size=0x10000000&lt;BR /&gt;bootcmd=f1boot&lt;BR /&gt;bootcmd_fct_tftp=run load_fct_kernel_tftp ; run load_fct_dtb_tftp ; run load_fct_fs_tftp ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_fct_usb=usb start ; run load_fct_kernel_usb ; run load_fct_dtb_usb ; run load_fct_fs_usb ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_mmc=run load_device_tree ; run load_kernel_mmc ; run load_m4_mmc ; run bootargs_base ;bootaux ${m4_loadaddr} ;bootm ${loadaddr} - ${fdt_loadaddr};&lt;BR /&gt;bootdelay=3&lt;BR /&gt;booted_from_usb=n&lt;BR /&gt;dtb_file=imx6sx_35som_better_emmc.dtb&lt;BR /&gt;eth1addr=00:04:9f:01:1b:68&lt;BR /&gt;ethact=ethernet@02188000&lt;BR /&gt;ethaddr=00:04:9f:01:1b:58&lt;BR /&gt;ethprime=eth0&lt;BR /&gt;fdt_loadaddr=0x81000000&lt;BR /&gt;fdtcontroladdr=9de52d08&lt;BR /&gt;kernel_image=uImage&lt;BR /&gt;load_device_tree=mw.b ${fdt_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${fdt_loadaddr} iotgw.dtb&lt;BR /&gt;load_fct_dtb_tftp=mw.b ${fdt_loadaddr} 0 0x10 ; tftpboot ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_dtb_usb=mw.b ${fdt_loadaddr} 0 0x10 ; fatload usb 0 ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_tftp=mw.b ${rd_loadaddr} 0 0x10 ; tftpboot ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_fct_fs_usb=mw.b ${rd_loadaddr} 0 0x10 ; fatload usb 0 ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_fct_kernel_tftp=mw.b ${loadaddr} 0 0x10 ; tftpboot ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_kernel_usb=mw.b ${loadaddr} 0 0x10 ; fatload usb 0 ${loadaddr} ${kernel_image}&lt;BR /&gt;load_kernel_mmc=mw.b ${loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${loadaddr} kernel.f1img&lt;BR /&gt;load_m4_mmc=mw.b ${m4_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${m4_loadaddr} iotgw_rpmsg.m4&lt;BR /&gt;loadaddr=0x82000000&lt;BR /&gt;m4_loadaddr=0x9FF00000&lt;BR /&gt;rd_loadaddr=0x83000000&lt;BR /&gt;rootfs=rootfs_fct.cpio.gz.u-boot&lt;BR /&gt;stderr=serial&lt;BR /&gt;stdin=serial&lt;BR /&gt;stdout=serial&lt;BR /&gt;ubootver=2019.07-g0ee95423-g0ee95423&lt;BR /&gt;ummcdev=CONFIG_SYS_MMC_ENV_DEV&lt;BR /&gt;user_bootargs=console=ttymxc0,115200&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;From the above steps we can observe that, we are able to set uboot environment variables from linux command line.&lt;BR /&gt;But getting below CRC error and uboot is booting with default environment variables only.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Warning: Bad CRC, using default environment&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;And saveenv is not available in Uboot shell&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;our uboot configs have below chnages:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;# CONFIG_ENV_IS_NOWHERE is not set&lt;BR /&gt;CONFIG_ENV_IS_IN_MMC=y&lt;BR /&gt;CONFIG_CMD_SAVEENV=y&lt;/P&gt;</description>
    <pubDate>Wed, 08 Dec 2021 10:51:39 GMT</pubDate>
    <dc:creator>parth_shah</dc:creator>
    <dc:date>2021-12-08T10:51:39Z</dc:date>
    <item>
      <title>Save UBOOT environment</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/Save-UBOOT-environment/m-p/1381871#M4921</link>
      <description>&lt;P&gt;U-Boot 2019.07&lt;/P&gt;&lt;P&gt;CPU: Freescale i.MX6SX rev1.4 at 792MHz&lt;/P&gt;&lt;P&gt;Linux version 4.14.200&lt;/P&gt;&lt;P&gt;Yocto: dunfell&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We want to enable the support for storing the uboot arguments in EMMC.&lt;/P&gt;&lt;P&gt;Please provide the details to enable on IMX6.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/37066"&gt;@igorpadykov&lt;/a&gt;&amp;nbsp;: Any suggestion?&lt;/P&gt;</description>
      <pubDate>Mon, 06 Dec 2021 10:01:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/Save-UBOOT-environment/m-p/1381871#M4921</guid>
      <dc:creator>parth_shah</dc:creator>
      <dc:date>2021-12-06T10:01:17Z</dc:date>
    </item>
    <item>
      <title>Re: Save UBOOT environment</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/Save-UBOOT-environment/m-p/1382230#M4922</link>
      <description>&lt;P&gt;Hi Parth&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;gt;We want to enable the support for storing the uboot arguments in EMMC.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;one can look at&amp;nbsp; #define CONFIG_SYS_MMC_ENV_DEV 3 /*USDHC4*/&lt;/P&gt;
&lt;P&gt;&lt;A href="https://source.codeaurora.org/external/imx/uboot-imx/tree/include/configs/mx6sxsabresd.h?h=lf_v2021.04" target="_blank"&gt;https://source.codeaurora.org/external/imx/uboot-imx/tree/include/configs/mx6sxsabresd.h?h=lf_v2021.04&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Best regards&lt;BR /&gt;igor&lt;/P&gt;</description>
      <pubDate>Tue, 07 Dec 2021 00:02:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/Save-UBOOT-environment/m-p/1382230#M4922</guid>
      <dc:creator>igorpadykov</dc:creator>
      <dc:date>2021-12-07T00:02:04Z</dc:date>
    </item>
    <item>
      <title>Re: Save UBOOT environment</title>
      <link>https://community.nxp.com/t5/Processor-Expert-Software/Save-UBOOT-environment/m-p/1383366#M4923</link>
      <description>&lt;P&gt;We have made changes as you suggested, but still we are facing issue.&lt;BR /&gt;#define CONFIG_SYS_MMC_ENV_DEV 3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Please find our approach below and let us know any corrections/addtional changes required.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Step 1: Cross compiling fw_printenv&lt;BR /&gt;-----------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We have cross compiled and copied fw_printenv to /bin/&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;and created symlink as below&lt;BR /&gt;ln -s fw_printenv fw_setenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;So we have both fw_printenv and fw_setenv are present in /bin&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;/bin/fw_setenv -&amp;gt; fw_printenv&lt;BR /&gt;/bin/fw_printenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Step 2: Creating fw_env.config file&lt;BR /&gt;-----------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Created fw_env.config file with below mentioned content&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;vi /etc/fw_env.config&lt;BR /&gt;/dev/mmcblk3 0x400000 0x20000&lt;BR /&gt;/dev/mmcblk3 0x400000 0x20000&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Step 3: Reading and writing uboot environment variables from Linux command line&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now able to read and write the uboot environment variables&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;root@f1 ~# fw_printenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Warning: Bad CRC, using default environment&lt;BR /&gt;bootcmd=f1boot&lt;BR /&gt;bootdelay=2&lt;BR /&gt;baudrate=115200&lt;BR /&gt;ethprime=eth0&lt;BR /&gt;loadaddr=0x82000000&lt;BR /&gt;bootdelay=3&lt;BR /&gt;rd_loadaddr=0x83000000&lt;BR /&gt;fdt_loadaddr=0x81000000&lt;BR /&gt;dtb_file=imx6sx_35som_better_emmc.dtb&lt;BR /&gt;m4_loadaddr=0x9FF00000&lt;BR /&gt;kernel_image=uImage&lt;BR /&gt;rootfs=rootfs_fct.cpio.gz.u-boot&lt;BR /&gt;user_bootargs=console=ttymxc0,115200&lt;BR /&gt;ummcdev=CONFIG_SYS_MMC_ENV_DEV&lt;BR /&gt;bootargs_base=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/mmcblk3p2 rw rootfstype=ext4&lt;BR /&gt;bootargs_base_fct=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/ram0 rw ramdisk_size=0x10000000&lt;BR /&gt;load_fct_kernel_usb=mw.b ${loadaddr} 0 0x10 ; fatload usb 0 ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_dtb_usb=mw.b ${fdt_loadaddr} 0 0x10 ; fatload usb 0 ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_usb=mw.b ${rd_loadaddr} 0 0x10 ; fatload usb 0 ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_fct_kernel_tftp=mw.b ${loadaddr} 0 0x10 ; tftpboot ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_dtb_tftp=mw.b ${fdt_loadaddr} 0 0x10 ; tftpboot ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_tftp=mw.b ${rd_loadaddr} 0 0x10 ; tftpboot ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_device_tree=mw.b ${fdt_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${fdt_loadaddr} iotgw.dtb&lt;BR /&gt;load_kernel_mmc=mw.b ${loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${loadaddr} kernel.f1img&lt;BR /&gt;load_m4_mmc=mw.b ${m4_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${m4_loadaddr} iotgw_rpmsg.m4&lt;BR /&gt;bootcmd_fct_usb=usb start ; run load_fct_kernel_usb ; run load_fct_dtb_usb ; run load_fct_fs_usb ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_fct_tftp=run load_fct_kernel_tftp ; run load_fct_dtb_tftp ; run load_fct_fs_tftp ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_mmc=run load_device_tree ; run load_kernel_mmc ; run load_m4_mmc ; run bootargs_base ;bootaux ${m4_loadaddr} ;bootm ${loadaddr} - ${fdt_loadaddr};&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;root@f1 ~# fw_setenv user_bootargs "console=ttymxc0,115200 spi-ksz9897.multi_dev=1 spi-ksz9897.eth1_ports=0xc spi-ksz9897.eth1_vlan=0x7e spi-ksz9897.eth1_proto=hsr"&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Warning: Bad CRC, using default environment&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;root@f1 ~# fw_printenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;bootcmd=f1boot&lt;BR /&gt;bootdelay=2&lt;BR /&gt;baudrate=115200&lt;BR /&gt;ethprime=eth0&lt;BR /&gt;loadaddr=0x82000000&lt;BR /&gt;bootdelay=3&lt;BR /&gt;rd_loadaddr=0x83000000&lt;BR /&gt;fdt_loadaddr=0x81000000&lt;BR /&gt;dtb_file=imx6sx_35som_better_emmc.dtb&lt;BR /&gt;m4_loadaddr=0x9FF00000&lt;BR /&gt;kernel_image=uImage&lt;BR /&gt;rootfs=rootfs_fct.cpio.gz.u-boot&lt;BR /&gt;ummcdev=CONFIG_SYS_MMC_ENV_DEV&lt;BR /&gt;bootargs_base=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/mmcblk3p2 rw rootfstype=ext4&lt;BR /&gt;bootargs_base_fct=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/ram0 rw ramdisk_size=0x10000000&lt;BR /&gt;load_fct_kernel_usb=mw.b ${loadaddr} 0 0x10 ; fatload usb 0 ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_dtb_usb=mw.b ${fdt_loadaddr} 0 0x10 ; fatload usb 0 ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_usb=mw.b ${rd_loadaddr} 0 0x10 ; fatload usb 0 ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_fct_kernel_tftp=mw.b ${loadaddr} 0 0x10 ; tftpboot ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_dtb_tftp=mw.b ${fdt_loadaddr} 0 0x10 ; tftpboot ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_tftp=mw.b ${rd_loadaddr} 0 0x10 ; tftpboot ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_device_tree=mw.b ${fdt_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${fdt_loadaddr} iotgw.dtb&lt;BR /&gt;load_kernel_mmc=mw.b ${loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${loadaddr} kernel.f1img&lt;BR /&gt;load_m4_mmc=mw.b ${m4_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${m4_loadaddr} iotgw_rpmsg.m4&lt;BR /&gt;bootcmd_fct_usb=usb start ; run load_fct_kernel_usb ; run load_fct_dtb_usb ; run load_fct_fs_usb ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_fct_tftp=run load_fct_kernel_tftp ; run load_fct_dtb_tftp ; run load_fct_fs_tftp ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_mmc=run load_device_tree ; run load_kernel_mmc ; run load_m4_mmc ; run bootargs_base ;bootaux ${m4_loadaddr} ;bootm ${loadaddr} - ${fdt_loadaddr};&lt;BR /&gt;user_bootargs=console=ttymxc0,115200 spi-ksz9897.multi_dev=1 spi-ksz9897.eth1_ports=0xc spi-ksz9897.eth1_vlan=0x7e spi-ksz9897.eth1_proto=hsr&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Step 5: Reading Uboot environment variables from uboot command line&lt;BR /&gt;-------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;IoT U-Boot &amp;gt;printenv&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;baudrate=115200&lt;BR /&gt;bootargs_base=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/mmcblk3p2 rw rootfstype=ext4&lt;BR /&gt;bootargs_base_fct=setenv bootargs "${user_bootargs}" ubootver="${ubootver}" root=/dev/ram0 rw ramdisk_size=0x10000000&lt;BR /&gt;bootcmd=f1boot&lt;BR /&gt;bootcmd_fct_tftp=run load_fct_kernel_tftp ; run load_fct_dtb_tftp ; run load_fct_fs_tftp ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_fct_usb=usb start ; run load_fct_kernel_usb ; run load_fct_dtb_usb ; run load_fct_fs_usb ; run bootargs_base_fct;bootm ${loadaddr} ${rd_loadaddr} ${fdt_loadaddr};&lt;BR /&gt;bootcmd_mmc=run load_device_tree ; run load_kernel_mmc ; run load_m4_mmc ; run bootargs_base ;bootaux ${m4_loadaddr} ;bootm ${loadaddr} - ${fdt_loadaddr};&lt;BR /&gt;bootdelay=3&lt;BR /&gt;booted_from_usb=n&lt;BR /&gt;dtb_file=imx6sx_35som_better_emmc.dtb&lt;BR /&gt;eth1addr=00:04:9f:01:1b:68&lt;BR /&gt;ethact=ethernet@02188000&lt;BR /&gt;ethaddr=00:04:9f:01:1b:58&lt;BR /&gt;ethprime=eth0&lt;BR /&gt;fdt_loadaddr=0x81000000&lt;BR /&gt;fdtcontroladdr=9de52d08&lt;BR /&gt;kernel_image=uImage&lt;BR /&gt;load_device_tree=mw.b ${fdt_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${fdt_loadaddr} iotgw.dtb&lt;BR /&gt;load_fct_dtb_tftp=mw.b ${fdt_loadaddr} 0 0x10 ; tftpboot ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_dtb_usb=mw.b ${fdt_loadaddr} 0 0x10 ; fatload usb 0 ${fdt_loadaddr} ${dtb_file}&lt;BR /&gt;load_fct_fs_tftp=mw.b ${rd_loadaddr} 0 0x10 ; tftpboot ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_fct_fs_usb=mw.b ${rd_loadaddr} 0 0x10 ; fatload usb 0 ${rd_loadaddr} ${rootfs}&lt;BR /&gt;load_fct_kernel_tftp=mw.b ${loadaddr} 0 0x10 ; tftpboot ${loadaddr} ${kernel_image}&lt;BR /&gt;load_fct_kernel_usb=mw.b ${loadaddr} 0 0x10 ; fatload usb 0 ${loadaddr} ${kernel_image}&lt;BR /&gt;load_kernel_mmc=mw.b ${loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${loadaddr} kernel.f1img&lt;BR /&gt;load_m4_mmc=mw.b ${m4_loadaddr} 0 0x10 ; mmc dev ${ummcdev} &amp;amp;&amp;amp; fatload mmc ${ummcdev}:7 ${m4_loadaddr} iotgw_rpmsg.m4&lt;BR /&gt;loadaddr=0x82000000&lt;BR /&gt;m4_loadaddr=0x9FF00000&lt;BR /&gt;rd_loadaddr=0x83000000&lt;BR /&gt;rootfs=rootfs_fct.cpio.gz.u-boot&lt;BR /&gt;stderr=serial&lt;BR /&gt;stdin=serial&lt;BR /&gt;stdout=serial&lt;BR /&gt;ubootver=2019.07-g0ee95423-g0ee95423&lt;BR /&gt;ummcdev=CONFIG_SYS_MMC_ENV_DEV&lt;BR /&gt;user_bootargs=console=ttymxc0,115200&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;From the above steps we can observe that, we are able to set uboot environment variables from linux command line.&lt;BR /&gt;But getting below CRC error and uboot is booting with default environment variables only.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Warning: Bad CRC, using default environment&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;And saveenv is not available in Uboot shell&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;our uboot configs have below chnages:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;# CONFIG_ENV_IS_NOWHERE is not set&lt;BR /&gt;CONFIG_ENV_IS_IN_MMC=y&lt;BR /&gt;CONFIG_CMD_SAVEENV=y&lt;/P&gt;</description>
      <pubDate>Wed, 08 Dec 2021 10:51:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Processor-Expert-Software/Save-UBOOT-environment/m-p/1383366#M4923</guid>
      <dc:creator>parth_shah</dc:creator>
      <dc:date>2021-12-08T10:51:39Z</dc:date>
    </item>
  </channel>
</rss>

