天嵌 ARM开发社区

 找回密码
 注册
查看: 9356|回复: 7

Kernel panic - not syncing: VFS :Unable to mount root fs on unknown-block(31,2)

[复制链接]
blackfir 发表于 2012-3-29 00:34:16 | 显示全部楼层 |阅读模式
使用tq2440本来就想实现一个简单的功能,一个内核驱动模块驱动GPIO,一个qt做控制,分别写完了,使用光盘自带的镜像(使用光盘中的2.6.30的镜像和文件系统),调试的时候发现insmod失败,后来在论坛搜索,有人说内核与驱动版本不匹配,于是按照《天嵌科技出品-Linux移植之Step By Step_V4.5_20100605》编译了一个内核,做完step7,烧写到开发板,文件系统仍然是使用的光盘提供的,烧写过程正常,但是启动后,报错,
报错信息为:
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
Backtrace:
[<c0024428>] (dump_backtrace+0x0/0x10c) from [<c01cba64>] (dump_stack+0x18/0x1c)
r6:c001a83c r5:c0290f84 r4:c0291780 r3:80000013
[<c01cba4c>] (dump_stack+0x0/0x1c) from [<c01cbab4>] (panic+0x4c/0x110)
[<c01cba68>] (panic+0x0/0x110) from [<c0008d24>] (mount_block_root+0x1dc/0x29c)
r3:00000001 r2:00000000 r1:c381df60 r0:c02375cc
r7:00008000
[<c0008b48>] (mount_block_root+0x0/0x29c) from [<c0008e38>] (mount_root+0x54/0x6c)
[<c0008de4>] (mount_root+0x0/0x6c) from [<c0008f78>] (prepare_namespace+0x128/0x180)
r5:c001a851 r4:c0290f84
[<c0008e50>] (prepare_namespace+0x0/0x180) from [<c00089c4>] (kernel_init+0xbc/0xe8)
r5:c0019800 r4:c0019800
后来在文档中看到使用256m的flash时,内核配置文件需要选择Hardware ECC,于是重新配置,勾选此项,编译内核,再次烧写,仍然使用光盘提供的文件系统。
启动后仍然报错:
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
usbcore: registered new interface driver libusual
usbcore: registered new interface driver usbserial
USB Serial support registered for generic
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver ftdi_sio
ftdi_sio: v1.4.3:USB FTDI Serial Converters Driver
USB Serial support registered for pl2303
usbcore: registered new interface driver pl2303
pl2303: Prolific PL2303 USB to serial adaptor driver
mice: PS/2 mouse device common for all mice
S3C24XX RTC, (c) 2004,2006 Simtec Electronics
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c2410-rtc s3c2410-rtc: rtc core: registered s3c as rtc0
S3C2410 Watchdog Timer, (c) 2004 Simtec Electronics
s3c2410-wdt s3c2410-wdt: starting watchdog timer
s3c2410-wdt s3c2410-wdt: watchdog active, reset abled, irq enabled
mapped channel 0 to 0
s3c2440-sdi s3c2440-sdi: powered down.
s3c2440-sdi s3c2440-sdi: initialisation done.
Advanced Linux Sound Architecture Driver Version 1.0.18a.
ALSA device list:
  No soundcards found.
TCP cubic registered
NET: Registered protocol family 17
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
s3c2410-rtc s3c2410-rtc: setting system clock to 2009-02-06 19:10:47 UTC (1233947447)
s3c2440-sdi s3c2440-sdi: powered down.
end_request: I/O error, dev mtdblock2, sector 256
isofs_fill_super: bread failed, dev=mtdblock2, iso_blknum=64, block=128
List of all partitions:
1f00             256 mtdblock0 (driver?)
1f01            3072 mtdblock1 (driver?)
1f02          257024 mtdblock2 (driver?)
No filesystem could mount root, tried:  cramfs vfat msdos iso9660 romfs
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
[<c002c700>] (unwind_backtrace+0x0/0xdc) from [<c0283ebc>] (panic+0x40/0x110)
[<c0283ebc>] (panic+0x40/0x110) from [<c0008fcc>] (mount_block_root+0x1d0/0x210)
[<c0008fcc>] (mount_block_root+0x1d0/0x210) from [<c0009264>] (prepare_namespace+0x164/0x1bc)
[<c0009264>] (prepare_namespace+0x164/0x1bc) from [<c0008598>] (kernel_init+0xb4/0xe0)
[<c0008598>] (kernel_init+0xb4/0xe0) from [<c004814c>] (do_exit+0x0/0x578)
[<c004814c>] (do_exit+0x0/0x578) from [<00000001>] (0x1)


