Specifications

We use the SELF ramdisk image that comes with the ELDK. When we try to mount a filesystem over
NFS from the server, for example:
# mount -t nfs 192.168.1.1:/target/home /home
the command waits nearly 5 minutes in uninterruptable sleep. Then the mount finally succeeds.
What's wrong?
Answer:
The default configuration of the SELF was not designed to mount additional filesystems with file
locking over NFS, so no portmap deamon is running, which is causing your problems. There are two
solutions for the problem:
Add the portmap deamon (/sbin/portmap) to the target filesystem and start it as part of
the init scripts.
1.
Tell the "mount" program and the kernel that you don't need file locking by passing the
"nolock" option to the mount call, i. e. use
# mount -o nolock -t nfs 192.168.1.1:/target/home /home
2.
Explanation:
If you call the mount command like above (i. e. without the "nolock" option) an RPC call to the
"portmap" deamon will be attempted which is required to start a lockd kernel thread which is
necessary if you want to use file locking on the NFS filesystem. This call will fail only after a very
long timeout.
14.3.11. Ethernet does not work in Linux
Question:
Ethernet does not work on my board. But everything is fine when I use the ethernet interface in
U-Boot (for example by performing a TFTP download). This is a bug in U-Boot, right?
Answer:
No. It's a bug in the Linux ethernet driver.
In some cases the Linux driver fails to set the MAC address. That's a buggy driver then - Linux
ethernet drivers are supposed to read the MAC address at startup. On ->open, they are supposed to
reprogram the MAC address back into the chip (but not the EEPROM, if any) whether or not the
address has been changed.
In general, a Linux driver shall not make any assumptions about any initialization being done (or not
done) by a boot loader; instead, that driver is responsible for performing all of the necessary
initialization itself.
And U-Boot shall not touch any hardware it does not access itself. If you don't use the ethernet
interface in U-Boot, it won't be initialized by U-Boot.
A pretty extensive discussion of this issue can be found in the thread ATAG for MAC address on the
ARM Linux mailing list. archive 1 archive 2
Some current methods for handling the MAC address programming:
use custom ATAGs (ARM systems)
use a Flattened Device Tree (if your arch/port supports it)
14.3.11. Ethernet does not work in Linux 179