[U-Boot] uboot env in mmc partition
Naitik Amin
Naitik.Amin at ametek.com
Wed Sep 3 14:54:54 CEST 2014
Hi Hannes,
So I did as you had indicated and made some progress, so now, my #defines
look as below.
#define CONFIG_SYS_MMC_ENV_DEV 0 /* device 0 */
#define CONFIG_ENV_OFFSET 0x21900000
I calculated the env offset from the block number it was on based on the
first block number of the partition.
Doing this on uboot startup, I dont get the warning saying, using default
environment. Neither it complained abt crc error. So it liked it seems.
But what it did is it trashed the partition which had my dtb and zImage.
Its a completely different partition. So after that, the bootup gets
halted. Any ideas ? What may have trashed the partition ?
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/03/2014 01:13 AM
Subject: Re: [U-Boot] uboot env in mmc partition
>
> 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