[U-Boot-Users] MTD Concat support

Luigi 'Comio' Mantellini luigi.mantellini at idf-hit.com
Wed Apr 16 21:11:31 CEST 2008


Hi Vlad,

Il giorno mer, 16/04/2008 alle 21.39 +0300, Vlad Lungu ha scritto:
> > The rootfs will be Read-only. Any write access will be redirected to a
> > ramdisk. Only during the "upgrading" activity the JFFS2 will be write
> > from an custom user application, while during the normal activity both
> > JFFS2 and loopback-mounted Root filesystem will be Read-only.
> >
> >   
> It still feels wrong :-), but I see how this is supposed to work.  
> You're probably using just that 2 Mo piece for
> data or you're not saving anything on the NOR flash. Highly customized 
> application.

The datas are "stored" on a ramdisk :) The system retrieves the
configuration from a remote system during booting.
    
> >
> > I cannot store the uImages in separated memory space...
> >
> >   
> I have some ideas about how you could do it, but it might be too much 
> trouble and not enough gain.

On this point I have a strong constraint: The Kernel image (vmlinux
+rootfs) cannot be modified by system.

> >
> > Ok. This can be a solution.
> 
> This should be very easy to test. First, check the data sheet and see if 
> all erase sectors are the same size (64ko or 128ko) or
> inspect the device geometry (Number of Erase Block Regions,offset 2c in 
> the CFI id string, should be 1). If not,
> this will probably not work like described and you'll need to hack some 
> structures a bit(provide fake erase block region info, from 2 to 4,
> if more than 2, you're out of luck, but that's highly unlikely).  If 
> they are equal:
> a) if you're configuring flash_info[] by hand, double the sector number 
> in the first element and don't fill the second
> b) if you're auto-detecting, don't :-) Dump the info and fill the first 
> element by hand, with twice the number of sectors.
> 

I have 2 identical flash chip from spansion. 

Anyway, from my modest point of view, the u-boot flash memory model is
too rigid. I would like a "linux" model like this:
                         -----------
                         |         |-> [ MTD Driver ] -> Flash 1 (Nor)
---> flash operation --> | MTD Mux |-> [ MTD Driver ] -> Flash 2 (Nand)
                         |         |-> [ MTD Driver ] -> Flash n (XXX)
                         -----------

MTD Mus is itself a MTD Driver. This infrastructure could be implemented
using smart descriptor to keep the need callback.

Best regards,

luigi


> Good luck,
> Vlad

-- 
Ing. Luigi Mantellini
Industrie Dial Face S.p.A.
Via Canzo, 4 
20068 Peschiera Borromeo (MI)
Tel.: +39 02 5167 2813
Fax: +39 02 5167 2459
E-mail: luigi.mantellini at idf-hit.com
  





More information about the U-Boot mailing list