R – Mount RootFS error: VFS: Cannot open root device “mtdblock4” or unknown-block(0,0)

linuxrootfs

My MTD partition is:
Creating 5 MTD partitions on "Physically mapped flash":
0x00000000-0x00040000 : "UBoot"
0x00040000-0x00060000 : "BDINFO"
0x00060000-0x00100000 : "JFFS2"
0x00100000-0x00380000 : "Kernel"
0x00380000-0x00800000 : "Rootfs"

Kernel command line is:
Kernel command line: console=ttyS0,115200 mem=32M noinitrd root=/dev/mtdblock4 rw rootfstype=squashfs

Now, error occurs when mount the root file system, kernel boot information as follows:

## Checking Image at 81000000 ...
   Image Name:   Linux Kernel Image
   Created:      2009-12-22   2:10:46 UTC
   Image Type:   MIPS Linux Kernel Image (gzip compressed)
   Data Size:    874176 Bytes = 853.7 kB
   Load Address: 80000000
   Entry Point:  801fa000
   Verifying Checksum ... OK
RTL8389 # cp.b 0x80f60000 0xbd060000 401000
Copy to Flash... done
RTL8389 # '
RTL8389 # reset

U-Boot 1.3.0 (Oct  2 2009 - 15:21:34)

CPU: MIPS 4KEc 300 MHz, id: 0x90, rev: 0x6c
Peripheral: 200 MHz
DRAM:  32 MB
Flash:  8 MB
In:    serial
Out:   serial
Err:   serial
Chip configuration - $Revision: 5971 $
Switch Model: GS-2228 (Port Count: 28)
Switch Chip: RTL8389M
Net:   rtl8389#0
Press space to abort autoboot in 1 second
## Booting image at bd100000 ...
   Image Name:   Linux Kernel Image
   Created:      2009-12-22   2:10:46 UTC
   Image Type:   MIPS Linux Kernel Image (gzip compressed)
   Data Size:    874176 Bytes = 853.7 kB
   Load Address: 80000000
   Entry Point:  801fa000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.6.19 (root@localhost.localdomain) (gcc version 3.4.4 mipssde-6.03.00-20051020) #79 PREEMPT Mon Dec 21 21:10:37 EST 2009
CPU revision is: 0001906c
Determined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
User-defined physical RAM map:
 memory: 02000000 @ 00000000 (usable)
Built 1 zonelists.  Total pages: 8128
Kernel command line: console=ttyS0,115200 mem=32M noinitrd root=/dev/mtdblock4 rw rootfstype=squashfs
Primary instruction cache 16kB, physically tagged, 4-way, linesize 16 bytes.
Primary data cache 16kB, 4-way, linesize 16 bytes.
Synthesized TLB refill handler (20 instructions).
Synthesized TLB load handler fastpath (32 instructions).
Synthesized TLB store handler fastpath (32 instructions).
Synthesized TLB modify handler fastpath (31 instructions).
PID hash table entries: 128 (order: 7, 512 bytes)
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 30252k/32768k available (1668k kernel code, 2516k reserved, 351k data, 100k init, 0k highmem)
Mount-cache hash table entries: 512
Checking for 'wait' instruction...  available.
NET: Registered protocol family 16
NET: Registered protocol family 2
IP route cache hash table entries: 256 (order: -2, 1024 bytes)
TCP established hash table entries: 1024 (order: 0, 4096 bytes)
TCP bind hash table entries: 512 (order: -1, 2048 bytes)
TCP: Hash tables configured (established 1024 bind 512)
TCP reno registered
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered
io scheduler deadline registered
io scheduler cfq registered (default)
Serial: 8250/16550 driver $Revision: 1.90 $ 1 ports, IRQ sharing disabled
serial8250: ttyS0 at MMIO 0x0 (irq = 31) is a 16550A
flash device: 2000000 at bd000000
Physically mapped flash: Found 1 x16 devices at 0x0 in 16-bit bank
 Amd/Fujitsu Extended Query Table at 0x0040
number of CFI chips: 1
cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness.
Creating 5 MTD partitions on "Physically mapped flash":
0x00000000-0x00040000 : "UBoot"
0x00040000-0x00060000 : "BDINFO"
0x00060000-0x00100000 : "JFFS2"
0x00100000-0x00380000 : "Kernel"
0x00380000-0x00800000 : "Rootfs"
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
VFS: Cannot open root device "mtdblock4" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)

What's the reason?

Best Answer

This issue has been resolved.
the resolution is to open CONFIG_SYSFS configuration item.

Related Topic