Buildroot中非BusyBox包无法运行,提示“applet not found”求助
解决BusyBox Shell提示
applet not found的问题 1. 确认可执行文件的存在与路径
- 先查找目标系统中是否存在
coremark:find / -name coremark 2>/dev/null - 如果找到文件,直接使用绝对路径运行测试,例如:
/usr/bin/coremark - 如果未找到,说明Buildroot未将该软件包打包进镜像,需重新配置Buildroot:
- 进入配置界面:
make menuconfig - 导航到
Target packages->Benchmark,确保coremark选项已勾选 - 重新编译生成镜像:
make
- 进入配置界面:
2. 检查环境变量PATH
- 运行以下命令查看当前Shell的路径配置:
echo $PATH - 如果可执行文件所在目录(如
/usr/bin)未包含在PATH中,临时添加路径:export PATH=$PATH:/usr/bin - 若需永久生效,将上述命令添加到
/etc/profile或~/.profile文件中
3. 验证二进制文件的架构兼容性
- 由于目标环境是RISC-V 32位,需确保可执行文件为rv32架构编译:
- 若目标系统自带
file命令,运行:file /usr/bin/coremark,确认输出包含32-bit RISC-V - 主机端可使用Buildroot提供的交叉编译工具链检查:
riscv32-linux-gnu-file output/target/usr/bin/coremark
- 若目标系统自带
- 自定义编译的二进制文件,必须使用Buildroot生成的交叉编译工具链,禁止使用主机原生工具链
4. 检查文件执行权限
- 查看文件权限:
ls -l /usr/bin/coremark - 确保权限位包含执行权限(即权限字符串中有
x,如-rwxr-xr-x),若没有则添加:chmod +x /usr/bin/coremark
5. BusyShell相关配置排查
- BusyBox本身默认允许加载外部可执行文件,无需额外开启特殊设置
- 若启用了Standalone shell选项,可能导致路径解析异常,需检查BusyBox配置:
- 进入BusyBox配置界面:
make busybox-menuconfig - 导航到
Shell,确保Standalone shell选项未被勾选
- 进入BusyBox配置界面:
内容的提问来源于stack exchange,提问作者Charles Lohr
相关产品推荐
相关产品推荐

