linux-mips
[Top] [All Lists]

Re: fail to boot with MTD root fs

To: Kunihiko IMAI <kimai@laser5.co.jp>
Subject: Re: fail to boot with MTD root fs
From: "Steven J. Hill" <sjhill@realitydiluted.com>
Date: Sat, 25 May 2002 12:53:10 -0500
Cc: linux-mips <linux-mips@oss.sgi.com>
References: <m3off5drab.wl@kimai.laser5.co.jp>
Sender: owner-linux-mips@oss.sgi.com
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.0rc2) Gecko/20020520 Debian/1.0rc2-3
Kunihiko IMAI wrote:
Hi,

I'm using Pb1500 evaluation board and met somewhat serious problem.
The problem is that failing to mount FlashROM filesystem as root fs
and go into infinite loop without any message.  Does anyone have a
good (or better) solution?

I'm using SGI kernel source tree, linux-2.4.18 of linux_2_4 branch.

When booting with nfs root, and using MTD FlashROM fs, it works well.

There was a bug in 2.4.18 with respect to the MTD code and using flash
as a root filesystem. It had to do with the MTD block devices. Make
the changes below and things will work again.

-Steve

Index: mtdblock.c
===================================================================
RCS file: /data/cvs/settop/drivers/mtd/mtdblock.c,v
retrieving revision 1.6
diff -u -r1.6 mtdblock.c
--- mtdblock.c  9 May 2002 13:35:40 -0000       1.6
+++ mtdblock.c  25 May 2002 16:52:14 -0000
@@ -371,8 +371,6 @@
        if (inode == NULL)
                release_return(-ENODEV);

-       invalidate_device(inode->i_rdev, 1);
-
        dev = MINOR(inode->i_rdev);
        mtdblk = mtdblks[dev];

Index: mtdblock_ro.c
===================================================================
RCS file: /data/cvs/settop/drivers/mtd/mtdblock_ro.c,v
retrieving revision 1.2
diff -u -r1.2 mtdblock_ro.c
--- mtdblock_ro.c       3 Jan 2002 17:19:58 -0000       1.2
+++ mtdblock_ro.c       25 May 2002 16:53:01 -0000
@@ -79,8 +79,6 @@
        if (inode == NULL)
                release_return(-ENODEV);

-       invalidate_device(inode->i_rdev, 1);
-
        dev = MINOR(inode->i_rdev);
        mtd = __get_mtd_device(NULL, dev);


<Prev in Thread] Current Thread [Next in Thread>