I'm attempting to use a USB ethernet dongle on an iMX6UL evk to load my kernel, dtb and mount my nfs all through the network.I've gotten this to work using the vendor's kernel tree, but I've run into an issue trying to reproduce it on my mainline build where I'm unable to NFS mount my rootfs. If I put the rootfs on the SD card, the kernel will load and I can run dhcpcd to initialize the USB-ethernet dongle and everything works (so it seems like the drivers are loaded correctly). If I boot the Freescale kernel I see it try eth0 and eth1 before moving on to USB0, and eth2 where it finds my dongle:fec 20b4000.ethernet eth0: Freescale FEC PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=20b4000.ethernet:01, irq=-1)IPv6: ADDRCONF(NETDEV_UP): eth0: link is not readyfec 2188000.ethernet eth1: Freescale FEC PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=20b4000.ethernet:02, irq=-1)IPv6: ADDRCONF(NETDEV_UP): eth1: link is not readyIPv6: ADDRCONF(NETDEV_UP): usb0: link is not readyasix 1-1:1.0 eth2: link downIPv6: ADDRCONF(NETDEV_UP): eth2: link is not readyasix 1-1:1.0 eth2: link up, 100Mbps, full-duplex, lpa 0xC5E1IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes readySending DHCP requests ., OKIP-Config: Got DHCP answer from 192.168.0.10, my address is 192.168.0.128IP-Config: Complete:     device=eth2, hwaddr=5c:f7:e6:8b:00:1b, ipaddr=192.168.0.128, mask=255.255.255.0, gw=192.168.0.10     host=192.168.0.128, domain=swiftlabs, nis-domain=(none)     bootserver=0.0.0.0, rootserver=192.168.0.219, rootpath=     nameserver0=192.168.0.10However with my mainline kernel build it never moves on to USB0 and just waits for eth0/eth1:[    2.807795] Micrel KSZ8081 or KSZ8091 20b4000.ethernet-1:01: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=20b4000.ethernet-1:0)[    2.824569] IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready[    2.937566] Micrel KSZ8081 or KSZ8091 20b4000.ethernet-1:02: attached PHY driver [Micrel KSZ8081 or KSZ8091] (mii_bus:phy_addr=20b4000.ethernet-1:0)[    2.952977] IPv6: ADDRCONF(NETDEV_UP): eth1: link is not ready[   12.977200] Waiting up to 110 more seconds for network.[   22.996955] Waiting up to 100 more seconds for network.I'm not very familiar with networking on linux, so I'm at a bit of a loss on how to debug. Why do I need to run dhcpcd to bring up the network interface even when I boot with the rootfs on the sd cardWhere should I start looking to get my kernel to try the USB0 interface on boot?Finally, could someone point me in the direction of some material that describes the boot process and how the kernel tries to setup networking when it is booted? 
Bringing up Networking Before Rootfs
networking;linux kernel;nfs