如何调试 nfsrootfs 无法启动问题

如何调试 nfsrootfs 无法启动问题

我们有基于 Beaglebone black 的定制主板,配备 4GB eMMC 和 256MB RAM。
我们首次使用网络启动将软件放入 eMMC。

为此,我们配置了 ubuntu PC 进行网络启动(tftp 和 nfsrootfs)。它充当 tftp 和 nfs 服务器。

现在,通过其中一个电路板,我们看到该电路板正在获取 IP,但是它并没有完成启动,也就是说,它并没有执行busybox-init,我们甚至在 tty 线路上都看不到控制台。

其他主板也适用同样的操作。

我可以 ping 通主板。因此内核正在运行,但它卡住了并且无法挂载网络根文件系统。

我不知道如何从这里调试这个问题。

主板内核日志出现故障,之后我什么也看不到

[    5.385958] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    5.405936] Sending DHCP requests ., OK
[    5.616404] IP-Config: Got DHCP answer from 192.168.2.1, my address is 192.168.2.175
[    5.624814] IP-Config: Complete:
[    5.628254]      device=eth0, hwaddr=7c:38:66:69:dd:95, ipaddr=192.168.2.175, mask=255.255.255.0, gw=192.168.2.1
[    5.638996]      host=192.168.2.175, domain=custom, nis-domain=(none)
[    5.645785]      bootserver=192.168.2.1, rootserver=192.168.2.1, rootpath=
[    5.652858]      nameserver0=8.8.8.8
[   60.326388] PM: request_firmware failed

工作板内核日志中,我看到 VFS 在 nfs 上挂载了根目录

[    5.376053] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[    5.396024] Sending DHCP requests ., OK
[    5.436489] IP-Config: Got DHCP answer from 192.168.2.1, my address is 192.168.2.10
[    5.444909] IP-Config: Complete:
[    5.448352]      device=eth0, hwaddr=a0:f6:fd:36:58:2e, ipaddr=192.168.2.170, mask1
[    5.459093]      host=192.168.2.170, domain=custom, nis-domain=(none)
[    5.465881]      bootserver=192.168.2.1, rootserver=192.168.2.1, rootpath=
[    5.472956]      nameserver0=8.8.8.8
[    5.483342] VFS: Mounted root (nfs filesystem) on device 0:12.
[    5.489971] Freeing unused kernel memory: 216K (c0597000 - c05cd000)
init started: BusyBox v1.20.2 (2018-01-05 08:41:27 EST)
starting pid 656, tty '': '/etc/init.d/rcS'
Starting rngd
Setting timezone and system clock: [OK]
Starting rsyslogd: [ OK ]
rsyslogd already started; not starting.
Starting Watchdog.
Starting ntpd: [OK]
starting pid 720, tty '/dev/ttyDefault': '-/bin/sh'


BusyBox v1.20.2 (2018-01-05 08:41:27 EST) built-in shell (ash)
Enter 'help' for a list of built-in commands.

#

有任何指针调试技术可以调试这个问题吗?

相关内容