[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