I have an ARM system that has been pre-loaded with some variant of Linux. I don't know the distribution; I can only see the kernel number in dmesg.
In /etc/network/interfaces, I set eth0 to
auto eth0 iface eth0 inet dhcp
After I save and reboot (or run ifdown eth0 followed by ifup eth0), I can see that the networking system is searching for a DHCP server and actually obtains a lease on a valid IP address, but when I run ifconfig, the interface has not been assigned the address that it pulled down from DHCP. It has been assigned a 192.168.. address.
Where can this possibly be coming from?
I noticed in dmesg that a variable "ip" is passed to the kernel at boot with the same address that is overriding my DHCP address. How can I disable this overriding behavior? I noticed a dynamic environment variable in u-boot called ip. I set it dhcp and saved it to nv storage, but the problem persisted. I tried to set the u-boot environment variable ipaddr to dhcp, but was informed that this wasn't a valid value for the variable.
How can I get the interface to be configured through DHCP?