[Buildroot] Failing NFS root mount

Guillaume Dargaud dargaud at lpsc.in2p3.fr
Tue Apr 22 12:34:08 UTC 2008


Hello all,
so I have an operational system when using a local CF card partition for my 
kernel and my root filesystem. I can use the network fine.

I'm now trying to use a local kernel but an NFS mount for the root 
filesystem.

loaded at:     00400000 0051A59C
board data at: 00518520 0051859C
relocated to:  0040505C 004050D8
zimage at:     00405E48 00517277
avail ram:     0051B000 08000000

Linux/PPC load: console=ttyUL0,115200 rw root=/dev/nfs ip=dhcp
Uncompressing Linux...done.
Now booting the kernel
[    0.000000] Linux version 2.6.24-rc8-xlnx (guinevere at lpsc6185x.in2p3.fr) 
(gcc version 4.1.2)
#12 Mon Apr 21 18:11:51 CEST 2008
[    0.000000] Xilinx Generic PowerPC board support package (Xilinx ML405) 
(Virtex-4 FX)
[    0.000000] Zone PFN ranges:
[    0.000000]   DMA             0 ->    32768
[    0.000000]   Normal      32768 ->    32768
[    0.000000] Movable zone start PFN for each node
[    0.000000] early_node_map[1] active PFN ranges
[    0.000000]     0:        0 ->    32768
[    0.000000] Built 1 zonelists in Zone order, mobility grouping on.  Total 
pages: 32512
[    0.000000] Kernel command line: console=ttyUL0,115200 rw root=/dev/nfs 
ip=dhcp
[    0.000000] Xilinx INTC #0 at 0x81800000 mapped to 0xFDFFF000
[    0.000000] PID hash table entries: 512 (order: 9, 2048 bytes)
[    0.000223] Console: colour dummy device 80x25
[    0.001398] Dentry cache hash table entries: 16384 (order: 4, 65536 
bytes)
[    0.003160] Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
[    0.039091] Memory: 127488k available (1748k kernel code, 580k data, 76k 
init, 0k highmem)
[    0.132604] Mount-cache hash table entries: 512
[    0.138336] net_namespace: 64 bytes
[    0.142296] NET: Registered protocol family 16
[    0.146217] Registering device uartlite:0
[    0.147224] Registering device xsysace:0
[    0.148357] Fixup MAC address for xilinx_lltemac:0
[    0.148401] Registering device xilinx_lltemac:0
[    0.149377] Registering device xilinx_iic:0
[    0.190854] NET: Registered protocol family 2
[    0.224923] IP route cache hash table entries: 1024 (order: 0, 4096 
bytes)
[    0.228135] TCP established hash table entries: 4096 (order: 3, 32768 
bytes)
[    0.228786] TCP bind hash table entries: 4096 (order: 2, 16384 bytes)
[    0.229146] TCP: Hash tables configured (established 4096 bind 4096)
[    0.229179] TCP reno registered
[    0.240639] sysctl table check failed: /kernel/l2cr .1.31 Missing 
strategy
[    0.240722] Call Trace:
[    0.240743] [c7c17eb0] [c0008148] show_stack+0x50/0x184 (unreliable)
[    0.240842] [c7c17ed0] [c002fb00] set_fail+0x50/0x68
[    0.240915] [c7c17ef0] [c0030168] sysctl_check_table+0x650/0x698
[    0.240965] [c7c17f20] [c0030178] sysctl_check_table+0x660/0x698
[    0.241011] [c7c17f50] [c001e188] register_sysctl_table+0x64/0xb4
[    0.241077] [c7c17f70] [c02345a0] register_ppc_htab_sysctl+0x18/0x2c
[    0.241143] [c7c17f80] [c02331e4] kernel_init+0xc8/0x284
[    0.241181] [c7c17ff0] [c0004b18] kernel_thread+0x44/0x60
[    0.248849] io scheduler noop registered
[    0.248906] io scheduler anticipatory registered (default)
[    0.248935] io scheduler deadline registered
[    0.249135] io scheduler cfq registered
[    0.328474] uartlite.0: ttyUL0 at MMIO 0x84000003 (irq = 8) is a uartlite
[    0.328551] console [ttyUL0] enabled
[    0.584278] loop: module loaded
[    0.588752] xsysace xsa: Xilinx SystemACE revision 1.0.12
[    0.594601] xsysace xsa: capacity: 1014048 sectors
[    0.598614]  xsa: xsa1 xsa2
[    0.605997] Xilinx SystemACE device driver, major=254
[    0.609910] tun: Universal TUN/TAP device driver, 1.6
[    0.614830] tun: (C) 1999-2004 Max Krasnyansky <maxk at qualcomm.com>
[    0.623026] xilinx_lltemac xilinx_lltemac.0: MAC address is now  0: a:35: 
1: 2: 3
[    0.629315] xilinx_lltemac xilinx_lltemac.0: XLlTemac: using DMA mode.
[    0.635822] XLlTemac: Dma base address: phy: 0x84600100, virt: 0xc9008100
[    0.642515] XLlTemac: buffer descriptor size: 32768 (0x8000)
[    0.648101] XLlTemac: Allocating DMA descriptors with kmalloc<6>XLlTemac: 
(buffer_descriptor_
init) phy: 0x7c88000, virt: 0xc7c88000, size: 0x8000
[    0.667177] XTemac: PHY detected at address 7.
[    0.670495] eth0: Dropping NETIF_F_SG since no checksum feature.
[    0.679776] xilinx_lltemac xilinx_lltemac.0: eth0: Xilinx TEMAC at 
0x81C00000 mapped to 0xC90
04000, irq=2
[    0.689318] mice: PS/2 mouse device common for all mice
[    0.695515] xilinx_iic.0 #0 at 0x81600000 mapped to 0xC9020000, irq=4
[    0.701021] TCP cubic registered
[    0.704170] NET: Registered protocol family 1
[    0.708380] NET: Registered protocol family 17
[    0.713739] RPC: Registered udp transport module.
[    0.717344] RPC: Registered tcp transport module.
[    1.224897] eth0: XLlTemac: Options: 0x3fa
[    1.227770] eth0: XLlTemac: allocating interrupt 0 for dma mode tx.
[    1.234053] eth0: XLlTemac: allocating interrupt 1 for dma mode rx.
[    3.254855] eth0: XLlTemac: speed set to 100Mb/s
[    3.258249] eth0: XLlTemac: Send Threshold = 24, Receive Threshold = 4
[    3.264726] eth0: XLlTemac: Send Wait bound = 254, Receive Wait bound = 
254
[    4.275661] Sending DHCP requests ., OK
[    4.299661] IP-Config: Got DHCP answer from 0.0.0.0, my address is 
192.168.1.200
[    4.306293] IP-Config: Complete:
[    4.308849]       device=eth0, addr=192.168.1.200, mask=255.255.255.0, 
gw=192.168.1.185,
[    4.316768]      host=genepy_t, domain=, nis-domain=(none),
[    4.322298]      bootserver=0.0.0.0, rootserver=192.168.1.185, 
rootpath=/home/guinevere/Min_U
artLite_NetLite_Ace/buildroot/project_build_powerpc/genepy/root
[    4.337448] Looking up port of RPC 100003/2 on 192.168.1.185
[    4.349735] Looking up port of RPC 100005/1 on 192.168.1.185
[    4.389172] VFS: Mounted root (nfs filesystem).
[    4.392920] Freeing unused kernel memory: 76k init
168.1.200, mask=255.255.255.0, gw=192.168.1.185,
[    4.316768]      host=genepy_t, domain=, nis-domain=(none),
[    4.322298]      bootserver=0.0.0.0, rootserver=192.168.1.185, 
rootpath=/home/guinevere/Min_U
artLite_NetLite_Ace/buildroot/project_build_powerpc/genepy/root
[    4.337448] Looking up port of RPC 100003/2 on 192.168.1.185
[    4.349735] Looking up port of RPC 100005/1 on 192.168.1.185
[    4.389172] VFS: Mounted root (nfs filesystem).
[    4.392920] Freeing unused kernel memory: 76k init

