arm开发板,VFS无法加载问题

ahwangbang   2008-12-26 09:14 楼主
k9-Boot 1.0 (Mar 17 2007 - 10:40:26)

Copy k9-Uboot.bin from 0x10020000 to 0x20F00000...


Enter k9-Uboot
Boot Begin from 0x20F00000...



U-Boot 1.0.0 (Mar 17 2007 - 11:22:29)

U-Boot code: 20F00000 -> 20F13684  BSS: -> 20F1703C
DRAM Configuration:
Bank #0: 20000000 16 MB
Flash:  4 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
## Booting image at 10080000 ...
   Image Name:   
   Image Type:   ARM Linux Kernel Image (gzip compressed)
   Data Size:    602874 Bytes = 588.7 kB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
   Uncompressing Kernel Image ... OK

Starting kernel ...

Linux version 2.4.19-rmk7 (root@albert-desktop) (gcc version 2.95.3 20010315 (release)) #31 2008??年 12??月 25??日TCPU: Arm920Tid(wb) revision 0
Machine: ATMEL AT91RM9200
initrd (0x20a00000 - 0x21200000) extends beyond physical memory - disabling initrd
On node 0 totalpages: 4096
zone(0): 4096 pages.
zone(1): 0 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/ram rw initrd=0x20a00000,8388608 ramdisk_size=8192 console=ttyS0,115200 mem=16M
Calibrating delay loop... 89.70 BogoMIPS
Memory: 16MB = 16MB total
Memory: 14688KB available (1208K code, 220K data, 52K init)
Dentry cache hash table entries: 2048 (order: 2, 16384 bytes)
Inode cache hash table entries: 1024 (order: 1, 8192 bytes)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 4096 (order: 2, 16384 bytes)
POSIX conformance testing by UNIFIX
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
devfs: v1.12a (20020514) Richard Gooch (rgooch@atnf.csiro.au)
devfs: boot_options: 0x1
RAMDISK driver initialized: 16 RAM disks of 8192K size 1024 blocksize
PPP generic driver version 2.4.2
PPP Deflate Compression module registered
PPP BSD Compression module registered
physmap flash device: 200000 at 10000000
Using buffer write method
ttyS%d0 at MEM 0xfefff200 (irq = 1) is a AT91_SERIAL
ttyS%d1 at MEM 0xfefc4000 (irq = 7) is a AT91_SERIAL
eth0: Link now 100-FullDuplex
eth0: AT91 ethernet at 0xfefbc000 int=24 100-FullDuplex (00:aa:bb:cc:dd:00)
AT91 Watchdog Timer enabled (5 seconds)
AT91 Real Time Clock driver
i2c-dev.o: Registered 'AT91RM9200' as minor 0
Found AT91 i2c
AT91 SPI driver loaded
K9_LED registred: major = 42
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 1024 bind 1024)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.95 (c) 1998-1999 Rebel.com
Kernel panic: VFS: Unable to mount root fs on 01:00

回复评论 (2)

启动时没有找到root文件系统...
点赞  2009-5-3 11:23
引用: 引用 1 楼 morris88 的回复:
启动时没有找到root文件系统...


是的,应该是没有设置U-boot关于登陆文件系统的环境变量。
你可以执行一下
U-Boot#printenv
把你的U-Boot设置信息打印一下看看。

根据你的日志信息,好像Kernel已经被烧到板子上去了,不知道你的文件系统是否也烧上去了。
引用: 引用楼主 wuhua0904  的回复:
Kernel command line: root=/dev/ram rw initrd=0x20a00000,8388608 ramdisk_size=8192 console=ttyS0,115200 mem=16M

根据上面这条信息,看出fs的地址已经设置了,是0x20a00000
把root=/dev/ram 改成 root=/dev/ram0 试试。

如果文件系统没有烧到板子上:
给你个例子参考一下
U-Boot#tftp 0xc1180000 ramdisk.gz //通过tftp 从PC机上下载ramdisk.gz(文件系统的一个包) 到 0xc1180000这个地址。

U-Boot#setenv bootargs 'mem=32M console=ttyS2,115200n8 root=/dev/ram0 rw initrd=0xc1180000,4M ip=dhcp'
上边这一句就是设置U-Boot的环境变量,其中initrd=0xc1180000告诉内核,文件系统的起始位置在0xc1180000,
点赞  2009-6-6 01:26
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复