2008-07-25 13:29:09 Unable to mount root fs on unknown-block(0,0)
Ben Burleson (UNITED STATES)
Message: 59413
(I posted this under the wrong project yesterday, apologies for the duplicate!)
Hello, I have seen other threads on similar errors, but I think this situation might be different because I think the only thing that has changed is my development machine and toolchain. I had checked my source tree into SVN and I believe all configs were included.
I'm getting the dreaded error messages at the end of boot output:
No filesystem could mount root, tried:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
I have attached full output below.
However, I am confused because this was not a problem less than a month ago. Between then and now, I was forced to rebuild my development machine due to disk failure. I think the problem has to do with my build environment because I am able to boot an archived uImage with no other changes. The problem is when I now build an uImage, it results in this error.
I check out the release tagged version of my uClinux (which includes the built uImage). I take a copy of the archived binary aside and simply build uClinux from the tagged source. The uboot on my Blackfin is set to tftpboot, so I can swap the uImages out on the tftp server and reset the board. The archived uImage works, the newly built uImage does not. Obviously, to move ahead with development, I need to be able to build uImages again!
Sorry for the lenght of post, but I assume you need the full output.
Thank you for any advice you can give!
-Ben
Diff of the boot outputs:
1c1
< Linux version 2.6.24.7-ADI-2008R2-pre-svn6521 (bburleson@bburleson-linux.lco.gtn) (gcc version 4.1.2 (ADI svn)) #3 Thu Jul 24 17:46:19 UTC 2008
---
> Linux version 2.6.24.7-ADI-2008R2-pre-svn6114 (bburleson@bburleson-linux.lco.gtn) (gcc version 4.1.2 (ADI svn)) #465 Tue Jul 1 21:33:44 UTC 2008.
12,13c12,13
< init = 0x00160000-0x00832000
< available = 0x00832000-0x01eff000
---
> init = 0x00160000-0x00890000
> available = 0x00890000-0x01eff000
20c20
< boot memmap: 0000000000832000 - 0000000001eff000 (usable)
---
> boot memmap: 0000000000890000 - 0000000001eff000 (usable)
37c37
< Memory available: 23048k/32768k RAM, (6984k init code, 970k kernel code, 434k data, 1024k dma, 308k reserved)
---
> Memory available: 22672k/32768k RAM, (7360k init code, 970k kernel code, 434k data, 1024k dma, 308k reserved)
72c72
< rtc-bfin rtc-bfin: setting system clock to 1970-01-01 06:53:30 UTC (24810)
---
> rtc-bfin rtc-bfin: setting system clock to 1970-01-01 05:43:52 UTC (20632)
77,80c77,80
< List of all partitions:
< No filesystem could mount root, tried:
< Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
< PHY: 0:01 - Link is Up - 100/Full
---
> Freeing unused kernel memory: 7360k freed
> Warning: unable to open an initial console.
> timer_open: device(0) opened
> PHY: 0:01 - Link is Up - 100/Full
Full bad boot output (newly built uImage):
Linux version 2.6.24.7-ADI-2008R2-pre-svn6521 (bburleson@bburleson-linux.lco.gtn) (gcc version 4.1.2 (ADI svn)) #3 Thu Jul 24 17:46:19 UTC 2008
Warning: limiting memory to 31MB due to hardware anomaly 05000263
Board Memory: 32MB
Kernel Managed Memory: 32MB
Memory map:
fixedcode = 0x00000400-0x00000490
text = 0x00001000-0x000f3940
rodata = 0x000f3a80-0x0013deec
bss = 0x0013df00-0x0014c424
data = 0x0014c424-0x00160000
stack = 0x0015e000-0x00160000
init = 0x00160000-0x00832000
available = 0x00832000-0x01eff000
DMA Zone = 0x01f00000-0x02000000
Hardware Trace Active and Enabled
Blackfin support (C) 2004-2008 Analog Devices, Inc.
Compiled for ADSP-BF537 Rev 0.2
Blackfin Linux support by http://blackfin.uclinux.org/
Processor Speed: 500 MHz core clock and 100 MHz System Clock
boot memmap: 0000000000832000 - 0000000001eff000 (usable)
On node 0 totalpages: 7935
DMA zone: 61 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 7874 pages, LIFO batch:0
Normal zone: 0 pages used for memmap
Movable zone: 0 pages used for memmap
NOMPU: setting up cplb tables for global access
Instruction Cache Enabled
Data Cache Enabled (write-through)
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 7874
Kernel command line: root=/dev/mtdblock3 rw earlyprintk=serial,uart0,115200 ip=172.16.4.14:172.16.5.21:172.16.4.254:255.255.255.0:BFINLCO:eth0:off
Configuring Blackfin Priority Driven Interrupts
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)
Kernel managed physical pages: 7935
Memory available: 23048k/32768k RAM, (6984k init code, 970k kernel code, 434k data, 1024k dma, 308k reserved)
Blackfin Scratchpad data SRAM: 4 KB
Blackfin Data A SRAM: 16 KB (15 KB free)
Blackfin Data B SRAM: 16 KB (16 KB free)
Blackfin Instruction SRAM: 48 KB (41 KB free)
Calibrating delay loop... 997.37 BogoMIPS (lpj=1994752)
Security Framework initialized
Capability LSM initialized
Mount-cache hash table entries: 512
net_namespace: 64 bytes
NET: Registered protocol family 16
Blackfin GPIO Controller
Blackfin DMA Controller
stamp_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
timer_initialize: module loaded
simple-gpio: now handling 48 GPIOs: 0 - 47
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
bfin_mac_mdio: probed
bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=19)@sclk=100MHz)
bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1
rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0
bfin-wdt: initialized: timeout=20 sec (nowayout=0)
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Setting up Blackfin MMR debugfs
rtc-bfin rtc-bfin: setting system clock to 1970-01-01 06:53:30 UTC (24810)
IP-Config: Complete:
device=eth0, addr=172.16.4.14, mask=255.255.255.0, gw=172.16.4.254,
host=BFINLCO, domain=, nis-domain=(none),
bootserver=172.16.5.21, rootserver=172.16.5.21, rootpath=
List of all partitions:
No filesystem could mount root, tried:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
PHY: 0:01 - Link is Up - 100/Full
Full good boot output (archived uImage):
Linux version 2.6.24.7-ADI-2008R2-pre-svn6114 (bburleson@bburleson-linux.lco.gtn) (gcc version 4.1.2 (ADI svn)) #465 Tue Jul 1 21:33:44 UTC 2008.
Warning: limiting memory to 31MB due to hardware anomaly 05000263
Board Memory: 32MB
Kernel Managed Memory: 32MB
Memory map:
fixedcode = 0x00000400-0x00000490
text = 0x00001000-0x000f3940
rodata = 0x000f3a80-0x0013deec
bss = 0x0013df00-0x0014c424
data = 0x0014c424-0x00160000
stack = 0x0015e000-0x00160000
init = 0x00160000-0x00890000
available = 0x00890000-0x01eff000
DMA Zone = 0x01f00000-0x02000000
Hardware Trace Active and Enabled
Blackfin support (C) 2004-2008 Analog Devices, Inc.
Compiled for ADSP-BF537 Rev 0.2
Blackfin Linux support by http://blackfin.uclinux.org/
Processor Speed: 500 MHz core clock and 100 MHz System Clock
boot memmap: 0000000000890000 - 0000000001eff000 (usable)
On node 0 totalpages: 7935
DMA zone: 61 pages used for memmap
DMA zone: 0 pages reserved
DMA zone: 7874 pages, LIFO batch:0
Normal zone: 0 pages used for memmap
Movable zone: 0 pages used for memmap
NOMPU: setting up cplb tables for global access
Instruction Cache Enabled
Data Cache Enabled (write-through)
Built 1 zonelists in Zone order, mobility grouping off. Total pages: 7874
Kernel command line: root=/dev/mtdblock3 rw earlyprintk=serial,uart0,115200 ip=172.16.4.14:172.16.5.21:172.16.4.254:255.255.255.0:BFINLCO:eth0:off
Configuring Blackfin Priority Driven Interrupts
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)
Kernel managed physical pages: 7935
Memory available: 22672k/32768k RAM, (7360k init code, 970k kernel code, 434k data, 1024k dma, 308k reserved)
Blackfin Scratchpad data SRAM: 4 KB
Blackfin Data A SRAM: 16 KB (15 KB free)
Blackfin Data B SRAM: 16 KB (16 KB free)
Blackfin Instruction SRAM: 48 KB (41 KB free)
Calibrating delay loop... 997.37 BogoMIPS (lpj=1994752)
Security Framework initialized
Capability LSM initialized
Mount-cache hash table entries: 512
net_namespace: 64 bytes
NET: Registered protocol family 16
Blackfin GPIO Controller
Blackfin DMA Controller
stamp_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
timer_initialize: module loaded
simple-gpio: now handling 48 GPIOs: 0 - 47
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
bfin_mac_mdio: probed
bfin_mac: attached PHY driver [Generic PHY] (mii_bus:phy_addr=0:01, irq=-1, mdc_clk=2500000Hz(mdc_div=19)@sclk=100MHz)
bfin_mac bfin_mac.0: Blackfin on-chip Ethernet MAC driver, Version 1.1
rtc-bfin rtc-bfin: rtc core: registered rtc-bfin as rtc0
bfin-wdt: initialized: timeout=20 sec (nowayout=0)
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Setting up Blackfin MMR debugfs
rtc-bfin rtc-bfin: setting system clock to 1970-01-01 05:43:52 UTC (20632)
IP-Config: Complete:
device=eth0, addr=172.16.4.14, mask=255.255.255.0, gw=172.16.4.254,
host=BFINLCO, domain=, nis-domain=(none),
bootserver=172.16.5.21, rootserver=172.16.5.21, rootpath=
Freeing unused kernel memory: 7360k freed
Warning: unable to open an initial console.
timer_open: device(0) opened
PHY: 0:01 - Link is Up - 100/Full
badboot2.txt
goodboot.txt
QuoteReplyEditDelete
2008-07-25 13:48:47 Re: Unable to mount root fs on unknown-block(0,0)
Robin Getz (UNITED STATES)
Message: 59414
Ben:
Your bad boot has : root=/dev/mtdblock3 - are you booting from mtdblock3 or should it be mtdblock0?
Did you have CONFIG_BLK_DEV_INITRD selected in both images?
-Robin
QuoteReplyEditDelete
2008-07-25 14:20:10 Re: Unable to mount root fs on unknown-block(0,0)
Ben Burleson (UNITED STATES)
Message: 59415
Thanks Robin,
mtdblock3 is passed in from uboot, so I don't see why that should change. But to be honest, I don't know what it really means. Using the same uboot image, I am able to boot the "good" archived uImage just fine. Can you explain (or point to a doc) what this means and how I should make that decision?
Yes, CONFIG_BLK_DEV_INITRD=y and CONFIG_INITRAMFS_SOURCE=""
Thanks,
Ben
QuoteReplyEditDelete
2008-07-25 14:44:23 Re: Unable to mount root fs on unknown-block(0,0)
Ben Burleson (UNITED STATES)
Message: 59417
Also, changing to mtdblock0 yields the same result..
But I noticed an error message when attempting to save the environment in uboot:
bfin> saveenv
Saving Environment to Flash...
Error: start address not on sector boundary
bfin>
However, the proper Kernel command line was passed in. Is something wrong with my flash?
QuoteReplyEditDelete
2008-07-25 14:48:24 Re: Unable to mount root fs on unknown-block(0,0)
Robin Getz (UNITED STATES)
Message: 59418
Ben:
Info can be found in: ./linux-2.6.x/Documentation/kernel-parameters
mtdblock0
is the first mtd device:
https://docs.blackfin.uclinux.org/doku.php?id=linux-kernel:mtd
which is normally the ext2 ramfs.
this is ignored if you are using initrd - but then it should load without issues...
I'm just poking through the code now, and should have something to try out in a few minutes.
-Robin
QuoteReplyEditDelete
2008-07-25 15:10:03 Re: Unable to mount root fs on unknown-block(0,0)
Robin Getz (UNITED STATES)
Message: 59419
Ben:
There may be something wrong with your flash driver.
What hardware are you running on?
QuoteReplyEditDelete
2008-07-25 15:35:55 Re: Unable to mount root fs on unknown-block(0,0)
Ben Burleson (UNITED STATES)
Message: 59420
The hardware is the CM-BF537 board from bluetechnix: http://www.bluetechnix.com/rainbow2006/site/tinyboards/__core_modules/__cm-bf537e/313/cm-bf537e.aspx
Right now it's on one of their dev boards: http://www.bluetechnix.at/rainbow2006/site/tinyboards/__dev__eval_boards/__dev-bf5xxda-lite/380/dev-bf5xxda-lite.aspx
QuoteReplyEditDelete
2008-07-25 20:11:30 Re: Unable to mount root fs on unknown-block(0,0)
Ben Burleson (UNITED STATES)
Message: 59424
Robin,
Thanks so much for your help. Apparently I had some kernel configs wrong for the CM-BF537E because I went back and compared them to the CM-BF537_defconfig and I got it booting!
I'm really wondering how it used to work before when I still had some kernel configs incorrect. I think it must have to do with different toolchain versions.
This time I will put EVERYTHING I use to build this into subversion!
Cheers,
Ben