[Yaffs] Make YAFFS2 work as a root FS, patch

Nick Bane nick at cecomputing.co.uk
Fri Oct 28 09:31:42 BST 2005


Sergey Kubushyn wrote:
> On Fri, 28 Oct 2005, Andre Renaud wrote:
> 
> 
>>Sergey Kubushyn wrote:
>>
>>>OK, please explain how can one mount _ROOT_ filesystem with "mount
>>
>>-t". Try
>>
>>>to explain where that "mount" comes from if the root FS is not
>>
>>mounted.
>>
>>>Just to counter a possible excuse and to avoid emailing twice - you
>>
>>do NOT
>>
>>>mount a _ROOT_ YAFFS (or ext2 or whatever it is) filesystem when
>>
>>booting
>>
>>>with initrd. That's initrd that contains a root filesystem. You mount
>>
>>the
>>
>>>other filesystem elsewhere and only then you pivot_root() to it.
>>>
>>>There is only one way to mount the root filesystem. And there is no
>>
>>way to
>>
>>>tell "-t yaffs2" to the kernel. At least without some unconventional
>>>trickery.
>>
>>The kernel supports forcing a root filesystem type, using the
>>"rootfstype" kernel parameter, so something like "rootfstype=yaffs"
>>will
>>  ensure that you get the one you're after.
> 
> 
> Thanks for a tip, I didn't know about this parameter.
Supplementally:
One can specify rootfs in the kernel build as a default command line but 
this presupposes that one knows what the nand type will be. For systems 
with mixed nand builds (we have 32MB boards using 512b to 384MB using 3 
1GBit 2k) a single kernel is often desireable for production. In our 
version of bootldr (see 
http://husaberg.toby-churchill.com/balloon/releases/development/bootldr/bootldr36) 
  2k/512 byte pages size for the root mtd device is detected and 
rootfs=yaffs/yaffs2 is selected. In addition, due to the number of 
overhead blocks, our first small boot partition is dynamically sized to 
make sure there is enough free space for a kernel.

BTW, using rootfs= is also the recommended way of booting a jffs2 root 
fs acording to the Handhelds folks.

Nick



More information about the yaffs mailing list