【摘要】通过本帖你将了解到:
(1)KV260上电后出现[FAILED] Failed to start Commit a transient machine-id on disk.等一系列报错状态下Ubuntu系统无法正常显示登录界面时的问题原因和解决办法。
(2)使用Boot Image Recovery Tool更新Boot FW的操作方法。
--------------------------以下为正文-----------------------------
前文说道,当硬件系统齐备后,只需插上电源就可启动Ubuntu系统,那么现在我们开始上电,即刻观赏KV260开发板的上电表演吧:
【KV260上电启动表演之Ubuntu系统一堆报错】
https://www.bilibili.com/video/BV1bX4y1j7py
这段表演长达近6分钟,一堆的英文提示语在快速闪动,那么开发板到底都说了些啥呢?认真回看录制视频后……额,太多了我也看不明白……算了,把我觉得比较重要的和报错信息摘录研究一下吧:
- Warning: fsck not present, so skipping root file system
- 欢迎来到Ubuntu 22.04.2 LTSI系统
- [FAILED] Failed to start Commit a transient machine-id on disk.
See ‘Systemctl status systemd-machine-id-commit.service’for details.
- [DEPEND] Dependency failed for SSSD NSS Service responder socket.
[DEPEND] Dependency failed for SSSD AutoFS Service responder socket.
[DEPEND] Dependency failed for SSSD PAC Service responder socket.
[DEPEND] Dependency failed for SSSD PAM Service responder private socket.
[DEPEND] Dependency failed for SSSD PAM Service responder socket.
[DEPEND] Dependency failed for SSSD SSH Service responder socket.
[DEPEND] Dependency failed for SSSD Sudo Service responder socket.
- [FAILED] Failed to start Snap Daemon.
- [FAILED] Failed to start Accounts Service.
See ‘systemctl status accounts-daemon.service’ for details.
- [FAILED] Failed to start Disk Manager.
See ‘systemctl status udisks2.service’ for details.
- [FAILED] Failed to start CUPS Scheduler.
See ‘systemctl status cups.service’ for details.
[DEPEND] Dependency failed for Make remote CUPS printers available locally.
- [FAILED] Failed to start Modem Manager.
See ‘systemctl status ModemManager.service’ for details.
- [FAILED] Failed to start Snap Daemon.See ‘systemctl status snapd.service’ for details.
不仔细看不知道,一看吓一跳,这么多FAILED,显示器界面上也没有预期的系统登录框,这可咋整,有点傻眼。
我对着摘录报错信息左看右看上看下看,嗯,把报错信息复制出来,跑到百度谷歌上左搜搜右搜搜,哎,没看到啥像样对症的解决办法。
看这一堆的报错信息,像是啥系统服务也没启动起来似的。期盼中的Ubuntu登录界面没有出现,有点愁,这可咋办呢?嗯,暂时没有好办法,要么试试另外一种,用串口登录系统的方式?起码看看有没有啥不一样?
好,那就找找说明,既然链接中的“Instructions for GNOME Desktop”启动方式没走通,那就按“Instructions for Windows”的方式再看看情况。
将右侧的“+”号点开,按照说明,先下载FTDI虚拟串口驱动并安装,然后接入串口线看COM端口号,嗯,在我这里一连上,设备管理器里会多出COM13和COM14两个端口。为啥有两个?嗯,先不管那么多,先按COM13来设置PuTTY中的串口波特率为115200bps,默认的Flow Control设定改为None。
然后上电,点Open打开COM13,又是一番英文提示滚动,最后串口反复循环在提示“mmcl:Got data interrupt 0x00200000 even though no data operation was in progress.”的报错。好吧,没有意外,并不存在侥幸的好消息。
愣了一阵,嗯,还是回头老老实实啃文档吧,肯定是哪里疏漏了。
一顿翻找,哎,总算找到疑点所在了—— 看链接:
啥意思?惭愧惭愧,急于求成,文档中这么明显的警示标志俺都没有注意看啊……
—— 用咱汉族人的语言来讲,也就是说:我们的Ubuntu系统版本是22.04,但KV260出厂默认的boot
FW版本是2021.1,Boot FW版本太老了不支持最新的Ubuntu 22.04系统版本,要想正常使用Ubuntu 22.04,应当先把Boot FW版本更新到至少2022.1版本以上才行。
好,那接下来问题来了,怎么操作才能更新Boot FW固件?
首先,继续往下翻文档,按照说明把需要更新写入的Kria Boot FW Image文件下载下来,也就是上图表格中的2022.2 Boot FW update,用最新的固件吧。
然后继续往下翻文档,翻到“Boot FW Update Process”章节,阅读理解后我们知道可以采用两种方式更新Boot FW,一种是在在KV260主板的Linux系统功能运行正常的状态下,利用xmutil指令更新,另一种则是外部电脑利用Boot Image Recovery Tool通过网页配置的形式进行更新。目前的情况连Ubuntu系统登录界面都看不到,所以当然我们要采用Boot Image Recovery Tool网页配置更新的方式。
那么首先,把网线接到俺的笔记本电脑上,嗯,有线连接被自动识别为“以太网 3”,稳妥起见将“WLAN”无线网卡禁用一下,然后设置一下有线网络的IP地址,我将笔记本电脑设置为192.168.0.104,与目标KV260开发板的IP地址192.168.0.111处于同一网段。
然后按住FWUEN键,给主板重新上电。要是已安装连接好AR1335摄像头模组的话,很容易发现这个FWUEN小按键就在摄像头模组旁边靠近开发板边缘的一侧。
这时可以看到串口出现了下面的提示,表明Boot Image Recovery Tool已经运行起来了。
然后从网页浏览器中打开http://192.168.0.111/,手册里说可以用Firefox和Chrome浏览器,实际我试了用搜狗浏览器也毫无问题。
点击右下侧Recover Image里的Browse选定待更新的Boot FW,在这里2022.2 Boot FW update版本下载下来默认的文件名是BOOT-k26-starter-kit-20230516185703.bin。
点击Upload按钮,会有一次提示确认,不错,万一点错了还可以反悔。
---------------此处为约1分钟左右Boot FW更新时间--------------
更新的过程不知为何失败了两次,先是直接提示update failed,我不服气,再重新Upload,又提示CRC Error,俺还是不服气,再再重新Upload,嗯,这次成功了,满意。
也不知道是啥原理更新会失败不太稳定,不管了,先用着。
确认升级成功之后,再次重启KV260主板,再次欣赏KV260开发板的上电表演:
【KV260上电表演【OK】】
https://www.bilibili.com/video/BV18P411x75i
哈哈,看着约4分钟的连续闪动的提示信息里不再有[FAILED],总算放心了。此前的一堆[FAILED]提示全部消失,只剩下一个Warning和Dependency failed,应该问题不大:
- Warning: fsck not present, so skipping root file system
- [DEPEND] Dependency failed for SSSD NSS Service responder socket.
[DEPEND] Dependency failed for SSSD AutoFS Service responder socket.
[DEPEND] Dependency failed for SSSD PAC Service responder socket.
[DEPEND] Dependency failed for SSSD PAM Service responder private socket.
[DEPEND] Dependency failed for SSSD PAM Service responder socket.
[DEPEND] Dependency failed for SSSD SSH Service responder socket.
[DEPEND] Dependency failed for SSSD Sudo Service responder socket.
可是……等下,怎么只有黑屏,登录窗口呢?
------------------------发愣呆住几分钟--------------------------
哈哈,不要着急,等了好几分钟,亲爱的ubuntu桌面她终于出现了!是的,梦中的她出现了!哈哈哈哈哈哈哈哈,果然好的缘分总是姗姗来迟,于是开心地填默认用户名ubuntu的密码:还是ubuntu,首次登录会被强制要求修改密码为8个字符以上的其他密码,哎,目前又没人来抢我的板子,就填helloworld好了。
然后顺利进入ubuntu桌面,但是……系统咋好像处于卡死状态……点啥啥不灵……嗯,首次上电,耐心点吧,我先等等,去把俺买的一块钱一斤的西瓜拿来,慢慢吃,慢慢等~
------------------------吃瓜时间12分钟---------------------------
耐心等待约12分钟之后,哈,果然,动动鼠标到处点点,一切顺滑响应实时,打开硬盘存储瞅瞅,共有14.3GB空间,系统已占用了7.9GB空间,余下的空间6.4GB。
好,这样俺的KV260终于通关了ubuntu系统启动问题,后面就可以正常操作搞例程搞项目了~ 嗯,欲知后事如何,且看下回分解~~
-------------------------收尾总结彩蛋----------------------------
教训1:
读文档时不要急于求成,起码把章节里有警示标识的提示信息耐心看完再动手不迟。
教训2:
使用KV260装系统时,要注意Ubuntu系统和Boot FW固件的版本适配,如发现不匹配,可利用Boot Image Recovery Tool通过网口更新写入相匹配的Boot FW新固件。
老刘记事儿更多精彩欢迎订阅关注扫一扫: