public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
@ 2013-08-23 12:25 Robert P. J. Day
  2013-08-23 12:44 ` Andreas Bießmann
                   ` (2 more replies)
  0 siblings, 3 replies; 15+ messages in thread
From: Robert P. J. Day @ 2013-08-23 12:25 UTC (permalink / raw)
  To: u-boot


  i'm sure there's a simple answer to this -- i built u-boot for my
beaglebone black using the "am335x_boneblack" config, which supports
saving env info to the eMMC HW partition boot1. but now that it's
there, is there a way i can manipulate that info with fw_printenv and
fw_setenv?

  that info is actually visible from the linux command line via the
special device file /dev/mmcblk1boot1, which i can hexdump if i wish:

# hexdump -C /dev/mmcblk1boot1 | less
00000000  fc d7 b6 21 61 72 63 68  3d 61 72 6d 00 62 61 75  |...!arch=arm.bau|
00000010  64 72 61 74 65 3d 31 31  35 32 30 30 00 62 6f 61  |drate=115200.boa|
00000020  72 64 3d 61 6d 33 33 35  78 00 62 6f 61 72 64 5f  |rd=am335x.board_|
00000030  6e 61 6d 65 3d 41 33 33  35 42 4e 4c 54 00 62 6f  |name=A335BNLT.bo|
00000040  61 72 64 5f 72 65 76 3d  30 41 35 43 00 62 6f 6f  |ard_rev=0A5C.boo|
00000050  74 5f 66 64 74 3d 74 72  79 00 62 6f 6f 74 61 72  |t_fdt=try.bootar|
... snip ...

so it's clearly there, but i have no idea what i'd put in
/etc/fw_env.config to refer to that partition.

  i tried adding the simple line:

/dev/mmcblk1boot1       0x0     0x4000

to (allegedly) represent a block device, but i got the error:

# fw_printenv
Cannot access MTD device /dev/mmcblk1boot: No such file or directory
#

so i'm guessing that was a really bad initial guess. i'm guessing i'd
need to add a line referring to the existing device file /dev/mmcblk1,
and add the actual HW partition offset and size, yes? i just have to
figure out what that is, if that's the way it's done.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-23 12:25 [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition? Robert P. J. Day
@ 2013-08-23 12:44 ` Andreas Bießmann
  2013-08-23 12:57   ` Robert P. J. Day
  2013-08-23 12:46 ` Stefano Babic
  2013-08-23 15:19 ` Luka Perkov
  2 siblings, 1 reply; 15+ messages in thread
From: Andreas Bießmann @ 2013-08-23 12:44 UTC (permalink / raw)
  To: u-boot

Dear Robert P. J. Day,

On 08/23/2013 02:25 PM, Robert P. J. Day wrote:

<snip>

> so it's clearly there, but i have no idea what i'd put in
> /etc/fw_env.config to refer to that partition.
> 
>   i tried adding the simple line:
> 
> /dev/mmcblk1boot1       0x0     0x4000
> 
> to (allegedly) represent a block device, but i got the error:
> 
> # fw_printenv
> Cannot access MTD device /dev/mmcblk1boot: No such file or directory
> #

I think you stumble over this:

---8<---
abiessmann@punisher % grep -C 4 'struct envdev_s' tools/env/fw_env.c
	typeof(y) _min2 = (y);			\
	(void) (&_min1 == &_min2);		\
	_min1 < _min2 ? _min1 : _min2; })

struct envdev_s {
	char devname[16];		/* Device name */
	ulong devoff;			/* Device offset */
	ulong env_size;			/* environment size */
	ulong erase_size;		/* device erase size */
	ulong env_sectors;		/* number of environment sectors */
	uint8_t mtd_type;		/* type of the MTD device */
};
--->8---

An device name can only have 16 char by this declaration ;)

> so i'm guessing that was a really bad initial guess. i'm guessing i'd
> need to add a line referring to the existing device file /dev/mmcblk1,
> and add the actual HW partition offset and size, yes? i just have to
> figure out what that is, if that's the way it's done.

