This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM335x failed to use NFS file system to boot kernel, stops at starting kernel...

The SDK I use is ti-processor-sdk-linux-am335x-evm-02.00.02.11-Linux-x86-Install.bin.

 I can successfully boot the board using sdcard after run /bin/create-sdcard.sh and setup.sh.

But when I tried to boot kernel from NFS,I failed.It stopped at    "starting kernel...",then after a while,it starts to boot from sdcard I think,because it starts from the beginning and can boot successfully.I don't know what's wrong.How can I build an NFS file system to run on this board ? Please help me!

  Here are some of my configuration:

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- tisdk_am335x-evm_defconfig

I changed .config for : CONFIG_CMDLINE="root=/dev/nfs nfsroot=192.168.1.66:/home/mass/ti-processo     r-sdk-linux-am335x-evm-02.00.02.11/targetNFS ip=192.168.1.50 rw console=ttyO0,115200"

.......

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- uImage LOADADDR=0x82000000

in uboot:

uboot# tftp 0x82000000 uImage

uboot# bootm 0x82000000

Loading: #################################################################
#################################################################
#################################################################
#############################
1.3 MiB/s
done
Bytes transferred = 3279032 (3208b8 hex)
U-Boot# bootm 0x82000000
## Booting kernel from Legacy Image at 82000000 ...
Image Name: Linux-4.1.18-gbbe8cfc
Created: 2016-05-05 1:35:22 UTC
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3278968 Bytes = 3.1 MiB
Load Address: 82000000
Entry Point: 82000000
Verifying Checksum ... OK
Loading Kernel Image ... OK

Starting kernel ...

after a while

U-Boot SPL 2015.07-00063-gda2d8cb-dirty (May 05 2016 - 17:43:20)
reading args
spl_load_image_fat_os: error reading image args, err - -1
reading u-boot.img
reading u-boot.img


U-Boot 2015.07-00063-gda2d8cb-dirty (May 05 2016 - 17:43:20 +0800)

Watchdog enabled
I2C: ready
DRAM: 256 MiB
NAND: 0 MiB
MMC: OMAP SD/MMC: 0, OMAP SD/MMC: 1
reading uboot.env
Net: cpsw, usb_ether
Hit any key to stop autoboot: 0

...............

kernel starts successfully

print for uboot:

arch=arm
args_mmc=run finduuid;setenv bootargs console=${console} ${optargs} root=PARTUU}
baudrate=115200
board=am335x
board_name=A335X_SK
board_rev=1.2C
board_serial=54124P198026
boot_fdt=try
bootcmd=run findfdt; run init_console; run mmcboot;setenv mmcdev 1; setenv boot;
bootcount=134
bootdelay=1
bootdir=/boot
bootenvfile=uEnv.txt
bootfile=zImage
bootm_size=0x10000000
bootpart=0:2
bootscript=echo Running bootscript from mmc${mmcdev} ...; source ${loadaddr}
console=ttyO0,115200n8
cpu=armv7
dfu_alt_info_emmc=rawemmc raw 0 3751936
dfu_alt_info_mmc=boot part 0 1;rootfs part 0 2;MLO fat 0 1;MLO.raw raw 0x100 0x1
dfu_alt_info_nand=SPL part 0 1;SPL.backup1 part 0 2;SPL.backup2 part 0 3;SPL.ba9
dfu_alt_info_ram=kernel ram 0x80200000 0xD80000;fdt ram 0x80F80000 0x80000;ramd0
envboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mm;
eth1addr=c4:ed:ba:8d:4c:5f
ethact=cpsw
ethaddr=c4:ed:ba:8d:4c:5d
fdt_addr_r=0x88000000
fdtaddr=0x88000000
fdtfile=undefined
findfdt=if test $board_name = A335BONE; then setenv fdtfile am335x-bone.dtb; fi
finduuid=part uuid mmc 0:2 uuid
gatewayip=192.168.1.1
importbootenv=echo Importing environment from mmc${mmcdev} ...; env import -t $}
init_console=if test $board_name = A335_ICE; then setenv console ttyO3,115200n8;
ipaddr=192.168.1.50
kernel_addr_r=0x82000000
loadaddr=0x82000000
loadbootenv=fatload mmc ${mmcdev} ${loadaddr} ${bootenvfile}
loadbootscript=load mmc ${mmcdev} ${loadaddr} boot.scr
loadfdt=load mmc ${bootpart} ${fdtaddr} ${bootdir}/${fdtfile}
loadimage=load mmc ${bootpart} ${loadaddr} ${bootdir}/${bootfile}
loadramdisk=load mmc ${mmcdev} ${rdaddr} ramdisk.gz
mmcboot=mmc dev ${mmcdev}; if mmc rescan; then echo SD/MMC found on device ${mm;
mmcdev=0
mmcloados=run args_mmc; if test ${boot_fdt} = yes || test ${boot_fdt} = try; th;
mmcrootfstype=ext4 rootwait
mtdids=nand0=nand.0
mtdparts=mtdparts=nand.0:128k(NAND.SPL),128k(NAND.SPL.backup1),128k(NAND.SPL.ba)
nandargs=setenv bootargs console=${console} ${optargs} root=${nandroot} rootfst}
nandboot=echo Booting from nand ...; run nandargs; nand read ${fdtaddr} NAND.u-}
nandroot=ubi0:rootfs rw ubi.mtd=NAND.file-system,2048
nandrootfstype=ubifs rootwait=1
netargs=setenv bootargs console=${console} ${optargs} root=/dev/nfs nfsroot=${sp
netboot=echo Booting from network ...; setenv autoload no; dhcp; run netloadima}
netloadfdt=tftp ${fdtaddr} ${fdtfile}
netloadimage=tftp ${loadaddr} ${bootfile}
netmask=255.255.255.0
nfsopts=nolock
partitions=uuid_disk=${uuid_gpt_disk};name=rootfs,start=2MiB,size=-,uuid=${uuid}
ramargs=setenv bootargs console=${console} ${optargs} root=${ramroot} rootfstyp}
ramboot=echo Booting from ramdisk ...; run ramargs; bootz ${loadaddr} ${rdaddr}}
ramdisk_addr_r=0x88080000
ramroot=/dev/ram0 rw
ramrootfstype=ext2
rdaddr=0x88080000
rootpath=/export/rootfs
serverip=192.168.1.66
soc=am33xx
spiargs=setenv bootargs console=${console} ${optargs} root=${spiroot} rootfstyp}
spiboot=echo Booting from spi ...; run spiargs; sf probe ${spibusno}:0; sf read}
spibusno=0
spiimgsize=0x362000
spiroot=/dev/mtdblock4 rw
spirootfstype=jffs2
spisrcaddr=0xe0000
static_ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}::off
stderr=serial_omap
stdin=serial_omap
stdout=serial_omap
usbnet_devaddr=c4:ed:ba:8d:4c:5f
vendor=ti
ver=U-Boot 2015.07-00063-gda2d8cb-dirty (May 05 2016 - 17:43:20 +0800)

Environment size: 5227/131068 bytes