My cramfs adventure continues.....
Okay, so I have a cramfs filesystem image creaed created.
Now, how do I tell the kernel to boot using that filesystem
when the filesystem is an image in flash?
Maybe I'm on the wrong path, but my previous setup used a compressed
kernel and gzip'ed ext2 filesystem as an initial ramdisk, which
also served as my permanent filesystem. So I thought I should
be able to just replace my old initrd with my new cramfs image,
tell the kernel where it is (in flash), and it would go.
But, that's not the case for me so far. If I pass the address in
flash of my cramfs image as the initrd_start
and initrd_end (in R3/R4, the kernel craps out because it can't reuse
the pages where I told it that the initrd lives).
So,how do I make this connection? Or, do I still need an ext2
initrd like I used before? If so, then how do I mount the CRAMFS
filesystem that is an image sitting flash?
Any help is greatly appreciated!
Steve
--
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Steve Hein (ssh@sgi.com) Engineering Diagnostics/Software
Silicon Graphics, Inc.
1168 Industrial Blvd. Phone: (715) 726-8410
Chippewa Falls, WI 54729 Fax: (715) 726-6715
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Steven Hein wrote:
My cramfs adventure continues.....
Okay, so I have a cramfs filesystem image creaed created.
Now, how do I tell the kernel to boot using that filesystem
when the filesystem is an image in flash?
Maybe I'm on the wrong path, but my previous setup used a compressed
kernel and gzip'ed ext2 filesystem as an initial ramdisk, which
also served as my permanent filesystem. So I thought I should
be able to just replace my old initrd with my new cramfs image,
tell the kernel where it is (in flash), and it would go.
It turns out that cramfs is not supported for a root fs or initrd.
Basically, the kernel checks a hardcoded list of supported filesystems
and if the MAGIC number doesn't match it bails. Midori has a patch to
add cramfs to this list. I believe it is in thier kernel package.
But, that's not the case for me so far. If I pass the address in
flash of my cramfs image as the initrd_start
and initrd_end (in R3/R4, the kernel craps out because it can't reuse
the pages where I told it that the initrd lives).
So,how do I make this connection? Or, do I still need an ext2
initrd like I used before? If so, then how do I mount the CRAMFS
filesystem that is an image sitting flash?
You can do that too. Actually that is how we do it on the iPaq. You
need to enable MTD, so your flash looks like a block device. then
'mount' can mount cramfs images.
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
Matthew Locke wrote:
It turns out that cramfs is not supported for a root fs or initrd.
Basically, the kernel checks a hardcoded list of supported filesystems
and if the MAGIC number doesn't match it bails. Midori has a patch to
add cramfs to this list. I believe it is in thier kernel package.
quoted
But, that's not the case for me so far. If I pass the address in
flash of my cramfs image as the initrd_start
and initrd_end (in R3/R4, the kernel craps out because it can't reuse
the pages where I told it that the initrd lives).
So,how do I make this connection? Or, do I still need an ext2
initrd like I used before? If so, then how do I mount the CRAMFS
filesystem that is an image sitting flash?
You can do that too. Actually that is how we do it on the iPaq. You
need to enable MTD, so your flash looks like a block device. then
'mount' can mount cramfs images.
that is what we did for our read-only file system. so far we still use
a small ext2 ramdisk for the root file system because we have some
writable files and haven't been aggressive about eliminating it (the
gzip'd ext2 file system is also smaller than the equivalent cramfs
filesystem, which helps with space issues in the flash). I had to make
some changes to the doc2001 driver to get it to work with the mtdblock
layer, but haven't forwarded the changes yet.
david
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/