Dunno if that'd be all to support RAW eMMC partition. As long as thy
behave like raw MTD partition it should work out.

Best regards

Andreas Bie?mann

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-23 12:25 [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition? Robert P. J. Day
  2013-08-23 12:44 ` Andreas Bießmann
@ 2013-08-23 12:46 ` Stefano Babic
  2013-08-23 13:25   ` Robert P. J. Day
  2013-08-23 15:19 ` Luka Perkov
  2 siblings, 1 reply; 15+ messages in thread
From: Stefano Babic @ 2013-08-23 12:46 UTC (permalink / raw)
  To: u-boot

Hi Robert,

On 23/08/2013 14:25, Robert P. J. Day wrote:
> 
>   i'm sure there's a simple answer to this 


There is

>-- i built u-boot for my
> beaglebone black using the "am335x_boneblack" config, which supports
> saving env info to the eMMC HW partition boot1. but now that it's
> there, is there a way i can manipulate that info with fw_printenv and
> fw_setenv?

Check in code - fw_printenv / fw_setenv are supposed to work with a MTD
device, and the MMC is not. There are some additional checks and
handling of NOR and NAND devices is done differently. But there is no
code for MMC.

However, managing MMC is easier: no need of erasing flash, simply write
into the device computing the CRC. You could add the required functions
to rwad / write a buffer from MMC to fw_printenv (and posting here the
patch, thanks !).

Best regards,
Stefano Babic

-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-23 12:44 ` Andreas Bießmann
@ 2013-08-23 12:57   ` Robert P. J. Day
  0 siblings, 0 replies; 15+ messages in thread
From: Robert P. J. Day @ 2013-08-23 12:57 UTC (permalink / raw)
  To: u-boot

On Fri, 23 Aug 2013, Andreas Bie?mann wrote:

> Dear Robert P. J. Day,
>
> On 08/23/2013 02:25 PM, Robert P. J. Day wrote:
>
> <snip>
>
> > so it's clearly there, but i have no idea what i'd put in
> > /etc/fw_env.config to refer to that partition.
> >
> >   i tried adding the simple line:
> >
> > /dev/mmcblk1boot1       0x0     0x4000
> >
> > to (allegedly) represent a block device, but i got the error:
> >
> > # fw_printenv
> > Cannot access MTD device /dev/mmcblk1boot: No such file or directory
> > #
>
> I think you stumble over this:
>
> ---8<---
> abiessmann at punisher % grep -C 4 'struct envdev_s' tools/env/fw_env.c
> 	typeof(y) _min2 = (y);			\
> 	(void) (&_min1 == &_min2);		\
> 	_min1 < _min2 ? _min1 : _min2; })
>
> struct envdev_s {
> 	char devname[16];		/* Device name */
> 	ulong devoff;			/* Device offset */
> 	ulong env_size;			/* environment size */
> 	ulong erase_size;		/* device erase size */
> 	ulong env_sectors;		/* number of environment sectors */
> 	uint8_t mtd_type;		/* type of the MTD device */
> };
> --->8---
>
> An device name can only have 16 char by this declaration ;)

  good lord, you're right, that explains why the last character of the
