2008-02-11 00:45:31 VFS: Cannot open root device "mtdblock0" or unknown-block(0,0)
Ming Leung (CANADA)
Message: 50896 I got the following error during boot up after the successful uclinux image download via tftp:
## Booting image at 01000000 ...
Image Name: Linux-2.6.22.16-ADI-2007R2-pre-s
Created: 2008-02-11 5:26:30 UTC
Image Type: Blackfin Linux Kernel Image (gzip compressed)
Data Size: 4606315 Bytes = 4.4 MB
Load Address: 00001000
Entry Point: 0017c000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
Starting Kernel at 0x17c000
Linux version 2.6.22.16-ADI-2007R2-pre-svn4099 (mingdee@DV6000) (gcc version 4.1
.2 (ADI svn)) #489 PREEMPT Mon Feb 11 00:26:27 EST 2008
Hardware Trace Active and Enabled
Warning: limiting memory to 31MB due to hardware anomaly 05000263
Blackfin support (C) 2004-2007 Analog Devices, Inc.
Compiled for ADSP-BF531 Rev 0.4
Blackfin Linux support by http://blackfin.uclinux.org/
Processor Speed: 324 MHz core clock and 81 MHz System Clock
Board Memory: 32MB
Kernel Managed Memory: 32MB
Memory map:
text = 0x00001000-0x00116ee0
rodata = 0x00117000-0x00167228
data = 0x00168000-0x0017c000
stack = 0x00168000-0x0016a000
init = 0x0017c000-0x00901000
bss = 0x00901000-0x00912810
available = 0x00912810-0x01eff000
DMA Zone = 0x01f00000-0x02000000
Instruction Cache Enabled
Data Cache Enabled (write-through)
Built 1 zonelists. Total pages: 7874
Kernel command line: root=/dev/mtdblock0 rw console=ttyBF0,115200n8 ip=192.168.5
.253:192.168.5.188:192.168.5.1:255.255.255.0:HHBF:eth0:off kgdboe=@192.168.5.253
/,@192.168.5.188/
Configuring Blackfin Priority Driven Interrupts
PID hash table entries: 128 (order: 7, 512 bytes)
Console: colour dummy device 80x25
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Physical pages: 1eff
Memory available: 22148k/31328k RAM, (7700k init code, 1111k kernel code, 70k da
ta, 1024k dma)
Blackfin Scratchpad data SRAM: 4 KB
Blackfin Data A SRAM: 16 KB (16 KB free)
Blackfin Data B SRAM: 16 KB (16 KB free)
Blackfin Instruction SRAM: 64 KB (56 KB free)
Mount-cache hash table entries: 512
NET: Registered protocol family 16
Blackfin GPIO Controller
Blackfin DMA Controller
hhbf_init: registering device resources
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 1024 (order: 1, 8192 bytes)
TCP bind hash table entries: 1024 (order: 0, 4096 bytes)
TCP: Hash tables configured (established 1024 bind 1024)
TCP reno registered
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler cfq registered
BF53X-T350MCQH-01: 320x240 16-bit RGB FrameBuffer initializing...
dma_alloc_init: dma_page @ 0x01b09000 - 256 pages at 0x01f00000
Serial: Blackfin serial driver
bfin-uart.1: ttyBF0 at MMIO 0xffc00400 (irq = 21) is a BFIN-UART
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
dm9000 Ethernet Driver
eth0: dm9000 at 20300000,20300004 IRQ 33 MAC: 02:19:80:01:04:20
bfin-spi bfin-spi.0: Blackfin BF5xx on-chip SPI Contoller Driver, Version 1.0, r
egs_base@ffc00500, dma channel@5
rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
rtc-bfin rtc-bfin: setting the system clock to 1970-06-03 16:24:32 (13278272)
eth0: link down
IP-Config: Complete:
device=eth0, addr=192.168.5.253, mask=255.255.255.0, gw=192.168.5.1,
host=HHBF, domain=, nis-domain=(none),
bootserver=192.168.5.188, rootserver=192.168.5.188, rootpath=
VFS: Cannot open root device "mtdblock0" or unknown-block(0,0)
Please append a correct "root=" boot option; here are the available partitions:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
eth0: link up, 100Mbps, full-duplex, lpa 0xCDE1
I am using SVN trunk (4099) and the uImage.initramfs image. I am wondering the root=/dev/mtdblock0 in the kernel command line has anything to do with it.
../ming
QuoteReplyEditDelete
2008-02-11 01:03:15 Re: VFS: Cannot open root device "mtdblock0" or unknown-block(0,0)
Mike Frysinger (UNITED STATES)
Message: 50897 you didnt enable any MTD device drivers, so mtdblock0 obviously wont exist
did you also disable CONFIG_BLK_DEV_INITRD in the kernel ?
QuoteReplyEditDelete
2008-02-11 02:02:28 Re: VFS: Cannot open root device "mtdblock0" or unknown-block(0,0)
Ming Leung (CANADA)
Message: 50900 CONFIG_BLK_DEV_INITRD is not disabled in my build and I have not done any extra steps to enable any MTD device driver.
My system has only a root file system in ram and I don't need any other file storage. So there are two questions:
1/ What configurations I need to set and unset in order to enable the root file system in initramfs, which is the default in this distribution?
2/ Same question of 1, but the root file system is now a romfs/ramfs?? in ext2, like what we normally get in the 2007R3 distribution as default.
Also, I tried to unset CONFIG_BLK_DEV_INITRD and recompile. This time I do not have the compressed image (uImage) build. See the log below:
if [ -r System.map -a -x true ]; then true -ae -F System.map -b /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs -r 2.6.22.16-ADI-2007R2-pre-svn; fi
make[1]: Leaving directory `/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/linux-2.6.x'
Guessed module directory as /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs/lib/modules//2.6.22.16-ADI-2007R2-pre-svn
make ARCH=blackfin -C vendors romfs.post
make[1]: Entering directory `/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors'
make -C /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/TeamConcept/HHBF-531/. dir_v=/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/TeamConcept/HHBF-531/. -f /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/vendors-common.mak romfs.post
make[2]: Entering directory `/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/TeamConcept/HHBF-531'
set -e; \
t=`bfin-linux-uclibc-gcc -mcpu=bf531-0.4 -print-file-name=libc.a`; \
t=`dirname $t`/../..; \
for i in $t/lib/*so*; do \
bn=`basename $i`; \
if [ -f $i ] ; then \
romfs-inst.sh -p 755 $i /lib/$bn; \
fi; \
done; \
for i in $t/lib/*so*; do \
if [ -h $i -a -e $i ] ; then \
j=`readlink $i`; \
romfs-inst.sh -s \
`basename $j` \
/lib/`basename $i`; \
fi; \
done; \
if type bfin-linux-uclibc-ldconfig >/dev/null 2>&1; then \
bfin-linux-uclibc-ldconfig -r /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs; \
fi
make[2]: Leaving directory `/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/TeamConcept/HHBF-531'
make[1]: Leaving directory `/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors'
find /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs/. -name CVS | xargs -r rm -rf
[ -d /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images ] || mkdir /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images
make ARCH=blackfin -C vendors image
make[1]: Entering directory `/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors'
make -C /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/TeamConcept/HHBF-531/. dir_v=/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/TeamConcept/HHBF-531/. -f /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/vendors-common.mak image
make[2]: Entering directory `/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/TeamConcept/HHBF-531'
mkdir -p /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images
rm -rf /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/*
rm -rf /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs/dev;
cp /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/linux-2.6.x/linux /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/vmlinux
bfin-linux-uclibc-strip -g /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/vmlinux
set -e ; \
if [ -x /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/user/mtd-utils/build/mkfs.jffs2 ] && [ -n "" -o -n "m" ]; then \
/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/user/mtd-utils/build/mkfs.jffs2 -d /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs -D device_table.txt -o /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/rootfs.jffs2; \
fi
set -e ; \
if [ -x "/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/user/blkfin-apps/yaffs-utils/utils/mkyaffsimage" -a -n "y" ]; then \
/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/user/blkfin-apps/yaffs-utils/utils/mkyaffsimage /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/rootfs.yaffs > /dev/null ; \
fi ; \
if [ -x "/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/user/blkfin-apps/yaffs-utils/utils/mkyaffs2image" -a -n "y" ]; then \
/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/user/blkfin-apps/yaffs-utils/utils/mkyaffs2image /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/rootfs.yaffs2 > /dev/null ; \
fi
bfin-linux-uclibc-genext2fs -m 0 -i 1024 -b 14336 -d /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs -D device_table.txt /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/rootfs.ext2
bfin-linux-uclibc-objcopy --add-section .romfs=/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/rootfs.ext2 \
--adjust-section-vma .romfs=$(echo $(($(bfin-linux-uclibc-objdump -h /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/vmlinux | awk '/.bss/ {print "0x"$4}') + $(bfin-linux-uclibc-objdump -h /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/vmlinux | awk '/.bss/ {print "0x"$3}')))) --no-adjust-warnings \
--set-section-flags .romfs=alloc,load,data /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/vmlinux /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/linux.ext2
BFD: /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/linux.ext2: warning: allocated section `.romfs' not in segment
set -e ; \
if which genromfs >/dev/null 2>&1; then \
/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/tools/mkdevdir.sh /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs device_table.txt; \
genromfs -f /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/rootfs.romfs -d /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs; \
bfin-linux-uclibc-objcopy --add-section .romfs=/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/rootfs.romfs \
--adjust-section-vma .romfs=$(echo $(($(bfin-linux-uclibc-objdump -h /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/vmlinux | awk '/.bss/ {print "0x"$4}') + $(bfin-linux-uclibc-objdump -h /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/vmlinux | awk '/.bss/ {print "0x"$3}')))) --no-adjust-warnings \
--set-section-flags .romfs=alloc,load,data /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/vmlinux /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/linux.romfs ; \
rm -rf /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/romfs/dev/*; \
fi
cp /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/linux-2.6.x/arch/blackfin/boot/vmImage /home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/images/vmImage
make[2]: Leaving directory `/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors/TeamConcept/HHBF-531'
make[1]: Leaving directory `/home/mingdee/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn/vendors'
mingdee@DV6000:~/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn$ ls images/
linux.ext2 rootfs.ext2 vmImage vmlinux
mingdee@DV6000:~/Development/bfin/svn-3/toolchain/uclinux-dist-trunk-svn$
QuoteReplyEditDelete
2008-02-11 14:51:27 Re: VFS: Cannot open root device "mtdblock0" or unknown-block(0,0)
Mike Frysinger (UNITED STATES)
Message: 50909 whoever gave you "TeamConcept/HHBF-531" needs to update their Makefile. contact that group.
QuoteReplyEditDelete
2008-02-11 17:24:54 Re: VFS: Cannot open root device "mtdblock0" or unknown-block(0,0)
Robin Getz (UNITED STATES)
Message: 50911 Ming:
As Mike pointed out - we can't support software that isn't downloaded from this web site. I found, and assume this is your hardware?
http://www.hhcn.com/chinese/adsp/HHBF531-StartKIT-R1.htm
If HHCN is distributing their own version of the uClinux dist - then they need to maintain it. For support try:
http://www.hhcn.com/cgi-bin/leoboard.cgi
If you are trying to update their version to the new version - the easiest thing to have someone from HHCN to submit a patch to our patch tracker, and we will just fix it, and commit it to our svn.
-Robin