免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2567 | 回复: 5
打印 上一主题 下一主题

内核镜像出错? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-11 10:49 |只看该作者 |倒序浏览
我编译好内核uImage,zImage, 通过超级终端下载到at91rm9200的板子上:
U-Boot 1.1.1 (Sep  9 2006 - 12:01:34)

U-Boot code: 21F00000 -> 21F156C4  BSS: -> 21F19A08
RAM Configuration:
Bank #0: 20000000 32 MB
Flash: 16 MB
In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0

Sunnet-Uboot> loadb 21000000

## Ready for binary (kermit) download to 0x21000000 at 115200 bps...
## Total Size      = 0x00083861 = 538721 Bytes
## Start Addr      = 0x21000000

Sunnet-Uboot>bootm 21000000

## Booting image at 21000000 ...
   Image Name:   RAMdisk
   Image Type:   ARM Linux RAMDisk Image (gzip compressed)
   Data Size:    538656 Bytes = 526 kB
   Load Address: 20008000
   Entry Point:  20008000
   Verifying Checksum ... OK
Wrong Image Type for bootm command

================================================================
不解,uImage不就是对应U-BOOT的bootm命令吗?

论坛徽章:
0
2 [报告]
发表于 2006-09-11 10:59 |只看该作者
如果用zImage的话,就似乎可以:
Sunnet-Uboot> loadb 21000000

## Ready for binary (kermit) download to 0x21000000 at 115200 bps...
## Total Size      = 0x00086798 = 550808 Bytes
## Start Addr      = 0x21000000

Sunnet-Uboot>go 21000000

