[U-Boot] eMMC 4.41 boot partition booting issue

All,
I have been using u-boot 2013.07 on an i.MX53 custom board with u-boot installed in an eMMC boot partition and the u-boot environment and Linux zImage on a GPT partition in the eMMC user area formatted with ext2. This has worked great for booting a u-boot environment and kernel in the eMMC user area since u-boot 2013.07 didn't have support for reading the boot partitions.
Now I am trying to upgrade to u-boot 2015.04 to include some additional support for eMMC like enabling enhanced data area and boot partition awareness. It seems no matter what configuration I try, I am unable to see my u-boot environment or Linux zImage files on my ext2 partition which worked fine in my previous version of u-boot. I have tried the following configurations: - eMMC boot partition contains uboot and the user area has a GPT partition formatted with ext2 containing the u-boot environment and zImage. - eMMC boot partition contains uboot and at 1MB into the 16MB boot partition a msdos partition is created and formatted with ext2 containing the u-boot environment and zImage.
Here is what my boot output looks like: U-Boot 2015.04 (Apr 24 2015 - 08:53:58)
Board: PM-048 Watchdog enabled I2C: ready DRAM: 128 MiB MMC: FSL_SDHC: 0, FSL_SDHC: 1 *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial Net: CPU Net Initialization Failed No ethernet found. Hit any key to stop autoboot: 0 switch to partitions #0, OK mmc0(part 0) is current device Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** ERROR: Failed to load environment from uEnv.txt Running default boot command ... Booting from mmc ... Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** Failed to mount ext2 filesystem... ** Unrecognized filesystem type ** Wrong Image Format for bootm command ERROR: can't get kernel image!
Here are the MMC related #defines I have included in my include/configs header file: /* MMC Configs */ #define CONFIG_FSL_ESDHC #define CONFIG_SYS_FSL_ESDHC_ADDR 0 #define CONFIG_MMC #define CONFIG_CMD_MMC #define CONFIG_CMD_BOOTZ /* bootz zImage support */ #define CONFIG_SUPPORT_RAW_INITRD /* bootz raw initrd support */ #define CONFIG_GENERIC_MMC #define CONFIG_CMD_FAT #define CONFIG_CMD_EXT2 #define CONFIG_CMD_EXT4 #define CONFIG_CMD_FS_GENERIC /* Generic load commands */ #define CONFIG_DOS_PARTITION #define CONFIG_SUPPORT_EMMC_BOOT
I also added the following #define thinking this might help, but I still get the same errors with or without it. #define CONFIG_SYS_MMC_ENV_PART 0
When using the uboot command prompt, here is some of the output from the mmc commands: PM-048 U-Boot > mmc part
Partition Map for MMC device 0 -- Partition Type: DOS
Part Start Sector Num Sectors UUID Type 1 1 7553023 00000000-01 ee
Attempts to use "mmc partconf" to change which partition is accessible seems to do nothing to the output of "mmc part" even if "mmc rescan" is run. Attempts to use run "ext2ls mmc 0:1" result in the following: Failed to mount ext2 filesystem... ** Unrecognized filesystem type **
I have verified in Linux that the eMMC boot partitions are properly formatted with ext2 and can be mounted as well as the partition in the eMMC user area that is also formatted as ext2. Neither seem to be accessible from u-boot 2015.04.
Does anyone have any suggestions as to how to either access my eMMC boot partition or the eMMC user area at boot so I can load my uboot environment and kernel?
Best regards, Matthew Starr

Hi Starr,
I think i figured out how to access the GP partitions on the new new uboot. Solution: 1)We can only have access to one partition at a time from uboot.
2) GP partitions have to be partitioned again to be from kernel (/dev/mmcblk0gp0p1,/dev/mmcblk0gp1p1,/dev/mmcblk0gp2p1,/dev/mmcblk0gp3p1).. If you just have mmcblk0gp0, mmcblk0gp1, mmcblk0gp2, mmcblk0gp3 uboot cannot access them.
3) in uboot, by default mmc part will display the user data partition information.
4) To access GP1 partition issue the following commands..
mmc rescan mmc partconf 1 0 0x7 0x4 (1 = emmc, 0= bootack, 0x7= user data boot part, 0x4 = Access to GP1) mmc part -----------Now mmc part will display the gp1p1 data. similarly for GP2 mmc rescan mmc partconf 1 0 0x7 0x5 (1 = emmc, 0= bootack, 0x7= user data boot part, 0x5 = Access to GP2) mmc part
Thanks, Harsha
-- View this message in context: http://u-boot.10912.n7.nabble.com/eMMC-4-41-boot-partition-booting-issue-tp2... Sent from the U-Boot mailing list archive at Nabble.com.
participants (2)
-
harsha kiran
-
Matthew Starr