[U-Boot] i.MX8MQ-EVK with ext4 read support

Fabio Estevam festevam at gmail.com
Thu Dec 20 13:29:37 UTC 2018


Hi Chris,

On Thu, Dec 20, 2018 at 10:59 AM Chris Spencer <spencercw at gmail.com> wrote:
>
> Hi,
>
> I'm trying to get started with the new i.MX8MQ-EVK support and I've
> got a bit of an issue enabling ext4 read support without also enabling
> write support.
>
> CONFIG_FS_EXT4=y
>
> I get a build error here:
>
> fs/fs.c:198:12: error: ‘ext4_write_file’ undeclared here (not in a
> function); did you mean ‘ext4_read_file’?
>    .write = ext4_write_file,
>             ^~~~~~~~~~~~~~~
>
> This line is wrapped with an ifdef check for CONFIG_CMD_EXT4_WRITE.
> The write function is declared in include/ext4fs.h, where it is
> wrapped with a check for CONFIG_EXT4_WRITE.
>
> The problem is that include/configs/imx8mq_evk.h has this define:
>
> #define CONFIG_CMD_EXT4_WRITE
>
> This results in the 'write' code being enabled in fs.c but disabled in
> ext4fs.h. The two ifdefs probably ought to be made consistent, but I
> don't really understand why imx8mq_evk.h needs to define it in the
> first place. Can anybody shed some light on this?

Does the change below help?

diff --git a/configs/imx8mq_evk_defconfig b/configs/imx8mq_evk_defconfig
index f216d46a8f..92d8b7a6de 100644
--- a/configs/imx8mq_evk_defconfig
+++ b/configs/imx8mq_evk_defconfig
@@ -35,3 +35,8 @@ CONFIG_DM_REGULATOR_GPIO=y
 CONFIG_DM_THERMAL=y
 CONFIG_FS_FAT=y
 CONFIG_FIT_EXTERNAL_OFFSET=0x3000
+CONFIG_DOS_PARTITION=y
+CONFIG_CMD_EXT2=y
+CONFIG_CMD_EXT4=y
+CONFIG_CMD_EXT4_WRITE=y
+CONFIG_CMD_FAT=y
diff --git a/include/configs/imx8mq_evk.h b/include/configs/imx8mq_evk.h
index 35f81152f2..f0430224cb 100644
--- a/include/configs/imx8mq_evk.h
+++ b/include/configs/imx8mq_evk.h
@@ -226,12 +226,6 @@
 #define CONFIG_SYS_FSL_USDHC_NUM       2
 #define CONFIG_SYS_FSL_ESDHC_ADDR       0

-#define CONFIG_DOS_PARTITION
-#define CONFIG_CMD_EXT2
-#define CONFIG_CMD_EXT4
-#define CONFIG_CMD_EXT4_WRITE
-#define CONFIG_CMD_FAT
-
 #define CONFIG_SUPPORT_EMMC_BOOT       /* eMMC specific */
 #define CONFIG_SYS_MMC_IMG_LOAD_PART   1


More information about the U-Boot mailing list