Home Forum Developers IP0x [267] No filesystem could mount root - Kernel panic

JRPassphrase Registration Control

In order to register on this site, you must first submit the passphrase below.

TODO list for each hardware target can be found as sticky topic in the corresponding forum


Gilles
useravatar
User Info

[267] No filesystem could mount root - Kernel panic

Hello

After downloading the latest trunk, compiling uImage with Lua, copying to /tftpboot, I proceeded with downloading it from the IP01 ("tftp 0x1000000 uImage") and then lauching it ("bootm 0x1000000"), but after about 10s, I get this error message:

Code:


[...]
Creating 3 MTD partitions on "NAND 256MiB 3,3V 8-bit":
0x00000000-0x00a00000 : "uImage"
0x00a00000-0x01400000 : "uImage backup"
0x01400000-0x10000000 : "persistent file system"
bfin-wdt: initialized: timeout=20 sec (nowayout=0)
TCP cubic registered
NET: Registered protocol family 17
802.1Q VLAN Support v1.8 Ben Greear <greearb@candelatech.com>
All bugs added by David S. Miller <davem@redhat.com>
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
List of all partitions:
1f00           20480 mtdblock0 (driver?)
1f01           10240 mtdblock1 (driver?)
1f02           10240 mtdblock2 (driver?)
1f03          241664 mtdblock3 (driver?)
No filesystem could mount root, tried:  ext2 vfat msdos
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)

I'm still using the original uBoot: Do I need to download the one I compiled when compiling uImage as well? Any idea what could be wrong?

Thank you.



Edited By:  Gilles
Jul-04-10 02:19:49

Administrator has disabled public posting
Gilles
useravatar
User Info

Re: [267] No filesystem could mount root - Kernel panic

Gave it another try this morning... which also ended with a Kernel Panic :-/

Here's what I did, following the FAQ on building a new image:

Workstation
make clean
svn update -> 270
make menuconfig (includes Lua)
make
vi build_ip01/uClinux-dist/lib/libcurl/Makefile
make
make image
cp build_01/image_01/uImage /tftpboot

IP01
Hit key to prevent from booting Linux
> setenv autostart
> setenv ipaddr 192.168.0.9
> setenv serverip 192.168.0.3
> setenv netmask 255.255.255.0
> save

> tftp 0x2000000 uImage

> setenv autostart yes
> save

> nand erase clean
> nand erase
> nand write 0x2000000 0x 0x7c0000
> reset

I get the same error regardless of booting directly from RAM (tftp -> bootm) or by first erasing the NAND and resetting the Atcom.

Code:


drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
List of all partitions:
1f00           20480 mtdblock0 (driver?)
1f01           10240 mtdblock1 (driver?)
1f02           10240 mtdblock2 (driver?)
1f03          241664 mtdblock3 (driver?)
No filesystem could mount root, tried:  ext2 vfat msdos
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)

Any idea about what it could be?

Thank you.


Administrator has disabled public posting
Gilles
useravatar
User Info

Re: [267] No filesystem could mount root - Kernel panic

FYI, the Atcom previously ran the BAPS version of the firmware, so maybe some of the uBoot settings must be changed to load Switchfin?

Code:


ip04>printenv
bootdelay=3
baudrate=115200
loads_echo=1
eth1addr=02:80:ad:20:31:b9
preboot=echo starting from spi flash
rootpath=/bf1/rootfs
hostname=BF1
addnet=setenv bootargs $(bootargs) ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname):eth0:off
nfsargs=setenv bootargs root=/dev/nfs rw nfsroot=$(serverip):$(rootpath);run addnet;
ramboot=tftp 0x01000000 vmImage;run addnet;bootm
nfsboot=tftp 0x01000000 vmImage;run nfsargs;bootm
flashboot=run addnet;bootm 20020000
spiboot=eeprom read 0x01000000 30000 110000;run addnet;bootm 0x01000000
update=tftpboot 0x01000000 u-boot.bin;protect off 0x20000000 0x2001FFFF;erase 0x20000000 0x2001FFFF;cp.b 0x01000000 0x20000000 $(filesize)
ethact=DM9000#0
ethaddr=00:09:45:56:72:9b
con=console=ttyBF0,115200
root=root=/dev/mtdblock0 rw
ipaddr 192.168.0.9
filesize=206457
fileaddr=1000000
gatewayip=192.168.0.254
netmask=255.255.255.0
ipaddr=192.168.0.9
serverip=192.168.0.3
bootargs=ethaddr=00:09:45:56:72:9b root=/dev/mtdblock2 rw
nandboot=nboot 0x2000000 0x0
bootcmd=run nandboot
autostart=yes
stdin=serial
stdout=serial
stderr=serial