1 看到论坛上很多人出现过这个错误,但是没有哪个帖子后面有解决方法,既然是常见问题,希望tq的工程师能提供一个解决方案。
2 编译光盘中提供的2.6.30镜像文件时所用的配置文件,以及改动后的内核代码,是否可以提供一份供用户下载,这样部分需要直接开发的用户可以不需要再单独编译内核,仅仅编译需要的驱动或者应用程序即可,避免开发环境导致问题。
TQ_guoxixiao 发表于 2012-3-29 11:51:30 | 显示全部楼层
可能是你在window下解压的,再移动到linux下。
要在linux下解压。
 楼主| blackfir 发表于 2012-3-30 00:12:06 | 显示全部楼层
是在linux解压的,还有一个问题,在《天嵌科技出品-Linux移植之Step By Step_V4.5_20100605》中,修改内核配置文件时,截图中有一些没有标红,截图没有标红的配置中,部分选项与实际配置过程中显示的不同,这时就会产生分歧,是应该按照截图中的配置,还是保留内核中原有配置。希望能给出针对2.6.30.4的内核详细配置步骤,不要和其它版本的内核混在一起。
wuweidong 发表于 2012-3-30 19:24:03 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
bjhou2008 发表于 2012-4-3 19:51:48 | 显示全部楼层
我以前也经常出现这种问题,将系统ip设为静态的就好了,呵呵:D
 楼主| blackfir 发表于 2012-4-3 19:54:08 | 显示全部楼层
1
TSLIB_TSDEVICE=/dev/event0
USER=root
LD_LIBRARY_PATH=/opt/qt-4.5/lib:/opt/qt-4.5/plugins/imageformats:
OLDPWD=/root
HOME=/root
QTDIR=/opt/qt-4.5
PS1=[\u@\h \W]#
TSLIB_PLUGINDIR=/lib/ts
QWS_KEYBOARD=TTY:/dev/tty1
LOGNAME=root
QT_QWS_FONTDIR=/opt/qt-4.5/lib/fonts/
TERM=vt102
PATH=/opt/qt-4.5/bin:/sbin:/usr/sbin:/bin:/usr/bin
TSLIB_CONFFILE=/etc/ts.conf
SHELL=/bin/sh
QWS_DISPLAY=LinuxFB:mmWidth130:mmHeight100:0
QPEDIR=/opt/qt-4.5
PWD=/root
QT_PLUGIN_PATH=/opt/qt-4.5/plugins/
QWS_MOUSE_PROTO=TSLIB:/dev/event0 Intellimouse:/dev/mouse0
TSLIB_CALIBFILE=/etc/pointercal

2 内核配置过程中没有修改分区信息。
3 rootfs使用光盘提供的root_qt_4.5_2.6.30.4_256M20100601.bin
4 insmod出错信息
led: Unknown symbol __aeabi_unwind_cpp_pr0
led: Unknown symbol malloc_sizes
insmod: can't insert 'led.ko': unknown symbol in module, or unknown parameter

insmod出错后,论坛里有人说是驱动与内核不匹配造成的,于是打算自己编译内核,使用光盘里的文件系统,就出现了上面说的问题
 楼主| blackfir 发表于 2012-4-15 12:31:23 | 显示全部楼层
bjhou2008 发表于 2012-4-3 19:51
我以前也经常出现这种问题,将系统ip设为静态的就好了,呵呵

请问你说的是pc的ip,还是开发板的ip,如果是pc的ip,和开发板没什么关系吧。
如果是开发板的ip,也有问题,开发板都没有启动成功,如何设置ip。
宝挖小子 发表于 2014-12-5 10:48:30 | 显示全部楼层
最难弄的不是出现错误,而是出现错误他的提示更跟错误根源不搭边!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-4-19 14:29 , Processed in 1.031243 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表