[PATCH 04/14] Pramfs: Mounting as root filesystem

From: Marco
Date: Sat Jun 13 2009 - 09:26:17 EST


From: Marco Stornelli <marco.stornelli@xxxxxxxxx>

Pramfs can be used even as root filesystem.

Signed-off-by: Marco Stornelli <marco.stornelli@xxxxxxxxx>
---

diff -uprN linux-2.6.30-orig/init/do_mounts.c linux-2.6.30/init/do_mounts.c
--- linux-2.6.30-orig/init/do_mounts.c 2009-06-10 05:05:27.000000000 +0200
+++ linux-2.6.30/init/do_mounts.c 2009-06-13 12:50:36.000000000 +0200
@@ -299,6 +299,17 @@ static int __init mount_nfs_root(void)
}
#endif

+#ifdef CONFIG_ROOT_PRAMFS
+static int __init mount_pramfs_root(void)
+{
+ create_dev("/dev/root", ROOT_DEV);
+ if (do_mount_root("/dev/root", "pramfs",
+ root_mountflags, root_mount_data) == 0)
+ return 1;
+ return 0;
+}
+#endif
+
#if defined(CONFIG_BLK_DEV_RAM) || defined(CONFIG_BLK_DEV_FD)
void __init change_floppy(char *fmt, ...)
{
@@ -331,6 +342,15 @@ void __init change_floppy(char *fmt, ...

void __init mount_root(void)
{
+#ifdef CONFIG_ROOT_PRAMFS
+ if (MAJOR(ROOT_DEV) == MEM_MAJOR) {
+ if (mount_pramfs_root())
+ return;
+
+ printk(KERN_ERR "VFS: Unable to mount root fs via PRAMFS, trying floppy.\n");
+ ROOT_DEV = Root_FD0;
+ }
+#endif
#ifdef CONFIG_ROOT_NFS
if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) {
if (mount_nfs_root())



--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/