Hi Niklas,
I couldn't get it to run with busybox alone either. After a lot of trial and error and banging my head onto the desk, I gave up on the udhcpc idea. Since I use yocto, I found that the 'connman' utility is available as a recipe. Connman is a tool that handles network connections for ethernet, wifi, bluetooth, cellular etc. and seems to be under active development.
I've added the 'connman' package to my yocto image definition and stripped the information in the /etc/network/interfaces configuration file to only contain the loopback (otherwise busybox may interfer with the network configuration, it may also be possible to disable all network functions of busybox, I didnt' try that):
/etc/network/interfaces
auto lo
iface lo inet loopback
Connman will automatically configure your ethernet port as soon as the cable is connected and get an IP address via DHCP. This is the default behaviour if no explicit configuration is done. If you need to configure IP addresses or other settings explicitly, the config files for connman are located at /var/lib/connman. The documentation in the git repo at http://git.kernel.org/cgit/network/connman/connman.git/tree/doc contains a lot of information.
There is also a command line configuration utility called connmanctl which allows to configure a lot of stuff interactively. The corresponding yocto package would be 'connman-client'.
On another note: Connman is plugin based, which means that configuration abilities for the different network technologies is handled within plugins. The ethernet plugin is compiled in by default in the yocto recipe. If you also need the wifi plugin, you need to specify the following setting in your yocto 'local.conf':
# Enable wifi support for connman
PACKAGECONFIG_append_pn-connman = " wifi"
I'm sorry that I cant give you a solution that works with the udhcp client from busybox. But connman seems to be pretty lightweight too and the configuration is a lot easier, especially if you also need wifi. In that case connman is handling all the wpa_supplicant stuff for you, you only need to add a small config file in the connman directory.
Best Regards,
Michael