From: John Williams <jwilliams@itee.uq.edu.au>
To: linux-mtd@lists.infradead.org,
uClinux development list <uclinux-dev@uclinux.org>
Subject: ENOENT creating /dev/root on MTD RAM partition
Date: Mon, 02 Apr 2007 11:09:08 +1000 [thread overview]
Message-ID: <461057B4.8030209@itee.uq.edu.au> (raw)
Hello,
I'm working on the 2.6 kernel for MicroBlaze (embedded, NOMMU) arch.
Like some other nommu archs, we typically mount root on an MTD RAM
partition (either CRAMFS or ROMFS).
All of this is working fine on 2.6.19 plus SnapGear 2.6.19-uc0-bigpatch
NOMMU patchset.
However, since coming forward to 2.6.20 (plus equiv. SnapGear patchset)
mount_root is failing.
Details follow, but basically create_dev(/dev/root, ROOT_DEV) is
returning -ENOENT. ROOT_DEV points to a valid MTD RAM partition, with a
valid ROMFS (or CRAMFS, doesn't matter which) image. I've dumped the
memory, the image is good.
Googling the various archives finds one or two past references to
create_dev or do_mount_root returning -ENOENT on MTD RAM partitions, but
I found no followups or solutions posted.
From my bootlog:
uclinux[mtd]: RAM probe address=0x22182cc8 size=0x21d000
Creating 1 MTD partitions on "RAM":
0x00000000-0x0021d000 : "ROMfs"
mtd: Giving out device 5 to ROMfs
uclinux[mtd]: set ROMfs to be root filesystem index=5
...
((my debug output in namei.c))
hello from __link_walk_path(/dev/root)
__link_walk_path says -ENOENT
next:0x23ff4694
next.dentry:0x23e12d08
...
Kernel panic - not syncing: VFS: Unable to mount root fs on
unknown-block(31,5)
<0>Rebooting in 120 seconds..Machine restart...
I traced down into fs/namei.c - it's a fragment in
__link_path_walk("/dev/root"):
line 892:
/* This does the actual lookups.. */
err = do_lookup(nd, &this, &next);
if (err)
break;
err = -ENOENT;
inode = next.dentry->d_inode;
if (!inode) {
---> we are hitting this error path
goto out_dput;
}
So, it seems that do_lookup is returning a dentry with no inode.
I've tried this with both ROMFS and CRAMFS types, with the same result.
If it was a random memory corruption event I'd expect to see
different failure modes for the two filesystem types.
Any comments or suggestions on a possible cause or approach to track it
down would be greatly appreciated.
Thanks,
John
next reply other threads:[~2007-04-02 1:58 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-02 1:09 John Williams [this message]
2007-04-03 4:39 ` [uClinux-dev] ENOENT creating /dev/root on MTD RAM partition John Williams
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=461057B4.8030209@itee.uq.edu.au \
--to=jwilliams@itee.uq.edu.au \
--cc=linux-mtd@lists.infradead.org \
--cc=uclinux-dev@uclinux.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox