dreamplug spi partitions

Ian Campbell ijc at hellion.org.uk
Tue Aug 21 12:28:25 EDT 2012


On Thu, 2012-08-16 at 10:20 -0400, Jason Cooper wrote:
> On Thu, Aug 09, 2012 at 08:47:57AM +0100, Ian Campbell wrote:
> > Hi all,
> > 
> > I've been using "fw_printenv" and "fw_setenv" from the u-boot-tools
> > package on my DreamPlug which work fine with this /etc/fw_env.config:
> >         # Configuration file for fw_(printenv/saveenv) utility.
> >         # Up to two entries are valid, in this case the redundant
> >         # environment sector is assumed present.
> >         # MTD device name       Device offset   Env. size       Flash sector size
> >         /dev/mtd1               0x00000000      0x00001000      0x00001000
> >         
> > This corresponds roughly, but not exactly, with:
> >         # cat /proc/mtd 
> >         dev:    size   erasesize  name
> >         mtd0: 00080000 00001000 "u-boot"
> >         mtd1: 00010000 00001000 "u-boot env"
> >         mtd2: 00010000 00001000 "dtb"
> > 
> > But notice how "Env. size" and mtd1's size don't match -- if I use
> > 0x10000 in fw_env.cfg then the tools don't work (checksums don't match).
> 
> I've always seen the u-boot environment set to 4k.

Right, so it seems like that is the right size for the kernel to report
then?

>   The kernel
> partitions came out of my head.  When I added support for the dreamplug
> to u-boot, I found out there was a bug in the factory supplied u-boot
> which only allowed it to see the first 1MB of the 2MB flash.  Also, the
> factory supplied kernel didn't even have support for the flash.
> 
> So, I fixed u-boot, and figured the extra 1MB was too small for a
> kernel, wasn't used by anybody else, and imho, the factory location of
> the environment didn't leave much room for new u-boots.
> 
> I decided to move the environment and make a place for the dtb.  As I
> didn't want to constrain either one, I split the extra space between the
> two.
> 
> Was that the best decision?  Well, no one yelled at me and I was new to
> the whole process, so that's how it went down.

;-)

I'm not saying the partitioning scheme is wrong or trying to criticize,
I just noticed that upstream u-boot and the kernel are inconsistent.

I haven't looked at the factory u-boot, I wouldn't be too torn up if it
matched neither of the other two though.

> As it is right now, if you configure your own u-boot to have, say
> 0x10000 bytes for the environment, you don't need to change your kernel
> to support it.  Just set the size and write it.
> 
> I'm open to suggestions and patches...

I think upstream u-boot and the kernel should match, but I'm not really
sure which one should be changed to match the other.

At this point I suppose it is generally easier for people to change
their kernel so that should be the one to change?

Ian.
-- 
Ian Campbell
Current Noise: Crowbar - Counting Daze

* gb notes that fdisk thinks his cdrom can store one terabyte
		-- Seen on #Linux




More information about the linux-arm-kernel mailing list