busybox
busybox号称linux的瑞士军刀,功能多体积少。
openubmc镜像中自带的busybox功能做了裁剪,没有telnet、i2c tools等工具,社区conan脚本仓 增加了busybox工具构建脚本,内置了telnet服务拉起功能,开发者可以按以下步骤构建和使用自定义busybox。
步骤一:构建busybox包
自定义的busybox带了一些不安全协议和功能(telnet、tftp等),未推送到社区conan仓,需要开发者单独构建,构建命令:
# 克隆conan_index仓
git clone https://gitcode.com/openUBMC/conan_index.git
# 进入源码目录
cd conan_index/recipes/busybox/all
# 构建busybox/1.34.0@openUBMC.release/stable
conan create . busybox/1.34.0@openUBMC.release/stable -pr profile.ini
伙伴可以将busybox推送到自己的conan仓:
# ` [openubmc_dev]`需要替换成自己的conan仓名(conan remote list可查询)
conan upload busybox/1.34.0@openUBMC.release/stable -r [openubmc_dev] -pr profile.ini
步骤二:集成busybox
在manifest.yml增加debug_dependencies调试依赖,调试依赖仅在个人构建(bingo build或bingo build -t personal)时生效。
配置示例:
debug_dependencies:
- conan: busybox/1.34.0@openUBMC.release/stable
步骤三:使用busybox
telnet连接:自定义的busybox自带了telnet服务,可以在开发机上执行telnet [ip_addr] 23连接服务器。
其它功能:默认将busybox打包到环境上的/opt/debug/busybox,执行命令的范式是/opt/debug/busybox [function name],如:
# 查看帮助,`Currently defined functions:`章节显示了支持的功能
/opt/debug/busybox --help
# 调用工具示例:调用i2cget
/opt/debug/busybox i2cget --help
变更日志
- 2025.04.25: 修复 telnetd服务启动失败问题,需要更新conan_index代码,重新构建busybox包




