BeagleboardxM Rev[C] booting over NFS.linux-3.2.0

hello All !

i am trying to boot my kernel-3.2.0 with NFS, but after a lot of
efforts i m not being able to;
Folowing are the details, all i have,please help me why i cant have
NFS in my beagleboardxM RevC.

host side: Ubuntu10.10
     NFS: nfs-kernel-server
     DHCP: dhcp3-server
     PORTMAP
    /etc/exports/:/tftpboot *(rw,sync,no_root_squash)
    /etc/dhcp3/dhcpd.conf: ddns-update-style none;
         option domain-name-servers 61.0.0.5,61.1.96.69,61.1.96.71
         default-lease-time 600;
         max-lease-time 7200;
        subnet 192.168.1.0 netmask 255.255.255.0 {
        option routers 192.168.1.10;
        option subnet-mask 255.255.255.0;
        }
        host anas {
            hardware ethernet 6c:f0:49:f3:b2:af;
            fixed-address 192.168.1.10;
            option host-name "anas";
            next-server 192.168.1.4;
            #filename "/tftpboot/uImage";
          }

        authoritative;
        log-facility local7;
************************************************************************************************
uEnv.txt:

usbethaddr=00:E0:4C:53:44:58
ethaddr=00:E0:4C:53:44:58
bootfile=uImage
loadaddr=80200000
hostname=anas
serverip=192.168.1.10
ipaddr=192.168.1.3
autoload=no
autostart=yes
dhcp=on
bootdelay=5
baudrate=115200
stdin=serial
stdout=serial
stderr=serial
nfsargs=setenv bootargs root=/dev/nfs nfsroot=192.168.1.10:/tftpboot
console=ttyO2,115200 rw

loadkernel=usb reset; tftp ${loadaddr} ${bootfile}
uenvcmd=run loadkernel;run nfsargs;bootm ${loadaddr}
************************************************************************************************

# boot
screenshot
U-Boot SPL 2011.12 (Jan 23 2012 - 18:42:29)
Texas Instruments Revision detection unimplemented
OMAP SD/MMC: 0
timed out in wait_for_bb: I2C_STAT=1000
reading u-boot.img

U-Boot 2011.12 (Jan 23 2012 - 18:42:29)

OMAP3630/3730-GP ES1.2, CPU-OPP2, L3-165MHz, Max CPU Clock 1 Ghz
OMAP3 Beagle board + LPDDR/NAND
I2C: ready
DRAM: 512 MiB
WARNING: Caches not enabled
NAND: 0 MiB
MMC: OMAP SD/MMC: 0
*** Warning - readenv() failed, using default environment

In: serial
Out: serial
Err: serial
Beagle xM Rev C
No EEPROM on expansion board
Die ID #08aa00029ff80000016830101600800a
Net: Net Initialization Skipped
No ethernet found.
Hit any key to stop autoboot: 0
The user button is currently NOT pressed.
SD/MMC found on device 0
reading uEnv.txt

570 bytes read
Loaded environment from uEnv.txt
Importing environment from mmc ...
Running uenvcmd ...
(Re)start USB...
USB: Register 1313 NbrPorts 3
USB EHCI 1.00
scanning bus for devices... 3 USB Device(s) found
        scanning bus for storage devices... 0 Storage Device(s) found
        scanning bus for ethernet devices... 1 Ethernet Device(s) found
Waiting for Ethernet connection... done.
Using sms0 device
TFTP from server 192.168.1.10; our IP address is 192.168.1.4
Filename 'uImage'.
Load address: 0x80200000
Loading:
#################################################################

#################################################################

#################################################################

#################################################################

#################################################################

#################################################################

#################################################################

#################################################################

#################################################################

#################################################################
          ##########################################
done
Bytes transferred = 3540352 (360580 hex)
## Booting kernel from Legacy Image at 80200000 ...
    Image Name: Linux-3.2.0
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 3540288 Bytes = 3.4 MiB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    Loading Kernel Image ... OK
OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
[ 0.000000] Booting Linux on physical CPU 0
[ 0.000000] Linux version 3.2.0 (root@anas) (gcc version 4.6.1
(Sourcery CodeBench Lite 2011.09-2
[ 0.000000] CPU: ARMv7 Processor [413fc082] revision 2 (ARMv7),
cr=10c53c7d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing
instruction cache
[ 0.000000] Machine: OMAP3 Beagle Board
[ 0.000000] Memory policy: ECC disabled, Data cache writeback
[ 0.000000] OMAP3630 ES1.2 (l2cache iva sgx neon isp 192mhz_clk )
[ 0.000000] Clocking rate (Crystal/Core/MPU): 26.0/400/600 MHz
[ 0.000000] PERCPU: Embedded 8 pages/cpu @c101e000 s10272 r8192
d14304 u32768
[ 0.000000] Built 1 zonelists in Zone order, mobility grouping on.
Total pages: 130048
[ 0.000000] Kernel command line: root=/dev/nfs nfsroot=/tftpboot rw
console=ttyO2,115200 rootwai1

Your NFS root is probably somewhere else (not in /tftpboot) !

-- Bas

ohh…let me first see by reinstalling the nfs-kernel-server and see where it puts this folder.

ohh…let me first see by reinstalling the nfs-kernel-server and see where it puts this folder.

You can also get rid of the tftpserver and use NFS only (for environment, kernel and root filesystem).
But this requires some tweaking of the configuration and is a little bit slower to boot, but easier to maintain on the server!

– Bas

thanks for the reply Bas !
i think i must go for NFS on;y , bcos, last night my tftp server also crashed i dont know why , but its not loading file at all,so
better for me to go for nfsdirectly, if u could give me some hints how to do, i will be thankfull , please.

Ok, keep in mind that I’m using a beaglebone and there will be differences with the board you’re using (e.g. the beaglebone has no flash and uses an SD-card instead).

What the bbone does at boot is read environment settings from the uEnv.txt file from the SD-card. I changed that file and redefined ‘uenvcmd’ to load a second environment file (‘bootfile’) from the NFS server. In that (second) environment file the linux kernel and parameters are defined, instead of in the first.
See the example config files below. Now I don’t have to hassle with files on the SD-card. All configuration changes can be made on the development host accessing the exported NFS directory. There’s no need for the tftpserver any more.

Success,
— Bas

contents uEnv.txt on SD-card:

hello,

could you tell which x-loader and u-boot are you using?
And if possible, can you give a download location for the sources (if
you don't use the master branch from git or a stable release)?
Do you use the vanilla linux kernel from the master tree or a custom
one with patches?
Could you give the link to the sources source here too (if not using
the master tree)?
If you don't have the sources, then please send/link the binaries, as
I could not get the networking work in the beagle.

Thank you in advance!

Peter

Hi,

hello,

could you tell which x-loader and u-boot are you using?
And if possible, can you give a download location for the sources (if
you don't use the master branch from git or a stable release)?

What I'm playing with is the latest stable mainline u-boot release:
v2011.12
You can get it from: git://git.denx.de/u-boot.git

Please note that MLO is built from this repository as well as u-
boot.img and that you need to use the MLO/u-boot.img bundle (and not u-
boot.bin).

Regards,

Robert