主题 : 求助:NFS方式启动失败 复制链接 | 浏览器收藏 | 打印
级别: 新手上路
UID: 1330
精华: 0
发帖: 39
金钱: 390 两
威望: 139 点
综合积分: 78 分
注册时间: 2008-08-18
最后登录: 2011-02-07
楼主  发表于: 2008-08-25 23:34

 求助:NFS方式启动失败

先问个问题,NFS方式启动是不是相当于用NFS服务器的目录取代了根文件系统?

环境:
主机:192.168.1.86,NFS目录/home/arm/nfs
开发板:192.168.1.230
网关:192.168.1.1

不知道问题出在NFS服务器设置呢,还是/home/arm/root目录的内容,或者别的什么地方。

初次接触ARM,如若有什么很菜的问题,请见谅!

启动过程提示如下:

Copy linux kernel from 0x00050000 to 0x30008000, size = 0x00200000 ... done
zImage magic = 0x016f2818                                                 
Setup linux parameters at 0x30000100                                      
linux command line is: "console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.86:/home/arm/root ip=19
2.168.1.230:192.168.1.86:192.168.1.1:255.255.255.0:ARM:eth0:off"                              
MACH_TYPE = 782                                                                               
NOW, Booting Linux......                                                                      
Uncompressing Linux............................................................................
............................. done, booting the kernel.                                       
Linux version 2.6.13 (root@localhost.localdomain) (gcc version 3.4.1) #1 Tue Sep 18 06:09:37 CS
T 2007                                                                                        
CPU: ARM920Tid(wb) [41129200] revision 0 (ARMv4T)                                             
Machine: SBC2440                                                                              
ATAG_INITRD is deprecated; please update your bootloader.                                     
Memory policy: ECC disabled, Data cache writeback                                             
CPU S3C2440A (id 0x32440001)                                                                  
BUG: mapping for 0x19000000 at 0xd0000000 overlaps vmalloc space                              
S3C2440: core 405.000 MHz, memory 101.250 MHz, peripheral 50.625 MHz                          
S3C2410 Clocks, (c) 2004 Simtec Electronics                                                   
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                                                                             
Kernel command line: console=ttySAC0 root=/dev/nfs nfsroot=192.168.1.86:/home/arm/root ip=192.1
68.1.230:192.168.1.86:192.168.1.1:255.255.255.0:ARM:eth0:off                                  
irq: clearing pending ext status 00000200                                                     
irq: clearing subpending status 00000003                                                      
irq: clearing subpending status 00000002
PID hash table entries: 512 (order: 9, 8192 bytes)                                            
timer tcon=00000000, tcnt a4ca, tcfg 00000200,00000000, usec 00001e57                         
Console: colour dummy device 80x30                                                            
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)                                
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)                                  
Memory: 64MB = 64MB total                                                                     
Memory: 61184KB available (2535K code, 1005K data, 144K init)                                 
Mount-cache hash table entries: 512                                                           
CPU: Testing write buffer coherency: ok                                                       
NET: Registered protocol family 16                                                            
USB Power Control, (c) 2004 Simtec Electronics                                                
S3C2440: Initialising architecture                                                            
S3C2440: IRQ Support                                                                          
S3C2440: Clock Support, UPLL 48.000 MHz                                                       
SCSI subsystem initialized                                                                    
usbcore: registered new driver hub                                                            
S3C2410 DMA Driver, (c) 2003-2004 Simtec Electronics                                          
DMA channel 0 at c4800000, irq 33                                                             
DMA channel 1 at c4800040, irq 34                                                             
DMA channel 2 at c4800080, irq 35                                                             
DMA channel 3 at c48000c0, irq 36                                                             
NetWinder Floating Point Emulator V0.97 (double precision)                                    
devfs: 2004-01-31 Richard Gooch (rgooch@atnf.csiro.au)                                        
devfs: boot_options: 0x1                                                                      
yaffs Sep 18 2007 06:07:37 Installing.                                                        
Initializing Cryptographic API                                                                
Console: switching to colour frame buffer device 30x20                                        
S3C24X0 fb0: s3c2410fb frame buffer device initialize done                                    
GPIO L3 bus interface for S3C2440, installed                                                  
S3C2410 RTC, (c) 2004 Simtec Electronics                                                      
s3c2410-rtc s3c2410-rtc: rtc disabled, re-enabling
s3c2410_serial0 at MMIO 0x50000000 (irq = 70) is a S3C2440                                    
s3c2410_serial1 at MMIO 0x50004000 (irq = 73) is a S3C2440                                    
s3c2410_serial2 at MMIO 0x50008000 (irq = 76) is a S3C2440                                    
io scheduler noop registered                                                                  
io scheduler anticipatory registered                                                          
io scheduler deadline registered                                                              
io scheduler cfq registered                                                                   
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize                         
loop: loaded (ax 8 devices)                                                                   
nbd: registered device at major 43                                                            
Cirrus Logic CS8900A driver for Linux (Modified for SMDK2410)                                 
eth0: CS8900A rev E at 0xd0000300 irq=53, no eeprom , addr: 08: 0:3E:26:0A:5B                 
Linux video capture interface: v1.00                                                          
ovcamchip: v2.27 for Linux 2.6 : OV camera chip I2C driver                                    
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2                                      
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx                   
ide_s3c2440_init                                                                              
ide0: S3C2410 IDE interface                                                                   
S3C24XX NAND Driver, (c) 2004 Simtec Electronics                                              
s3c2440-nand: mapped registers at c4880000                                                    
s3c2440-nand: timing: Tacls 9ns, Twrph0 39ns, Twrph1 9ns                                      
NAND device: Manufacturer ID: 0xec, Chip ID: 0x76 (Samsung NAND 64MiB 3,3V 8-bit)             
NAND_ECC_NONE selected by board driver. This is not recommended !!                            
Scanning device for bad blocks
Creating 3 MTD partitions on "NAND 64MiB 3,3V 8-bit":                                         
0x00000000-0x00030000 : "bootloader"                                                          
mtd: Giving out device 0 to bootloader                                                        
0x00050000-0x00250000 : "kernel"                                                              
mtd: Giving out device 1 to kernel                                                            
0x00250000-0x03ffc000 : "root"                                                                
mtd: Giving out device 2 to root                                                              
s3c2410-ohci s3c2410-ohci: S3C24XX OHCI                                                       
s3c2410-ohci s3c2410-ohci: new USB bus registered, assigned bus number 1                      
s3c2410-ohci s3c2410-ohci: irq 42, io mem 0x49000000                                          
hub 1-0:1.0: USB hub found                                                                    
hub 1-0:1.0: 2 ports detected                                                                 
Initializing USB Mass Storage driver...                                                       
usbcore: registered new driver usb-storage                                                    
USB Mass Storage support registered.                                                          
usbcore: registered new driver usbhid                                                         
drivers/usb/input/hid-core.c: v2.01:USB HID core driver                                       
usbcore: registered new driver ov511                                                          
drivers/usb/media/ov511.c: v1.64 for Linux 2.5 : ov511 USB Camera Driver                      
usbcore: registered new driver gspca                                                          
drivers/usb/media/gspca/gspca_core.c: gspca driver 00.60.00 registered                        
mice: PS/2 mouse device common for all ice                                                    
ts: Compaq touchscreen protocol output                                                        
s3c2410 TouchScreen successfully loaded                                                       
i2c /dev entries driver                                                                       
s3c2440-i2c s3c2440-i2c: slave address 0x10                                                   
s3c2440-i2c s3c2440-i2c: bus frequency set to 98 KHz                                          
s3c2440-i2c s3c2440-i2c: i2c-0: S3C I2C adapter                                               
mmci-s3c2410: probe: mapped sdi_base=c4d00000 irq=37 irq_cd=60 dma=0.                         
mmci-s3c2410: initialisation done.
SBC2440 SOUND driver register                                                                 
SBC2440 SOUND driver probe!                                                                   
SBC2440 UDA1341 audio driver initialized                                                      
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 3, 32768 bytes)
TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
TCP: Hash tables configured (established 4096 bind 4096)
TCP reno registered
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond: at least one card is busy - trying again.
MMC: sd_app_op_cond locked busy. Probably have broken SD-Card.
IP-Config: Complete:
      device=eth0, addr=192.168.1.230, mask=255.255.255.0, gw=192.168.1.1,
     host=ARM, domain=, nis-domain=(none),
     bootserver=192.168.1.86, rootserver=192.168.1.86, rootpath=