device file was getting mysteriously dropped. :-( so as a quick hack,
i just did a "mknod" (i suspect a symlink would have worked just as
well) to invent a shorter name, "/dev/mmcboot1", and got
(predictably):

# fw_printenv
Cannot get MTD information: Invalid argument
#

which leads me into stefano's response which i just saw.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-23 12:46 ` Stefano Babic
@ 2013-08-23 13:25   ` Robert P. J. Day
  0 siblings, 0 replies; 15+ messages in thread
From: Robert P. J. Day @ 2013-08-23 13:25 UTC (permalink / raw)
  To: u-boot

On Fri, 23 Aug 2013, Stefano Babic wrote:

> Hi Robert,
>
> On 23/08/2013 14:25, Robert P. J. Day wrote:
> >
> >   i'm sure there's a simple answer to this
>
> There is
>
> >-- i built u-boot for my
> > beaglebone black using the "am335x_boneblack" config, which
> > supports saving env info to the eMMC HW partition boot1. but now
> > that it's there, is there a way i can manipulate that info with
> > fw_printenv and fw_setenv?
>
> Check in code - fw_printenv / fw_setenv are supposed to work with a
> MTD device, and the MMC is not. There are some additional checks and
> handling of NOR and NAND devices is done differently. But there is
> no code for MMC.

  yup, i can see that.  the tools i was using were an earlier version
selected by my OE build, where the code in fw_env.c was:

static int flash_read (int fd)
{
        struct mtd_info_user mtdinfo;
        int rc;

        rc = ioctl (fd, MEMGETINFO, &mtdinfo);
        if (rc < 0) {
                perror ("Cannot get MTD information"); <-- where it was failing
                return -1;
        }

        if (mtdinfo.type != MTD_NORFLASH &&
            mtdinfo.type != MTD_NANDFLASH &&
            mtdinfo.type != MTD_DATAFLASH) {
                fprintf (stderr, "Unsupported flash type %u\n", mtdinfo.type);
                return -1;
        }
        ... snip ...

i can see, in the current repo, that's been refined to distinguish
between block and character device files:

static int flash_read (int fd)
{
        struct mtd_info_user mtdinfo;
        struct stat st;
        int rc;

        rc = fstat(fd, &st);
        if (rc < 0) {
                fprintf(stderr, "Cannot stat the file %s\n",
                        DEVNAME(dev_current));
                return -1;
        }

        if (S_ISCHR(st.st_mode)) {
                rc = ioctl(fd, MEMGETINFO, &mtdinfo);
                if (rc < 0) {
                        fprintf(stderr, "Cannot get MTD information for %s\n",
                                DEVNAME(dev_current));
                        return -1;
                }
                if (mtdinfo.type != MTD_NORFLASH &&
                    mtdinfo.type != MTD_NANDFLASH &&
                    mtdinfo.type != MTD_DATAFLASH &&
                    mtdinfo.type != MTD_UBIVOLUME) {
                        fprintf (stderr, "Unsupported flash type %u on %s\n",
                                 mtdinfo.type, DEVNAME(dev_current));
                        return -1;
                }
        } else {
                memset(&mtdinfo, 0, sizeof(mtdinfo));
                mtdinfo.type = MTD_ABSENT;
        }
        ... snip ...

which, as you point out, still doesn't solve the problem.

> However, managing MMC is easier: no need of erasing flash, simply
> write into the device computing the CRC. You could add the required
> functions to rwad / write a buffer from MMC to fw_printenv (and
> posting here the patch, thanks !).

  as i read it (and i could be totally wrong here), all that needs to
be added is a way to specify to the fw_* tools that a given (block)
partition has nothing to do with flash, and that it should be treated
as pure data, bypassing any flash-related processing as you say.

  i'm assuming that this would require deciding how to specify this in
/etc/fw_env.config so the tools understand what's happening. thoughts
on that? the line will look like:

/dev/mmcblk1boot1  ... and what goes here? ...

to identify this as a non-MTD partition?

  and i guess that 16-character filename limit needs to be adjusted as
well, yes?

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-23 12:25 [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition? Robert P. J. Day
  2013-08-23 12:44 ` Andreas Bießmann
  2013-08-23 12:46 ` Stefano Babic
@ 2013-08-23 15:19 ` Luka Perkov
  2013-08-23 15:28   ` Robert P. J. Day
  2013-08-23 21:11   ` Robert P. J. Day
  2 siblings, 2 replies; 15+ messages in thread
From: Luka Perkov @ 2013-08-23 15:19 UTC (permalink / raw)
  To: u-boot

On Fri, Aug 23, 2013 at 08:25:07AM -0400, Robert P. J. Day wrote:
>   i'm sure there's a simple answer to this -- i built u-boot for my
> beaglebone black using the "am335x_boneblack" config, which supports
> saving env info to the eMMC HW partition boot1. but now that it's
> there, is there a way i can manipulate that info with fw_printenv and
> fw_setenv?

I have put this in OpenWrt:

https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/110-add-support-for-MTD_ABSENT.patch
https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/115-writing-environment-for-mtd-devices.patch

With those two you will be able to use fw_{printenv,setenv} on MMC
devices.

Luka

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-23 15:19 ` Luka Perkov
@ 2013-08-23 15:28   ` Robert P. J. Day
  2013-08-23 21:11   ` Robert P. J. Day
  1 sibling, 0 replies; 15+ messages in thread
From: Robert P. J. Day @ 2013-08-23 15:28 UTC (permalink / raw)
  To: u-boot

On Fri, 23 Aug 2013, Luka Perkov wrote:

> On Fri, Aug 23, 2013 at 08:25:07AM -0400, Robert P. J. Day wrote:
> >   i'm sure there's a simple answer to this -- i built u-boot for my
> > beaglebone black using the "am335x_boneblack" config, which supports
> > saving env info to the eMMC HW partition boot1. but now that it's
> > there, is there a way i can manipulate that info with fw_printenv and
> > fw_setenv?
>
> I have put this in OpenWrt:
>
> https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/110-add-support-for-MTD_ABSENT.patch
> https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/115-writing-environment-for-mtd-devices.patch
>
> With those two you will be able to use fw_{printenv,setenv} on MMC
> devices.

  and how would you specify the partition in the /etc/fw_env.config
file?

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-23 15:19 ` Luka Perkov
  2013-08-23 15:28   ` Robert P. J. Day
@ 2013-08-23 21:11   ` Robert P. J. Day
  2013-08-23 22:20     ` Luka Perkov
  1 sibling, 1 reply; 15+ messages in thread
From: Robert P. J. Day @ 2013-08-23 21:11 UTC (permalink / raw)
  To: u-boot

On Fri, 23 Aug 2013, Luka Perkov wrote:

> On Fri, Aug 23, 2013 at 08:25:07AM -0400, Robert P. J. Day wrote:
> >   i'm sure there's a simple answer to this -- i built u-boot for my
> > beaglebone black using the "am335x_boneblack" config, which supports
> > saving env info to the eMMC HW partition boot1. but now that it's
> > there, is there a way i can manipulate that info with fw_printenv and
> > fw_setenv?
>
> I have put this in OpenWrt:
>
> https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/110-add-support-for-MTD_ABSENT.patch
> https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/115-writing-environment-for-mtd-devices.patch
>
> With those two you will be able to use fw_{printenv,setenv} on MMC
> devices.

  i'll get a chance to test the above this weekend, but i just want to
make absolutely sure we're talking about the same thing. are you
saying that with the above patches, the u-boot-tools will be able to
manipulate an eMMC HW partition just as easily as a regular MTD
partition? and, if so, what is the format of the entry one would add
to /etc/fw_env.config to refer to that eMMC HW partition (in this
case, boot1)?

  thanks.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-23 21:11   ` Robert P. J. Day
@ 2013-08-23 22:20     ` Luka Perkov
  2013-08-24  4:01       ` Robert P. J. Day
  0 siblings, 1 reply; 15+ messages in thread
From: Luka Perkov @ 2013-08-23 22:20 UTC (permalink / raw)
  To: u-boot

On Fri, Aug 23, 2013 at 05:11:01PM -0400, Robert P. J. Day wrote:
> On Fri, 23 Aug 2013, Luka Perkov wrote:
> 
> > On Fri, Aug 23, 2013 at 08:25:07AM -0400, Robert P. J. Day wrote:
> > >   i'm sure there's a simple answer to this -- i built u-boot for my
> > > beaglebone black using the "am335x_boneblack" config, which supports
> > > saving env info to the eMMC HW partition boot1. but now that it's
> > > there, is there a way i can manipulate that info with fw_printenv and
> > > fw_setenv?
> >
> > I have put this in OpenWrt:
> >
> > https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/110-add-support-for-MTD_ABSENT.patch
> > https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/115-writing-environment-for-mtd-devices.patch
> >
> > With those two you will be able to use fw_{printenv,setenv} on MMC
> > devices.
> 
>   i'll get a chance to test the above this weekend, but i just want to
> make absolutely sure we're talking about the same thing. are you
> saying that with the above patches, the u-boot-tools will be able to
> manipulate an eMMC HW partition just as easily as a regular MTD
> partition?

Yes.

> and, if so, what is the format of the entry one would add
> to /etc/fw_env.config to refer to that eMMC HW partition (in this
> case, boot1)?

I have done this for imx6 wandboard in OpenWrt:

https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/files/imx6

So example config would look like:

/dev/mmcblk0 0x60000 0x2000 0x2000

Luka

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-23 22:20     ` Luka Perkov
@ 2013-08-24  4:01       ` Robert P. J. Day
  2013-08-24 11:16         ` Luka Perkov
  0 siblings, 1 reply; 15+ messages in thread
From: Robert P. J. Day @ 2013-08-24  4:01 UTC (permalink / raw)
  To: u-boot

On Sat, 24 Aug 2013, Luka Perkov wrote:

> On Fri, Aug 23, 2013 at 05:11:01PM -0400, Robert P. J. Day wrote:
> > On Fri, 23 Aug 2013, Luka Perkov wrote:
> >
> > > On Fri, Aug 23, 2013 at 08:25:07AM -0400, Robert P. J. Day wrote:
> > > >   i'm sure there's a simple answer to this -- i built u-boot for my
> > > > beaglebone black using the "am335x_boneblack" config, which supports
> > > > saving env info to the eMMC HW partition boot1. but now that it's
> > > > there, is there a way i can manipulate that info with fw_printenv and
> > > > fw_setenv?
> > >
> > > I have put this in OpenWrt:
> > >
> > > https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/110-add-support-for-MTD_ABSENT.patch
> > > https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/patches/115-writing-environment-for-mtd-devices.patch
> > >
> > > With those two you will be able to use fw_{printenv,setenv} on MMC
> > > devices.
> >
> >   i'll get a chance to test the above this weekend, but i just want to
> > make absolutely sure we're talking about the same thing. are you
> > saying that with the above patches, the u-boot-tools will be able to
> > manipulate an eMMC HW partition just as easily as a regular MTD
> > partition?
>
> Yes.
>
> > and, if so, what is the format of the entry one would add
> > to /etc/fw_env.config to refer to that eMMC HW partition (in this
> > case, boot1)?
>
> I have done this for imx6 wandboard in OpenWrt:
>
> https://dev.openwrt.org/browser/trunk/package/boot/uboot-envtools/files/imx6
>
> So example config would look like:
>
> /dev/mmcblk0 0x60000 0x2000 0x2000

  ah, there's the misunderstanding. i thought we were discussing how
to be able to refer *directly* to the eMMC partition "boot1", as in
/dev/mmcblk1boot1. it looks like what you're describing would refer
instead simply to /dev/mmcblk1, correct?

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-24  4:01       ` Robert P. J. Day
@ 2013-08-24 11:16         ` Luka Perkov
  2013-08-24 11:37           ` Robert P. J. Day
  0 siblings, 1 reply; 15+ messages in thread
From: Luka Perkov @ 2013-08-24 11:16 UTC (permalink / raw)
  To: u-boot

On Sat, Aug 24, 2013 at 12:01:25AM -0400, Robert P. J. Day wrote:
> On Sat, 24 Aug 2013, Luka Perkov wrote:
> > /dev/mmcblk0 0x60000 0x2000 0x2000
> 
>   ah, there's the misunderstanding. i thought we were discussing how
> to be able to refer *directly* to the eMMC partition "boot1", as in
> /dev/mmcblk1boot1. it looks like what you're describing would refer
> instead simply to /dev/mmcblk1, correct?

Even though the config is actually refering to /dev/mmcblk1 in fact it's
writing/reading to /dev/mmcblk1p1 (or /dev/mmcblk1boot1) in your case.
But you need to configure it properly for your MMC device.

Luka

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-24 11:16         ` Luka Perkov
@ 2013-08-24 11:37           ` Robert P. J. Day
  2013-08-24 13:08             ` Michael Heimpold
  2013-08-24 17:33             ` Luka Perkov
  0 siblings, 2 replies; 15+ messages in thread
From: Robert P. J. Day @ 2013-08-24 11:37 UTC (permalink / raw)
  To: u-boot

On Sat, 24 Aug 2013, Luka Perkov wrote:

> On Sat, Aug 24, 2013 at 12:01:25AM -0400, Robert P. J. Day wrote:
> > On Sat, 24 Aug 2013, Luka Perkov wrote:
> > > /dev/mmcblk0 0x60000 0x2000 0x2000
> >
> >   ah, there's the misunderstanding. i thought we were discussing
> > how to be able to refer *directly* to the eMMC partition "boot1",
> > as in /dev/mmcblk1boot1. it looks like what you're describing
> > would refer instead simply to /dev/mmcblk1, correct?

> Even though the config is actually refering to /dev/mmcblk1 in fact
> it's writing/reading to /dev/mmcblk1p1 (or /dev/mmcblk1boot1) in
> your case. But you need to configure it properly for your MMC
> device.

  right, i can see that and that clarifies things for me. my
*original* question was whether there was a way to set up
/etc/fw_env.config to refer to the eMMC partition /dev/mmcblk1boot1
*directly*, treating it as a regular block partition and bypassing all
the MTD-related processing. (perhaps stefano can weigh in and say
whether that's how he understood what i was asking.)

  if you instead refer to /dev/mmcblk1, as i understand it, you're
just back to the standard MTD-based access, yes?

  anyway, sorry if i didn't explain myself clearly the first time.

rday

-- 

========================================================================
Robert P. J. Day                                 Ottawa, Ontario, CANADA
                        http://crashcourse.ca

Twitter:                                       http://twitter.com/rpjday
LinkedIn:                               http://ca.linkedin.com/in/rpjday
========================================================================

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-24 11:37           ` Robert P. J. Day
@ 2013-08-24 13:08             ` Michael Heimpold
  2013-08-24 17:33             ` Luka Perkov
  1 sibling, 0 replies; 15+ messages in thread
From: Michael Heimpold @ 2013-08-24 13:08 UTC (permalink / raw)
  To: u-boot

Hi,

>   right, i can see that and that clarifies things for me. my
> *original* question was whether there was a way to set up
> /etc/fw_env.config to refer to the eMMC partition /dev/mmcblk1boot1
> *directly*, treating it as a regular block partition and bypassing all
> the MTD-related processing. (perhaps stefano can weigh in and say
> whether that's how he understood what i was asking.)
> 
>   if you instead refer to /dev/mmcblk1, as i understand it, you're
> just back to the standard MTD-based access, yes?

the /dev/mmcblk... devices are block devices and do not provide
the MTD API of the kernel. I guess this is the cause for the error message
you've seen. You could try strace to verify.
And this is the problem why the patches Luka mentioned are required:
they make fw_{printenv,setenv} aware of opening such block devices
by-passing the MTD-specific stuff, that means simply open the file,
write/read the data and close the file descriptor. Without these patches
these tools assume that the file descriptor opened are MTD-based.

You can pass what ever you want via your config, so your file could
look like:
/dev/mmcblk1boot1 0x0 0x4000
Since the partition is somewhere placed on the eMMC device, you
can also refer to the same location using /dev/mmcblk1. In the latter
case you have to calculate the offset correctly to not overwrite
other data (e.g. on other partitions). Using /dev/mmcblk1boot1 as
"entry point" the kernel should reject write requests which go beyond
the partition size.

BR, Michael

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-24 11:37           ` Robert P. J. Day
  2013-08-24 13:08             ` Michael Heimpold
@ 2013-08-24 17:33             ` Luka Perkov
  2013-08-25 10:47               ` Stefano Babic
  1 sibling, 1 reply; 15+ messages in thread
From: Luka Perkov @ 2013-08-24 17:33 UTC (permalink / raw)
  To: u-boot

On Sat, Aug 24, 2013 at 07:37:00AM -0400, Robert P. J. Day wrote:
> On Sat, 24 Aug 2013, Luka Perkov wrote:
> 
> > On Sat, Aug 24, 2013 at 12:01:25AM -0400, Robert P. J. Day wrote:
> > > On Sat, 24 Aug 2013, Luka Perkov wrote:
> > > > /dev/mmcblk0 0x60000 0x2000 0x2000
> > >
> > >   ah, there's the misunderstanding. i thought we were discussing
> > > how to be able to refer *directly* to the eMMC partition "boot1",
> > > as in /dev/mmcblk1boot1. it looks like what you're describing
> > > would refer instead simply to /dev/mmcblk1, correct?
> 
> > Even though the config is actually refering to /dev/mmcblk1 in fact
> > it's writing/reading to /dev/mmcblk1p1 (or /dev/mmcblk1boot1) in
> > your case. But you need to configure it properly for your MMC
> > device.
> 
>   right, i can see that and that clarifies things for me. my
> *original* question was whether there was a way to set up
> /etc/fw_env.config to refer to the eMMC partition /dev/mmcblk1boot1
> *directly*, treating it as a regular block partition and bypassing all
> the MTD-related processing. (perhaps stefano can weigh in and say
> whether that's how he understood what i was asking.)
> 
>   if you instead refer to /dev/mmcblk1, as i understand it, you're
> just back to the standard MTD-based access, yes?
> 
>   anyway, sorry if i didn't explain myself clearly the first time.

AFAIK there is no fw_{printenv,setenv} support for MMC. Except if you
use the patches I pointed out. Somebody please correct me if I'm wrong.

Luka

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition?
  2013-08-24 17:33             ` Luka Perkov
@ 2013-08-25 10:47               ` Stefano Babic
  0 siblings, 0 replies; 15+ messages in thread
From: Stefano Babic @ 2013-08-25 10:47 UTC (permalink / raw)
  To: u-boot

Hi Luka,

On 24/08/2013 19:33, Luka Perkov wrote:

> AFAIK there is no fw_{printenv,setenv} support for MMC. Except if you
> use the patches I pointed out. Somebody please correct me if I'm wrong.

Because you have already done the work, do you plan to push official
patches to the ML ? It is a pity if they will not be integrated in mainline.

Best regards,
Stefano Babic


-- 
=====================================================================
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2013-08-25 10:47 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-08-23 12:25 [U-Boot] can u-boot tools fw_{printenv, setenv} work with eMMC HW partition? Robert P. J. Day
2013-08-23 12:44 ` Andreas Bießmann
2013-08-23 12:57   ` Robert P. J. Day
2013-08-23 12:46 ` Stefano Babic
2013-08-23 13:25   ` Robert P. J. Day
2013-08-23 15:19 ` Luka Perkov
2013-08-23 15:28   ` Robert P. J. Day
2013-08-23 21:11   ` Robert P. J. Day
2013-08-23 22:20     ` Luka Perkov
2013-08-24  4:01       ` Robert P. J. Day
2013-08-24 11:16         ` Luka Perkov
2013-08-24 11:37           ` Robert P. J. Day
2013-08-24 13:08             ` Michael Heimpold
2013-08-24 17:33             ` Luka Perkov
2013-08-25 10:47               ` Stefano Babic

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox