Hello,
I'm been trying to setup the i.MX53 to boot via NFS but having some problem. Here is what I did and maybe someone can point out what I did wrong and how to fix it. I'm pretty new with this so any help is greatly appreciated. I used the Adeneo 4.1 prebuilt files to build this setup.
Here is my IP info, using an Apple Ethernet Adapter
eth1 Link encap:Ethernet HWaddr 28:37:37:03:c5:f1
inet addr:192.168.1.2 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::2a37:37ff:fe03:c5f1/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:6585 errors:0 dropped:0 overruns:0 frame:0
TX packets:6581 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:889944 (889.9 KB) TX bytes:7613344 (7.6 MB)
/etc/exports file
/home/daknguy/imx-android/nfsroot *(rw,no_root_squash,sync,no_subtree_check,insecure)
/home/daknguy/imx-android/tftproot *(rw,no_root_squash,sync,no_subtree_check,insecure)
daknguy@daknguy-System-Product-Name:/$ sudo mount -t nfs 192.168.1.2:/home/daknguy/imx-android/nfsroot /nfsroot
daknguy@daknguy-System-Product-Name:/$ cd /nfsroot/
daknguy@daknguy-System-Product-Name:/nfsroot$ ls
boot init proc sys u-boot.bin uImage
data init.freescale.rc ramdisk.img system ueventd.freescale.rc uramdisk.img
default.prop init.goldfish.rc recovery.img system.img ueventd.goldfish.rc
dev init.rc sbin system_inflexion.img ueventd.rc
MX53-LOCO U-Boot > printenv
bootdelay=3
baudrate=115200
loadaddr=0x70800000
netdev=eth0
ethprime=FEC0
bootdelay=3
uboot=u-boot.bin
kernel=uImage
loadaddr=0x70800000
rd_loadaddr=0x70D00000
vga=setenv bootargs ${bootargs} di1_primary video=mxcdi1fb:GBR24,VGA-XGA vga
lcd=setenv bootargs ${bootargs} di0_primary calibration
hdmi_720p=setenv bootargs ${bootargs} di0_primary video=mxcdi0fb:RGB24,1280x720M@60 hdmi gpu_nommu gpu_memory=64M
hdmi_1080p=setenv bootargs ${bootargs} di0_primary video=mxcdi0fb:RGB24,1080P60 hdmi gpu_nommu gpu_memory=64M
claa_lcd=setenv bootargs ${bootargs} di0_primary video=mxcdi0fb:RGB565,CLAA-WVGA calibration
bootargs_android=setenv bootargs ${bootargs} init=/init androidboot.console=ttymxc0
bootcmd_SD=run bootcmd_SD1 bootcmd_SD2
bootcmd_SD1=run bootargs_base set_display bootargs_android
bootcmd_SD2=mmc read 0 ${loadaddr} 0x800 0x2000;mmc read 0 ${rd_loadaddr} 0x3000 0x300;bootm ${loadaddr} ${rd_loadaddr}
bootargs_nfs=setenv bootargs ${bootargs} root=/dev/nfs ip=dhcp nfsroot=${serverip}:${nfsroot},v3,tcp
bootcmd_net=run bootargs_base bootargs_nfs; tftpboot ${loadaddr} ${kernel}; bootm
bootcmd_android_recovery=run bootargs_base bootargs_android_recovery;mmc read 0 ${loadaddr} 0x800 0x2000;bootm
bootargs_android_recovery=setenv bootargs ${bootargs} init=/init root=/dev/mmcblk0p4 rootfs=ext4
ethact=FEC0
serverip=192.168.1.2
ipaddr=192.168.1.50
lvds=setenv bootargs ${bootargs} video=mxcdi0fb:RGB666,XGA ldb=di0 di0_primary
bootargs_base=set bootargs console =ttymxc0, 115200 ${lvds}
set_display=run lvds
bootcmd_nfs=run bootargs_base bootargs_nfs ; nfs ${loadaddr} ${serverip}:${nfsroot}/uImage;bootm
bootcmd=run bootcmd_nfs
bootargs=console =ttymxc0, 115200 setenv bootargs ${bootargs} video=mxcdi0fb:RGB666,XGA ldb=di0 di0_primary root=/dev/nfs ip=dhcp nfsroot=192.168.1.2:/nfsroot,v3,tcp
stdin=serial
stdout=serial
stderr=serial
nfsroot=/nfsroot
Environment size: 1862/131068 bytes
MX53-LOCO U-Boot > boot
FEC: enable RMII gasket
PHY indentify @ 0x0 = 0x0007c0f1
Using FEC0 device
File transfer via NFS from server 192.168.1.2; our IP address is 192.168.1.50
Filename '/nfsroot/uImage'.
Load address: 0x70800000
Loading: FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
*** ERROR: Cannot mount
If I change nfsroot to /home/daknguy/imx-android/nsfroot I get the following error “*** ERROR: Cannot umount ”
Environment size: 1887/131068 bytes
MX53-LOCO U-Boot > boot
FEC: enable RMII gasket
PHY indentify @ 0x0 = 0x0007c0f1
Using FEC0 device
File transfer via NFS from server 192.168.1.2; our IP address is 192.168.1.50
Filename '/home/daknguy/imx-android/nfsroot/uImage'.
Load address: 0x70800000
Loading: FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
FEC: Link is down 7809
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################*** ERROR: Cannot umount
## Booting kernel from Legacy Image at 70800000 ...
Image Name: Linux-2.6.35.3-01162-gecaa8dd-di
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 3325320 Bytes = 3.2 MB
Load Address: 70008000
Entry Point: 70008000
Verifying Checksum ... OK
Loading Kernel Image ... OK
OK
Starting kernel ...
Initializing cgroup subsys cpu
Linux version 2.6.35.3-01162-gecaa8dd-dirty (rlorriaux@rl-linux) (gcc version 4.4.3 (GCC) ) #1 PREEMPT Mon Nov 14 15:00:29 PST 2011
CPU: ARMv7 Processor [412fc085] revision 5 (ARMv7), cr=10c53c7f
CPU: VIPT nonaliasing data cache, VIPT nonaliasing instruction cache
Machine: Freescale MX53 LOCO Board
Memory policy: ECC disabled, Data cache writeback
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 234496
Kernel command line: console =ttymxc0, 115200 setenv bootargs ${bootargs} video=mxcdi0fb:RGB666,XGA ldb=di0 di0_primary root=/dev/nfs ip=dhcp nfsroot=192.168.1.2:/home/daknguy/imx-anp
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
allocated 7864320 bytes of page_cgroup
please try 'cgroup_disable=memory' option if you don't want memory cgroups
Memory: 416MB 512MB = 928MB total
Memory: 924384k/924384k available, 25888k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xf9e00000 - 0xffe00000 ( 96 MB)
vmalloc : 0xe0800000 - 0xf4000000 ( 312 MB)
lowmem : 0x80000000 - 0xe0000000 (1536 MB)
pkmap : 0x7fe00000 - 0x80000000 ( 2 MB)
modules : 0x7f000000 - 0x7fe00000 ( 14 MB)
.init : 0x80008000 - 0x80039000 ( 196 kB)
.text : 0x80039000 - 0x80892000 (8548 kB)
.data : 0x808b2000 - 0x8091b6c0 ( 422 kB)
SLUB: Genslabs=11, HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1
Hierarchical RCU implementation.
RCU-based detection of stalled CPUs is disabled.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:368
MXC GPIO hardware
MXC IRQ initialized
MXC_Early serial console at MMIO 0x53fbc000 (options '115200')
bootconsole [ttymxc0] enabled
Console: colour dummy device 80x30
console [tty0] enabled, bootconsole disabled