在Linux initrd映像中,以太网无法工作

我正在开发使用i.Mx6四核处理器的SABRE SD开发板。 我为这块电路板开发了一个initrd镜像。 内核启动并且initrd映像已成功挂载。 即使fec以太网驱动程序正确加载。

但是在init进程中,dhcp无法为以太网设备指定一个ip。

在'dhcp'命令上使用strace实用程序进行分析时,获得了以下日志:在日志中,选择系统调用Timeouts导致错误。 下面给出了日志的选择部分。

socket(PF_INET, SOCK_RAW, IPPROTO_RAW)  = 6

ioctl(6, SIOCGIFINDEX, {ifr_name="eth0", ifr_index=2}) = 0

ioctl(6, SIOCGIFHWADDR, {ifr_name="eth0", ifr_hwaddr=00:04:9f:02:b3:81}) = 0

close(6)                                = 0

clock_gettime(CLOCK_MONOTONIC, {53, 815520338}) = 0

write(1, "Sending discover...n", 20Sending discover...
)   = 20

socket(PF_PACKET, SOCK_DGRAM, 8)        = 6

bind(6, {sa_family=AF_PACKET, proto=0x800, if2, pkttype=PACKET_HOST, addr(6)={0, 
ffffffffffff}, 20) = 0

sendto(6, "E014@21y272377377377377DC1 ,h116"..., 308, 0, {sa_family=AF_PACKET, proto=0x800, if2, pkttype=PACKET_HOST, add8

close(6)                                = 0

fcntl64(5, F_SETFD, FD_CLOEXEC)         = 0

clock_gettime(CLOCK_MONOTONIC, {53, 990583005}) = 0

select(6, [3 5], NULL, NULL, {3, 0})    = 0 (Timeout)

但是,当initrd映像中使用的rootfs与SD卡引导一起使用时,dhcp命令不会失败。

任何人都可以帮助我找到一些线索吗?

带着敬意,

维韦克

链接地址: http://www.djcxy.com/p/66799.html

上一篇: In Linux initrd image, ethernet fails to work

下一篇: Do initrd really reduce kernel image size in case of Bootpimage?