From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from oss.sgi.com (localhost [127.0.0.1]) by oss.sgi.com (8.12.3/8.12.3) with ESMTP id g4P05tnC021039 for ; Fri, 24 May 2002 17:05:55 -0700 Received: (from majordomo@localhost) by oss.sgi.com (8.12.3/8.12.3/Submit) id g4P05slD021038 for linux-mips-outgoing; Fri, 24 May 2002 17:05:54 -0700 X-Authentication-Warning: oss.sgi.com: majordomo set sender to owner-linux-mips@oss.sgi.com using -f Received: from mail.laser5.co.jp (gw1.laser5.co.jp [202.221.8.77]) by oss.sgi.com (8.12.3/8.12.3) with SMTP id g4P05jnC021035 for ; Fri, 24 May 2002 17:05:46 -0700 Received: from l5ac192.l5.laser5.co.jp (unknown [192.168.128.192]) by mail.laser5.co.jp (Postfix) with ESMTP id B84D4833A5 for ; Sat, 25 May 2002 09:06:51 +0900 (JST) Date: Sat, 25 May 2002 09:06:52 +0900 Message-ID: From: Kunihiko IMAI To: linux-mips Subject: fail to boot with MTD root fs User-Agent: Wanderlust/2.8.1 (Something) SEMI/1.14.3 (Ushinoya) FLIM/1.14.3 (=?ISO-8859-4?Q?Unebigory=F2mae?=) APEL/10.3 Emacs/20.7 (i386-vine-linux-gnu) MULE/4.1 (AOI) MIME-Version: 1.0 (generated by SEMI 1.14.3 - "Ushinoya") Content-Type: text/plain; charset=US-ASCII Sender: owner-linux-mips@oss.sgi.com Precedence: bulk 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. I traced code from init/main.c with printk. It reached at schedule() and go into infinite loop. I also used kernel gdb, but fail to trace. It may be sensible with timing or interrupt. So printk trace may be fake result, too. Some month ago, I ported 2.4.16 kernel to L-Card+, a small VR4181 board. At this time, it can boot with FlashROM root fs. It works well. I compared 2.4.16 and 2.4.18 code. And I found a difference at mount_root(). at 2.4.18: for (p = fs_names; *p; p += strlen(p)+1) { struct file_system_type * fs_type = get_fs_type(p); if (!fs_type) continue; atomic_inc(&bdev->bd_count); retval = blkdev_get(bdev, mode, 0, BDEV_FS); ///// <- /// go into infinite loop at this line if (retval) goto Eio; sb = read_super(ROOT_DEV, bdev, fs_type, root_mountflags, root_mount_data); put_filesystem(fs_type); if (sb) { blkdev_put(bdev, BDEV_FS); goto mount_it; } } panic("VFS: Unable to mount root fs on %s", kdevname(ROOT_DEV)); at 2.4.16: for (p = fs_names; *p; p += strlen(p)+1) { struct file_system_type * fs_type = get_fs_type(p); if (!fs_type) continue; sb = read_super(ROOT_DEV, bdev, fs_type, root_mountflags, root_mount_data); if (sb) goto mount_it; put_filesystem(fs_type); } panic("VFS: Unable to mount root fs on %s", kdevname(ROOT_DEV)); Reverting this part as 2.4.16, then it can boot. But I'm afraid that this reverting causes another problem... Thanks. _._. __._ _ . ... _ .___ ._. _____ _... ._ _._ _.._. .____ _ . ... _ Kunihiko IMAI