## Starting application at 0x21000000 ...                  
Based upon Swansea Un
Uncompressing Linux........................................ done, booting the ke        
Initializing RT netlink socket                              
Starting k
rnel.     
Warning: bad configuration page, trying to continue                        
Warning: Remapping obsolet
On node 0 totalpages: 8192                          
zone(0): 8192 pages.  
fb7: s1d13xxx fra
zone(1): 0 pages.                 
zone(2): 0 pages.sole: switching t
Kernel command line: mem=32M console=ttyS0,115200 initrd=0x20210000,3145728 root      
fb0: s1d13xxx frame buffer device                                 
Displ
=/dev/ram rw16Bpp      
Calibrating delay loop... 29.90 BogoMIPSiver... Done                           
Memory: 32MB = 32MB totalitialized: 16 RAM disks o
Memory: 28000KB available (1039K cod                                 
physmap f
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes)         
kmod: failed to exec /sbin/modprobe -s -k cfi_cmd
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)                           
Support for command set 0001 no
CPU: Testing write buffer: pass                 
gen_probe: No
POSIX conformance testing by UNIFIX                                   
Linux NET4.0 for Linux 2.4(89 1 interleave(1) type
Based upon Swansea University Computer Society NET3.039r id89 1 interleave(1) type(2)                     
Initializing RT netlink socketor id89 1 interleave(1) ty
Starting kswapd               
kmod: failed to exec /sbin/modprobe -s -k cfi_cmdset_0001, errno = 2erleave(2) type(2)/dev/fb* minor 255 to 7                    
JEDEC:
Support for command set 0001 not presentat location zero using                  
gen_probe: No supported Vendor Command Set foundled to exec /sbin/modprobe -s -k map_rom, errno
Search for id89 1 interleave(1) type(2)      
Console: sw
i2c-core.o: i2c core mo
Search for id89 1 interleave(1) type(2)                             
cmp   

i2c-d
Search for id89 1 interleave(1) type(2) 2.6.1 (20010830)coni   
10000090: e1a0d00
Search for id89 1 interl x 480 16  
               
ttyS%d0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIALex (00:00:00:00:00:00)DK                             
ttyS%d1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIALicom 9196 PHY (Copper)ix domain sockets 1.0/SMP for L
eth0: AT91 ethernet at 0xfefbc000 int=24 10-HalfDuplex (00:00:00:00:00:00)Bsun
AT91 Real Time Clock driver   

NetWinder Floating Poi
host/usb-ohci.
eth0: Davicom 9196 PHY (Copper)0, IRQ 23               

XMOD
AT91 Watchdog Timer enabled (5 seconds) new USB bus registered, assigned bus n
AT91 Real Time Clock drivernt: mount point /dev/pts do
host/usb-ohci.c: USB OHCI at membase 0xc2805000, IRQ 23orts detected               

U-Boot
Found AT91 i2cteri
usb.c: new USB bus registered, assigned bus number 1ng
SmartMedia card inserted.00 -> 21F16F2C  BSS: ->
hub.c: USB hub foundd!!!               
hub.c: 2 ports detectedIP 1.0 for NET4.0ET ser
Found AT91 i2c            
I
AT91 SPI driver loaded TCP
Starting mouse   
at91_dataflash: Atmel AT45DB021B detected [12 bu         
                           
Flash: 16 MB            
In:   
RAMDISK: Couldn't find valid RAM disk image starting at 0.CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCutoboot:  0           
Freeing initrd memory: 3072K     
Uboot>      
Uboot>   
Kernel panic: VFS: Unable to mount root fs on 01:00CCCCCCCCCCCCCCCCCCCCCCCCCCCCCC                     
CCCCCCCCCls        
-I- AT91F_LowLevelInit(): Debug channel initializedCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

U-Boot 1.1.1 (Sep  9 2006 - 12:01:34)

loader 1.0 (Aug  8 2003 - 12:01:

U-Boot code: 21F00000 -> 21F156C4  BSS: -> 21F19A08oad U-BOOT            
CCCCCCCCCC
CCCCCC      
U-Bo
RAM Configuration:ssfullyssfully   
Bank #0: 20000000 32 MBBoot 1.1.1 (Sep  9 2006
Flash: 16 MB18:59)      
In:    serial         

U
Out:   serialF00000 -> 21F
Err:   serial 21F19A081F19
Hit any key to stop autoboot:  0              
RAM Configuration
Sunnet-Uboot> loadb 2100000020000000 32 MB0 32 MB      
## Ready for binary (kermit) download to 0x21000000 at 115200 bps...serial serial      
Err:   serial serial      
Hit any key to stop a
## Total Size      = 0x00083861 = 538721 Bytesnet-Uboot> tftp 21000000 uImageSunnet-Uboot>  
## Start Addr      = 0x21000000uring MII initializationC      
Sunnet-Uboot> bootm 21000   
                  
Memory: 28000KB available (1039K code, 209K data, 56K init)h: 16 MB            
In:    serial   
help    - print onlin
Dentry cache hash table entries: 4096 (order: 3, 32768 bytes)und in flash0                                
Sunnet
itest   
Inode cache hash table entries: 2048 (order: 2, 16384 bytes) (kermit) download to 0x2
loadb   - load binary file over se
Mount cache hash table entries: 512 (order: 0, 4096 bytes)# Total Size      = 0
loop    - infinite loop on address r
Buffer cache hash table entries: 1024 (order: 0, 4096 bytes) display                        
mm      - memory modify (au
Page-cache hash table entries: 8192 (order: 3, 32768 bytes)mtest   - simple RAM test                        

mw      
CPU: Testing write buffer: pass-I- AT91F_LowLevel
nfs    - boo
POSIX conformance testing by UNIFIXol                                 
Linux NET4.0 for Li                  
Search for id89 1 interleave(1) type(2)21F1B36
    10000000 (RO) 10020000      100
Search for id89 1 interleave(1) type(2)ge ... OK                                 
Search for id89 1 interleave(2) type(1)   100E0000      10100000      10120000   
Search for id89 18) interleave(2) type(1)1 (susu@localhost.lo
    10140000      1016
Search for id:(89 18) interleave(2) type(1)00                                         
Search for id:(89 00) interleave(2) type(2)  10200000      10220000      10240000     
Search for id:(89 00) interleave(2) type(2) 10:56:57 CST 20064 - 22:21:32)  
    10280
Search for id:(89 00) interleave(2) type(2)0      10300000m920Tid(wb) revision 0      
JEDEC: Found no Physically mapped flash device at location zero000      10360000
usb.c: registered new driver hub
ttyS%d0 at MMIO 0xfefff200 (irq = 1) is a AT91_SERIAL
ttyS%d1 at MMIO 0xfefc4000 (irq = 7) is a AT91_SERIAL
eth0: AT91 ethernet at 0xfefbc000 int=24 10-HalfDuplex (00:00:00:00:00:00)
eth0: Davicom 9196 PHY (Copper)
AT91 Watchdog Timer enabled (5 seconds)
AT91 Real Time Clock driver
host/usb-ohci.c: USB OHCI at membase 0xc2805000, IRQ 23
usb.c: new USB bus registered, assigned bus number 1
hub.c: USB hub found
hub.c: 2 ports detected
Found AT91 i2c
AT91 SPI driver loaded
at91_dataflash: Atmel AT45DB021B detected [spi0] (270600 bytes)
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 2048 bind 2048)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
NetWinder Floating Point Emulator V0.97 (double precision)
RAMDISK: Couldn't find valid RAM disk image starting at 0.
Freeing initrd memory: 3072K
Kernel panic: VFS: Unable to mount root fs on 01:00

论坛徽章:
0
3 [报告]
发表于 2006-09-11 11:02 |只看该作者
但是zImage跑起来,并没有熟悉的linux界面,而是停在上面不动了.这是不是我没有制作文件系统的原因?也没下载文件系统进去!

论坛徽章:
0
4 [报告]
发表于 2006-09-12 12:23 |只看该作者

回复 3楼 wqtslove 的帖子

你如果用uImage,最好是使用make Image生成vmlinux,然后加入头信息,这样就不会出现那个错误了。
Kernel panic: VFS: Unable to mount root fs on 01:00
这是因为你还没有文件系统,只能把内核启动起来,停在这里是正常的

论坛徽章:
0
5 [报告]
发表于 2006-09-12 14:05 |只看该作者
谢谢!
我找到原因了:当你为主机配置内核时候,吧所有的MTD子系统选项都设成模块比较有利,因为这样你可以测试不同的设备设置。然而对目标板来说,用来支持固态存储设备的所有选项都必须建立成内核的一部分,而不是建立成模块。否则目标板将无法从固态存储设备安装它的根文件系统,如果忘了将目标板的内核设成可以从MTD设备安装它的根文件系统,内核将在启动期间发生内核恐慌情况,并且以如下信息抱怨它无法安装根文件系统
kernel panic :VFS :unable to mount root fs on.................................

论坛徽章:
0
6 [报告]
发表于 2006-09-12 23:19 |只看该作者
Entry Point:  200080000
这里应该是20008040的。

[root@IDE ~]# mkimage
Usage: mkimage -l image
          -l ==> list image header information
       mkimage [-x] -A arch -O os -T type -C comp -a addr -e ep -n name -d data_file[:data_file...] image
          -A ==> set architecture to 'arch'
          -O ==> set operating system to 'os'
          -T ==> set image type to 'type'
          -C ==> set compression type 'comp'
          -a ==> set load address to 'addr' (hex)
          -e ==> set entry point to 'ep' (hex)  /*这里*/
          -n ==> set image name to 'name'
          -d ==> use image data from 'datafile'
          -x ==> set XIP (execute in place)
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP