
Luigi 'Comio' Mantellini wrote:
Hi Guys,
I'm a question regarding the MTD Concat support in U-BOOT. My system has 2 Flash (x16MB) driven by 2 different Chipselects. The memory layout is the following:
[0xbe000000 -> 0xbeffffff ] Flash#0 CS#0 [0xbf000000 -> 0xbfffffff ] Flash#1 CS#1
I would link to create a JFFS2 partition across the two flash banks with size about 28M. In other hands I should meet the following partition layout:
[0xbe000000 -> 0xbfc00000 ] JFFS2 root [0xbfc00000 -> 0xbfe00000 ] U-BOOT code [0xbfe00000 -> 0xbfffffff ] DATA
So you have 16+12Mo then u-boot then 2 Mo left.
Into the JFFS2 filesystem there are the Kernel images and a lot of spare datas.
That's a rather big JFFS filesystem. Do you plan booting from it? Isn't it rather slow? It would take a few seconds (5-10) to scan the FS on this under U-Boot. I would recommend two strategies here: -put the uImage directly in the NOR flash. Maybe in those 2 Mo at the end or somewhere else. Update it from Linux or if you screw up, from the network. -create a smaller partition (like 4Mo) and keep two kernels there, main and spare. Mount it under /boot in Linux. Boot from there. Use the rest of the available space as root with the MTD concat driver but don't touch it from U-Boot. Will boot much faster than from a 28Mo partition, you can use *summary* information on root (not supported in U-Boot) for faster mount in Linux, more versatile than uImage in NOR (you can have 1 or more spares depending on kernel sizes and partition size).
How I can say to U-boot to consider the two flashes as a single space of memory (in order to place a big JFFS2 filesystem)? In Linux I can achieve this using the MTD Concat driver but I don't understand How I can do in U-boot.
What you are asking could be already possible, or require just a few modifications, but you have to ask yourself: do I really HAVE to do this?
Regards, Vlad