Environment size: 1136/65532 bytes
ip04>

What about the lines that say "root=root=/dev/mtdblock0 rw" and "bootargs=ethaddr=00:09:45:56:72:9b root=/dev/mtdblock2 rw"?


Administrator has disabled public posting
Albi90
useravatar
User Info

Re: [267] No filesystem could mount root - Kernel panic

Hi Gilles

Please try the following

Code:


ip04>setenv autostart
ip04>setenv ipaddr 192.168.1.100
ip04>setenv netmask 255.255.255.0
ip04>setenv gatewayip 192.168.1.1
ip04>setenv serverip 192.168.1.200

(Notes: "serverip" refers to your TFTP server. The addresses that you specify here are only used during the flashing process - when booting the new firmware it will attempt to use the IP address 192.168.1.100 and if that fails it will attempt DHCP instead. You may review your settings using the 'print' command.)

ip04>save
ip04>tftp 0x1000000 uImage
ip04>nand erase clean
ip04>nand erase

(Notes: During TFTP transfer, successful transferring will show alot of #'s, while timed out requests will display T's instead. Don't worry if it finds some bad blocks during the erasing.)

ip04>nand write 0x1000000 0x0 0x700000
ip04>setenv bootargs ethaddr=$(ethaddr) console=ttyBF0,115200 root=/dev/mtdblock0 rw
ip04>setenv autostart yes ip04>setenv nandboot 'nboot 0x2000000 0x0'
ip04>setenv bootcmd run nandboot ip04>save ip04>reset


Administrator has disabled public posting
Albi90
useravatar
User Info

Re: [267] No filesystem could mount root - Kernel panic

you may also need to remake your image from scratch (delete the build_ip01 dir) and run:
make
make image


Administrator has disabled public posting
luckman212
useravatar
User Info

Re: [267] No filesystem could mount root - Kernel panic

make sure the uImage is not bigger than you think... for example in my builds 0x700000 is too small and you will wind up truncating the image.  Check the exact size in bytes and do a dec=>hex conversion.  In my case I had to use 0x720000


Administrator has disabled public posting
Gilles
useravatar
User Info

Re: [267] No filesystem could mount root - Kernel panic

Thanks, I'll give it a try.

Before I go ahead, are you sure you meant the following?

Code:


ip04>tftp 0x1000000 uImage
[...]
ip04>setenv nandboot 'nboot 0x2000000 0x0'

Shouldn't nboot start at 0x1000000, or is it something different?


Administrator has disabled public posting
luckman212
useravatar
User Info

Re: [267] No filesystem could mount root - Kernel panic

hi Gilles, I don't know what Dimitar will say but for myself I have always used

nand write 0x2000000 0 0x720000


for me this works well.


Administrator has disabled public posting
Gilles
useravatar
User Info

Re: [267] No filesystem could mount root - Kernel panic

Thanks, it worked :-)

There were two errors in the commands I sent:

Code:


bootargs=ethaddr=00:09:45:56:72:9b root=/dev/mtdblock2 rw

As I suspected, we must use "mtdblock0" instead.

Code:


"nand write 0x1000000 0x0 0x700000"

The last number tells uBoot how many bytes to read from RAM and write to NAND. This was too short. Thankfully, tftp tells the user how many bytes it downloaded: "Bytes transferred = 7471104 (720000 hex)"

So the correct command should have been:

Code:


nand write 0x1000000 0x0 0x720000

Hope this helps others.


Administrator has disabled public posting

Board Info

Board Stats:   Total Users: 2587  Total Topics: 299  Total Polls: 1  Total Posts: 1727  Dormant
User Info:   Newest User :  user2553   Members Online: 0   Guests Online: 359
Online  There are no members online
Topic
New
Locked
Topic
New
Locked
Sticky
Active
New/Active
Sticky
Active
New/Active
New/Closed
New Sticky
Closed/Active
New/Locked
New Sticky
Locked/Active
Active/Sticky
Sticky/Locked
Sticky Active Locked
Active/Sticky
Sticky/Locked
Sticky/Active/Locked