And then it hangs.
If I boot from /dev/xsa2, it then carries on with:

init started: BusyBox v1.10.0 (2008-04-21 14:17:09 CEST)
Starting portmap: done
Initializing random number generator... done.
Starting network...
RTNETLINK answers: File exists
Starting dropbear sshd: OK
Welcome
genepy login:



A few additional hints that may be related (but then again, they may not):
If I log from the local partition, I can mount the remote root by NFS fine, 
for instance:

# mount -t nfs 
192.168.1.185:/home/guinevere/Min_UartLite_NetLite_Ace/buildroot/project_build_powerpc/genepy/root 
/mount

And then manipulate files both ways fine.

But if I try to chroot /mount while being in bash (an independant 
executable) I get an endless loop:
[   61.617885]   Code:   30001
[   61.617896]   Addr:   7ffce003
[   61.627400]   Signal: b
[   61.627410]   Code:   30001
[   61.627421]   Addr:   7ffce003
[   61.636840]   Signal: b

If I'm using ash (linked to busybox), then I can chroot okay (problems with 
/proc but I can run executables).


Question: if booting off NFS, do I need to change the /etc/fstab ?
/dev/root       /              ext2     rw,noauto         0      1
proc            /proc          proc     defaults          0      0
devpts          /dev/pts       devpts   defaults,gid=5,mode=620   0      0
tmpfs           /tmp           tmpfs    defaults          0      0

Thanks
-- 
Guillaume Dargaud
http://www.gdargaud.net/





More information about the buildroot mailing list