help: bootloader for loading kernel from mtdblock device on flash........

Vishal vishal at
Tue Feb 4 04:30:59 EST 2003

Thomas Gleixner wrote:

>On Tuesday 04 February 2003 04:21, Vishal wrote:
>>Its for an ARM7 core.
>>I have the block driver for the JFFS on NAND Flash ready. I have the
>>basic bootloader code. I was wondering whether i can do the proceed in
>>the following way :
>>1. take the read/verify  code from the JFFS block driver for NAND flash,
>>and put it in my bootloader code
>>2. The driver code that i copy will have a lot of kernel API
>>i need to incorporate those also into my driver.
>>3. finally use this functionality achieved to read a kernel.bin file
>>from the /dev/mtdblock device and load it.
>> or is there  any other workaroud?
>Yep. copy your compressed kernel image in chunks of blocksize to your 
>NAND-FLASH. Reserve enough spare in the case you have bad blocks. 
>Provide a bad block aware read function and modify the decompressor in the 
>kernel to read the image via this function from NAND. 
>Then you don't need JFFS2 inside the bootloader. 
>Then your NAND-CHIP has to have min. 2 Partitions 
>1 for the kernel Image and 1 for the root-fs. You do not mount the partition, 
>where your kernel image is stored.

hmm....correct me if i am wrong but what you are saying is i have a char 
device /dev/mtd1 (right??) on which i store the kernel image. this 
partition will never be mounted. The kernel image is stored on this 
device in chunks of blocksize.
   Now while reading from this device on bootup, i read from the char 
device, and generate blocks of the known size in memory, carry out error 
checking and correction on each block. and when the whole of the kernel 
has been read, i run it...right?
Pardon me if i am wrong.


More information about the linux-mtd mailing list