【昇腾】VirtualBox虚拟机下搭建Ubuntu 22.04环境给TF卡制卡报读写IO错误的问题处理_20250814
制卡环境说明
参考《Atlas 200I A2 加速模块 25.0.RC1 驱动开发指南 01.pdf》6.1 SD 卡制作和启动系统镜像章节通过本地制卡的方式烧写系统镜像到TF卡,而搭建的服务器是基于VirtualBox搭建的Ubuntu 22.04的虚拟机,并非物理PC机环境
为了更好的跟进这个问题,在执行TF本地制卡命令之前,我这边已经将make_os_sd.sh脚本增加了set -x行,这样在制卡过程中会收集较多的打印log信息,接着执行本地制卡命令:
python3 make_sd_card.py local /dev/sdb
一切顺利进行,但十来分钟后,报错[ERROR] Making SD Card failed的错误,如下图所示:
通过查看make_os_sd.log文件,发现制卡进度已经到85%了已经,报读写IO错误
查看虚拟机的USB控制器为USB 1.1
安装与自己虚拟机版本对应的Oracle_VM_VirtualBox_Extension_Pack-6.1.18.vbox-extpack扩展包解决
首先在帮助–关于virtualbox 查看自己VirtualBox的版本(我的是6.1.18版本)
下载Oracle_VM_VirtualBox_Extension_Pack-6.1.18.vbox-extpack扩展包
下载完后在虚拟机终端窗口执行以下命令:
- 添加
usbfs
用户组(安装完成后会有vboxusers
和vboxsf
两个用户组)
sudo groupadd usbfs
- 将你的 Linux 常用用户(这里我的用户名是
jllee
以您实际为准)添加到vboxusers
和usbfs
这两个组中
sudo adduser jllee vboxusers
sudo adduser jllee usbfs
准备安装扩展包
注意:装驱动之前千万不要在 USB 3.0 端口上插任何 USB 设备,否则可能会导致蓝屏。
安装Oracle_VM_VirtualBox_Extension_Pack-6.1.18.vbox-extpack扩展包
扩展包安装成功
关闭Ubuntu22.04虚拟机点击“设置”->“USB 设备”->选择“启用 USB 控制器”->选择 “USB 3.0 (xHCI)控制器”
重开虚拟卡,重新执行本地制卡命令,不再报IO读写错误,制卡成功
python3 make_sd_card.py local /dev/sdb