1
Problem
I have an embedded system which I am unable to boot via NFS using an Embedded Linux Kernel Image and rootfs both placed on my laptop (which serves as the NFS server as well as a TFTP server).
Useful Information
My laptop's /etc/exports:
/tftpboot/rootfs_arm-gnueabi *(rw,sync,insecure_locks,no_root_squash,no_all_squash)
Linux image (myImage) path: /tftpboot/ Root file system (rootfs) path: /tftpboot/
TFTP server and NFS server IP : 10.3.70.116
My Embedded system IP: 10.3.70.181
Commands I use to restart my NFS and TFTP servers
sudo /etc/init.d/nfs-kernel-server restart
sudo /etc/init.d/xinetd restart
Details
When I start by embedded machine, U-Boot boots up and then system starts loading 'myImage' and finally it tries to access the rootfs via NFS while printing some weird characters as shown in the end of following quote.
Filename 'myImage'.
Load address: 0x2000000
Loading: *#################################################################################################################
doneBytes transferred = 1181188 (120604 hex)
Booting image at 02000000 ...
Image Name: Linux-2.6.22.18
Created: 2010-12-07 6:01:19 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 1181124 Bytes = 1.1 MB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
OK
Checking for Linux kernel endianess at 0x02000040 = 0xe1a00000
Linux Kernel is LE
Starting kernel in LE mode ...
Uncompressing Linux............................................................................... done, booting the kernel.
üààààüàààààüüààüüàü
I ran Wireshark and captured the packets to see what packets are going to and fro from the server and embedded machine. By doing so I found that at some point some NFSERR_NOENT error is appearing. and it seems as if the error arises while accessing/loading ld.so.preload
Following are some packets arranged as "Time Source Destination Protocol Info". Sorry for the jumbled view. I couldn't help it. :)
4776 20.482764 10.3.70.181
10.3.70.116 NFS V2 LOOKUP Call (Reply In 4777), DH:0xf4f053a1/etc4777 20.482838 10.3.70.116
10.3.70.181 NFS V2 LOOKUP Reply (Call In 4776), FH:0x468d1c144778 20.483000 10.3.70.181
10.3.70.116 NFS V2 LOOKUP Call (Reply In 4779), DH:0x468d1c14/ld.so.preload4779 20.483443 10.3.70.116
10.3.70.181 NFS V2 LOOKUP Reply (Call In 4778) Error:NFSERR_NOENT4780 20.483712 10.3.70.181
10.3.70.116 NFS V2 LOOKUP Call (Reply In 4781), DH:0x468d1c14/ld.so.cache4781 20.483839 10.3.70.116
10.3.70.181 NFS V2 LOOKUP Reply (Call In 4780) Error:NFSERR_NOENT
If you have read so far :) and got some clue, I will be delighted to know what you think is going wrong.
Thanks a lot.
the kernel is received, it is detected as OK but it crashes when run... the kernel crash leads to the weird characters on the console, is the kernel file ok? – Pat – 2012-08-26T21:24:01.027