Looking up port of RPC 100003/2 on 192.168.1.86
Looking up port of RPC 100005/1 on 192.168.1.86
Root-NFS: Server returned error -93 while mounting /home/arm/root
VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "nfs" or unknown-block(2,0)
Please append a correct "root=" boot option
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)

最后这几行是我人为加亮加粗的。
我自己分析,这里提示无法挂在根文件系统nfs,所以提示要我“加上正确的root参数“。
但是我通过常规的方式启动开发板,是可以用下面的命令成功挂在主机上的目录的:
#mount 192.168.1.86:/home/arm/root /mnt

而从上面ipconfig的结果来看貌似网络配置也没问题。
那么问题会在哪儿呢?
难道是内核没有编译nfs模块?

我很菜,上面是我的分析,我不知道对不对。我分析的结果可能是内核没有编译nfs支持,但是我我采用的是默认内核,应该是默认带了nfs支持的吧!

PS:因为我的硬盘上没有Windows,暂时没想到什么好方法能够重新烧写内核或者引导器。希望高手指点!
[ 此贴被athurg在2008-08-25 23:47重新编辑 ]
级别: 新手上路
UID: 1330
精华: 0
发帖: 39
金钱: 390 两
威望: 139 点
综合积分: 78 分
注册时间: 2008-08-18
最后登录: 2011-02-07
1楼  发表于: 2008-08-25 23:50
对了,我是从Nor方式启动的。
*無鈳取玳
级别: 论坛版主
UID: 27
精华: 12
发帖: 5398
金钱: 40120 两
威望: 17929 点
综合积分: 11036 分
注册时间: 2008-01-16
最后登录: 2014-11-22
2楼  发表于: 2008-08-26 11:23
错误信息是从内核源代码的fs/nfs/nfsroot.c里的root_nfs_get_handle()打印出来的,我想你可以试试打开nfs的debug选项来看更详细的出错信息。
关于nfs的概念,你可以参考内核源代码里的Documentation/nfsroot.txt
"If you have an apple and I have an apple and we exchange apples, then you and I will
still each have one apple. But if you have an idea and I have an idea and we exchange
these ideas, then each of us will have two ideas."
级别: 新手上路
UID: 1330
精华: 0
发帖: 39
金钱: 390 两
威望: 139 点
综合积分: 78 分
注册时间: 2008-08-18
最后登录: 2011-02-07
3楼  发表于: 2008-08-26 12:01
打开nfs的debug选项是什么意思?
级别: 新手上路
UID: 17
精华: 0
发帖: 18
金钱: 155 两
威望: 31 点
综合积分: 36 分
注册时间: 2008-01-08
最后登录: 2012-05-20
4楼  发表于: 2008-10-17 21:05
LZ,你好,我的现象是和你一样的,也不能通过NFS启动开发板,郁闷啊,有没有人知道是怎么回事呢
坚持到底
级别: 新手上路
UID: 1006
精华: 0
发帖: 16
金钱: 115 两
威望: 33 点
综合积分: 32 分
注册时间: 2008-07-07
最后登录: 2011-06-21
5楼  发表于: 2008-11-02 10:40
你好!
        我也是跟你一样的问题,不知道你调试好了没有
级别: 新手上路
UID: 1006
精华: 0
发帖: 16
金钱: 115 两
威望: 33 点
综合积分: 32 分
注册时间: 2008-07-07
最后登录: 2011-06-21
6楼  发表于: 2008-11-02 10:45
你好!
        我也是跟你一样的问题,不知道你调试好了没有.调试好了共享一下经验.我昨天调了一晚上.早知道就不这么晚睡了.

        我的qq:16188863.
                                        万分感谢!!!!!!