iMX6UL evk에서 USB 이더넷 동글을 사용하여 커널, dtb를 로드하고 네트워크를 통해 nfs를 마운트하려고 합니다.
공급업체의 커널 트리를 사용하여 작동하게 했지만 메인라인 빌드에서 재현하려고 할 때 문제가 발생하여 NFS를 통해 rootfs를 마운트할 수 없습니다.
SD 카드에 rootfs를 넣으면 커널이 로드되고 dhcpcd를 실행하여 USB 이더넷 동글을 초기화할 수 있으며 모든 것이 잘 작동합니다(따라서 드라이버가 올바르게 로드된 것처럼 보입니다). Freescale 커널을 부팅하면 USB0으로 이동하기 전에 eth0과 eth1을 시도한 다음 eth2에서 동글을 찾는 것을 볼 수 있습니다.
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 ready
fec 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 ready
IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
asix 1-1:1.0 eth2: link down
IPv6: ADDRCONF(NETDEV_UP): eth2: link is not ready
asix 1-1:1.0 eth2: link up, 100Mbps, full-duplex, lpa 0xC5E1
IPv6: ADDRCONF(NETDEV_CHANGE): eth2: link becomes ready
Sending DHCP requests ., OK
IP-Config: Got DHCP answer from 192.168.0.10, my address is 192.168.0.128
IP-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.10
그러나 내 메인라인 커널 빌드에서는 USB0으로 전송되지 않고 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.
저는 Linux 네트워킹에 익숙하지 않아서 디버깅 방법을 잘 모르겠습니다. SD 카드에서 rootfs를 사용하여 부팅하더라도 네트워크 인터페이스를 부팅하려면 왜 dhcpcd를 실행해야 합니까? 부팅 시 USB0 인터페이스를 시도하려면 커널을 어디서 찾아야 합니까?
마지막으로, 부팅 프로세스와 커널이 부팅 시 네트워크 설정을 시도하는 방법을 설명하는 자료를 알려줄 수 있는 사람이 있습니까?