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);