Qemu启动
【Q】按照官方的最新的manifest以及指导文档运行Qemu后 SSH能访问Ipmi命令能通,但是web不通,端口号也都反复检查了。这时候的固件是跑脚本的时候下载的固件。
- ssh和ipmi启动时间会比web的启动时间要快,web连接不通可能在于nginx还没拉起,可以稍等几秒再重新拉起,此时可以:
- 登录ssh:
ssh Administrator@localhost -p 10022 - 进入telnet:
/data/home/busybox_x telnet localhost - 查看nginx服务是否启动:
netstat -ntlpa
- 如果还不行,请保持默认config文件内容,删除manifest temp目录和output目录重试拉起qemu,此时能够顺利拉起qemu。
【Q】25.06源码构建的qemu,启动后存在互锁和web网页无法打开的问题:ERROR:../hw/infc/arm_drcv3_cpuif.c:784:gicv3_cpuif_update:assertion failed: {qemu_mutex_iothread_locked()}
/hw/infc/arm_drcv3_cpuif.c断言失败导致的问题,可能是您本地缓存的qemu二进制文件和现在不匹配问题,您可以进行如下流程进行恢复:
- 删除conan缓存:
rm -rf ~/.conan2/p/*(conan2);rm -rf ~/.conan/data/*(conan1) - 重新出包:
bingo build -sc qemu - 删除qemu本地缓存的二进制工具: manifest仓的temp目录
- 重新拉起qemu:
python3 build/works/packet/qemu_shells/vemake_1711.py
【Q】Qemu启动后存在RTOS版本不一致问题,导致ssh无法连接:x_tables: disagrees about version of symbol module_layout
这个是RTOS版本不一致导致驱动起不来的问题:
先看查看环境的RTOS版本和qemu远程的RTOS版本一致了, 查看方法:ls -l /opt/RTOS,将会由显示RTOS版本号,然后Qemu的使用的RTOS版本号会在manifest.yml里面存在qemu_rtos_version,将两者进行比较
如果不是的话, 请进行以下步骤:
- 拉最新的manifest组件仓
删除conan缓存:
rm -rf ~/.conan2/p/*重新初始化环境:执行
python3 init.py xxx重新出包:
bingo build -sc qemu重新启动qemu:
python3 build/works/packet/qemu_shells/vemake_1711.py
【Q】Qemu仿真环境启动时卡住:Authorized uses only. All activity may be monitored and reported.pe (err -2)localhost login:
这种情况有可能是两种因素引起:
修改的内容导致BMC有问题,这种遇到卡顿可以等一下,过了一段时间,可以telnet进去查看日志:
cat /var/log/framework.log,查看报错,一般都是基础框架没有起来的问题;然后根据日志报错修改自己的代码由于本地的conan缓存的生命周期失效,可以清除conan缓存
可以尝试这样解决:
- 拉最新manifest
- 执行
python3 init.py xxx - 升级bingo:
bingo upgrade - 清除conan缓存:
rm -rf ~./conan2/p/* - 出包:
bingo build -sc qemu - 启动qemu:
python3 build/works/packet/qemu_shells/vemake_1711.py
【Q】执行仿真环境qemu后,有报错但不影响登陆openUBMC,请问账号密码是什么?
账号/密码: Administrator/Admin@90000
【Q】web一直不响应,可以看看nginx服务是否存在
终端登录ssh: ssh Administrator@localhost -p 10022
进入telnet: /data/home/busybox_x telnet localhost
查看nginx服务是否启动: netstat -ntlpa
如果nginx服务启动了,web还登录不了,此时可以查看日志:cat /var/log/app.log, 或者killall interface
如果nginx服务还没启动,需要通过日志来定位问题了: cat /var/log/app.log, 来观察是不是本身代码做了其他修改导致的问题
【Q】仿真环境启动后,登进去,缺少ipmcget命令:仿真环境初始化完毕后,用户名Administrator密码Admin@90000,登录到openUBMC里面,没有ipmcget命令,也没有ifconfig命令,如何添加?
在manifest的output/data被异常修改导致的问题:
- 停止正在运行的qemu
- 删除output/data目录
- 重新运行qemu:
python3 build/works/packet/qemu_shells/vemake_1711.py
目前openUBMC暂时不支持ifconfig命令
Qemu构建
【Q】bingo build -sc qemu 报错为啥,用的是普通用户, 必须要用root用户嘛?
目前Qemu的二进制工具构建和openUBMC的仿真镜像包仅支持root用户
【Q】25.06源码构建qemu固件包失败,存在组件全量源码构建失败问题:CMake Error: The source directory “/root/.conan/data/bmc_network/1.70.42/openUBMC.release/rc/build/a8cc6717e1ce1e0d9c59af89eaae6d6122f062e6” does not appear to contain CMakeLists.txt.
因为触发了bmc_network组件的全量源码构建,但bmc_network组件在社区只有conan包导致的,可以直接
conan download bmc_network/1.70.42@openUBMC.release/stable -r openubmc_dev验证conan有没有问题conan download bmc_network/1.70.42@openUBMC.release/stable -r openubmc_dev成功之后,拉最新的manifest,重新python3 init.py xxx, 然后清除缓存rm -rf ~/.conan2/p/*, 然后重新再来:bingo build -sc qemu.
【Q】基于修改代码出自己的qemu cpio包, 会提示某个组件download失败
首先去查看本地manifest仓的temp/log/task.log,看看有没有说是要输入account和密码,如果有的话:
- 杀死正在运行的qemu构建出包进程
- 然后在终端输入命令:
conan search help -r openubmc_dev,会提示输入账号和密码 - 重新
bingo build -sc qemu出包即可