use cramfs as an initrd
PATCH 1/1 use cramfs as an initrd
Now that Al Viro fixed cramfs, it works beautifully as an initrd filesystem, so could we finally plumb it in?
Thanks,
James
===== init/do_mounts_rd.c 1.8 vs edited =====
init/do_mounts_rd.c +12 -0
@@ -4,6 +4,7 @@#include <linux/minix_fs.h> #include <linux/ext2_fs.h> #include <linux/romfs_fs.h> +#include <linux/cramfs_fs.h> #include <linux/initrd.h> #include <linux/string.h>
@@ -41,6 +42,7 @@* minix * ext2 * romfs +* cramfs * gzip */ static int __init
@@ -50,6 +52,7 @@struct minix_super_block *minixsb;struct ext2_super_block *ext2sb;struct romfs_super_block *romfsb; +struct cramfs_super *cramfsb;int nblocks =-1 ;unsigned char *buf;
@@ -60,6 +63,7 @@ minixsb = (struct minix_super_block *) buf; ext2sb = (struct ext2_super_block *) buf; romfsb = (struct romfs_super_block *) buf; + cramfsb = (struct cramfs_super *) buf;memset (buf,0xe5 , size);/*
@@ -86,6 +90,14 @@"RAMDISK: romfs filesystem found at block %d\n" , start_block); nblocks = (ntohl (romfsb->size)+BLOCK_SIZE -1 )>>BLOCK_SIZE_BITS ; + goto done; + } + +if (cramfsb->magic ==CRAMFS_MAGIC ) { +printk (KERN_NOTICE +"RAMDISK: cramfs filesystem found at block %d\n" , + start_block); + nblocks = (cramfsb->size +BLOCK_SIZE -1 ) >>BLOCK_SIZE_BITS ; goto done; }