[U-Boot] uboot env in mmc partition

Hannes Petermaier Hannes.Petermaier at br-automation.com
Wed Sep 3 07:13:20 CEST 2014


> 
> Hi Hannes,
Hi,

> 
> Yes, its an eMMC. If I read your response correctly,
> #define CONFIG_SYS_MMC_ENV_PART
> Can only have 2 values, 1 & 2 is that correct ?
yes - i think so.
please have a look to env_mmc.c, lines 65 to 120 may be the most 
interesting for you.
There are only low-level operations performed, nobody doesn't care about 
any filesystem or "filesystems-partitiontable" at this time.

> 
> Pls also keep in mind that from linux, it works fine, with 
> fw_env.config set to
> /dev/mmcblk0p4 0 0x10000
i think this environment is its own instance and has no interaction with 
u-boot`s one, is that so?
In fact this environment is within "User-Area" of eMMC and at the place 
were part #4 starts.

best regards,
hannes

> 
> From:   Hannes Petermaier <Hannes.Petermaier at br-automation.com>
> To:     "Naitik Amin" <Naitik.Amin at ametek.com>, 
> Cc:     u-boot at lists.denx.de, u-boot-bounces at lists.denx.de
> Date:   09/01/2014 12:54 AM
> Subject:        Re: [U-Boot] uboot env in mmc partition
> 
> 
> 
> > HI there,
> Hi Naitik,
> 
> > 
> > I recently made changes to my system, where I created a new partition 
on 
> 
> 
> > my mmc. (mmcblk0p4)
> 
> do you use MMC or eMMC ?
> I guess eMMC.
> 
> > 
> > Then i dd'd a uboot env image into this partition, updated the 
> > fw_env.config to point to /dev/mmcblk0p4. At this point, my 
fw_printenv 
> > and fw_setenv work good. So as a next step, I am tried to modify uboot 

> to 
> > make it point to my env image in my new partition.
> > 
> > I made below changes to my config header and rebuilt the uboot. On 
doing 
> 
> 
> > printenv from uboot, I dont see the same env that I pushed it from 
> linux, 
> > infact I see it as its defined in the config header.
> > 
> > Can some one help ?
> > 
> > /* environment setting for MMC */
> > #ifdef CONFIG_ENV_IS_IN_MMC
> > #define CONFIG_SYS_MMC_ENV_DEV          0       /* device 0 */
> > #define CONFIG_SYS_MMC_ENV_PART         4
> > #define CONFIG_ENV_OFFSET               0       /* just after the MBR 
*/
> > #endif
> 
> I understand this #defines as following:
> 
> CONFIG_SYS_MMC_ENV_DEV says: use mmc-device #0
> CONFIG_SYS_MMC_ENV_PART says: use partition #4
> i know that u-boot is using the boot-partitions to store the 
environment, 
> an emmc only has 2 partitions.
> So #4 is a an illegal paramater
> 
> CONFIG_ENV_OFFSET is an absolute address within the device/partition so 
it 
> 
> is not "just after the MBR", instead the environment is "instead the 
MBR"
> 
> best regards,
> Hannes




More information about the U-Boot mailing list