搜索
bottom↓
回复: 4

AT91RM9200+linux_2.6.22移植时,内核启动出现 VFS: Unable to mount root fs on unkn

[复制链接]

出0入0汤圆

发表于 2010-12-22 15:30:53 | 显示全部楼层 |阅读模式
我现在有个问题,大家帮忙看一下,万分感谢! 内核启动时出现下面的信息:

boot 1.1 Modified by jackyard<jackyard88@gmail.com> (Jan 1 2006 - 14:24:4


Uncompressing image...




U-Boot 1.1.4 (Dec 30 2005 - 00:54:4

U-Boot code: 21F00000 -> 21F176D4 BSS: -> 21F34004
RAM Configuration:
Bank #0: 20000000 32 MB
Flash: 8 MB
In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
## Booting image at 10060000 ...
Image Name: Linux-2.6.22-jackyard
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1202192 Bytes = 1.1 MB
Load Address: 20008000
Entry Point: 20008000
Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux.............................................................................. done, booting the kernel.
Linux version 2.6.22-jackyard (root@localhost.localdomain) (gcc version 4.3.2 (Sourcery G++ Lite 2008q3-72) ) #7 Thu Dec 2 23:18:00 CST 2010
CPU: ARM920T [41129200] revision 0 (ARMv4T), cr=c0007177
Machine: Atmel AT91RM9200-EK
Memory policy: ECC disabled, Data cache writeback
Clocks: CPU 179 MHz, master 59 MHz, main 18.432 MHz
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
CPU0: D cache: 16384 bytes, associativity 64, 32 byte lines, 8 sets
Built 1 zonelists. Total pages: 8128
Kernel command line: mem=32M console=ttyS0,115200 root=1f02 mtdparts=phys_mapped_flash:384k(UBOOT),1920k(KERNEL),2816K(Cramfs),3072k(JFFS2)
AT91: 96 gpio irqs in 3 banks
PID hash table entries: 128 (order: 7, 512 bytes)
Console: colour dummy device 80x30
Dentry cache hash table entries: 4096 (order: 2, 16384 bytes)
Inode-cache hash table entries: 2048 (order: 1, 8192 bytes)
Memory: 32MB = 32MB total
Memory: 29948KB available (2180K code, 207K data, 104K init)
Mount-acche hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
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
NetWinder Floating Point Emulator V0.97 (double precision)
JFFS2 version 2.2. (NAND) (SUMMARY) 漏 2001-2006 Red Hat, Inc.
io scheduler noop registered
io scheduler anticipatory registered (default)
Epson S1D13XXX FB Driver
s1d13xxxfb: chip not found: 0
at91_spi: Baud rate set to 5990400
AT91 SPI driver loaded
AT91 Watchdog Timer enabled (5 seconds, nowayout)
atmel_usart.0: ttyS0 at MMIO 0xfefff200 (irq = 1) is a ATMEL_SERIAL
atmel_usart.1: ttyS1 at MMIO 0xfffc4000 (irq = 7) is a ATMEL_SERIAL
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
at91_ether: Your bootloader did not configure a MAC address.
eth0: Link down.
eth0: AT91 ethernet at 0xfefbc000 int=24 10-HalfDuplex (00:00:00:00:00:00)
eth0: Intel LXT971A PHY
physmap platform flash device: 00200000 at 10000000
physmap-flash.0: Found 1 x16 devices at 0x0 in 16-bit bank
NOR chip too large to fit in mapping. Attempting to cope...
Intel/Sharp Extended Query Table at 0x0031
Using buffer write method
cfi_cmdset_0001: Erase suspend on write enabled
Reducing visibility of 8192KiB chip to 2048KiB
RedBoot partition parsing not available
kobject_add failed for physmap-flash.0 with -EEXIST, don't try to register things with the same name in the same directory.
[<c002765c>] (dump_stack+0x0/0x14) from [<c00f6818>] (kobject_shadow_add+0x164/0x1ac)
[<c00f66b4>] (kobject_shadow_add+0x0/0x1ac) from [<c00f6874>] (kobject_add+0x14/0x1
r8:c02dc000 r7:c0254860 r6:c02547b4 r5:c02547bc r4:0000001c
[<c00f6860>] (kobject_add+0x0/0x1 from [<c0122d8c>] (device_add+0x84/0x530)
[<c0122d08>] (device_add+0x0/0x530) from [<c0126d54>] (platform_device_add+0x100/0x14c)
[<c0126c54>] (platform_device_add+0x0/0x14c) from [<c0126dc0>] (platform_device_register+0x20/0x24)
r7:00000000 r6:c001e3ec r5:00000000 r4:c02547b4
[<c0126da0>] (platform_device_register+0x0/0x24) from [<c0019af4>] (physmap_init+0x20/0x30)
r4:00000000
[<c0019ad4>] (physmap_init+0x0/0x30) from [<c000861c>] (kernel_init+0xc8/0x29
r4:00000000
[<c0008554>] (kernel_init+0x0/0x29 from [<c0039b04>] (do_exit+0x0/0x7a
Generic platform RAM MTD, (c) 2004 Simtec Electronics
usbmon: debugfs is not available
at91_ohci at91_ohci: AT91 OHCI
at91_ohci at91_ohci: new USB bus registered, assigned bus number 1
at91_ohci at91_ohci: irq 23, io mem 0x00300000
usb usb1: Product: AT91 OHCI
usb usb1: Manufacturer: Linux 2.6.22-jackyard ohci_hcd
usb usb1: SerialNumber: at91
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
at91_udc: probe of at91_udc failed with error -16
mice: PS/2 mouse device common for all mice
at91_rtc at91_rtc: rtc core: registered at91_rtc as rtc0
AT91 Real Time Clock driver.
i2c /dev entries driver
at91_i2c at91_i2c: AT91 i2c bus driver.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
at91_rtc at91_rtc: setting the system clock to 1998-01-01 00:00:11 (883612811)
VFS: Cannot open root device "1f02" or unknown-block(31,2)
Please append a correct "root=" boot option; here are the available partitions:
1f00 2048 mtdblock0 (driver?)
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(31,2)
===========================================================
以上是我把linux 2.6.22移植到at91rm9200上时的问题,文件系统我也烧写进去了,不是文件系统的问题,因为我把一个以前做好的内容核是2.6.12的烧进去,没有问题,可是把刚做的2.6.22的烧进去,就会出现上面的问题。我的启动参数是
setenv bootargs mem=32M console=ttyS0,115200 root=1f02 mtdparts=phys_mapped_flash:384k(UBOOT),1920k(KERNEL),2816K(Cramfs),3072k(JFFS2)

阿莫论坛20周年了!感谢大家的支持与爱护!!

知道什么是神吗?其实神本来也是人,只不过神做了人做不到的事情 所以才成了神。 (头文字D, 杜汶泽)

出0入0汤圆

发表于 2010-12-22 16:00:47 | 显示全部楼层
VFS: Cannot open root device "1f02" or unknown-block(31,2)  
找不到根文件系统,这种问题原因有很多,建议google或百度看下
有可能是内核分区设置不对,或者内核没有配置支持你所用的文件系统,
或者尝试设置启动参数为root=/dev/mtdblock2看下

出0入0汤圆

 楼主| 发表于 2010-12-22 16:12:58 | 显示全部楼层
我试过了,一样的问题

出0入0汤圆

发表于 2010-12-22 16:21:18 | 显示全部楼层
RedBoot partition parsing not available  
kobject_add failed for physmap-flash.0 with -EEXIST, don't try to register things with the same name in the same directory.
问题是从这里开始出现的,看看内核代码里面 板子初始化的时候是不是重复注_册了设备了

出0入0汤圆

 楼主| 发表于 2010-12-22 20:19:09 | 显示全部楼层
从网上找到一个是这样说的:好多次遇到这样的flash加载问题,刚开始满世界找答案,总以为自己不小心动了某些不改动的内核开关,甚至重新解压内核重新移植来发泄自己的不满。kobject_add failed for physmap-flash.0 with -EEXIST, don’t try to register things with the same name in the same directory.

仔细分析,其实解决起来很简单,进入内核配置界面:Device Drivers  —>Memory Technology Device (MTD) support  —>Mapping drivers for chip access  —>CFI Flash device in physical memory map —>Physical length of flash mapping, 将默认的0×40000改为0,重新编译烧录即可解决。注意如果使用xshell是改不了的,估计是字符终端对于删除键实现不太好,要么老老实实在原系统中修改要么直接改linux-2.6.x/.config中的配置项:CONFIG_MTD_PHYSMAP_LEN=0
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-7-23 12:30

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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