news 2026/6/10 12:28:40

Buildroot系统adb环境下-各种命令结果乱码

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Buildroot系统adb环境下-各种命令结果乱码

记录一次Buildroot系统adb环境下-各种命令结果乱码

文章目录

  • 前言-需求-场景
  • 一、实际效果-问题
  • 二、解决方案
  • 三、修改后效果
  • 四、知识点扩展
    • 1、核心概念与特点
      • 自动化构建:
      • 高度可定制与精简:
      • 生成完整镜像:
      • 不用于通用桌面/服务器发行版:
    • 2、主要组件(它帮你构建了什么)
    • 3、与 Yocto / OpenEmbedded 的对比
  • 总结

前言-需求-场景

  • 自己玩开发板,学习Linux系统知识点,用的是讯为开发板。
  • 自己在Windows 电脑上按照虚拟机,编译讯为提供的RK-Linux 源码来编译Buildroot 系统进行Linux 驱动学习
  • 编译好固件,烧录到RK主板上。adb shell 进入系统adb 环境

一、实际效果-问题

发现问题
命令返回结果都出现了乱码 、命令回车也会乱码、有符号,如下:


二、解决方案

这样导致自己无法正常输入命令和查看实际结果,非常不方便,就是无法开发了。

如下解决方案,大家可以尝试一下。

# 临时解决 ls-l--color=never # 永久解决(添加到~/.bashrc 或/etc/profile) echo"alias ls='ls --color=never'">>/etc/profile source/etc/profile

如果零时解决,效果如下:

三、修改后效果


四、知识点扩展

对于初学者来说,都没法理解Buildroot,它是做什么的都不知道。 我们只知道 ubuntu/Hot Red 服务器等基础知识点,这里顺便讲解下,方便自己理解。

Buildroot 是一个嵌入式 Linux 系统构建工具。它的核心功能是自动化、简化从零开始构建一个完整的、可启动的嵌入式 Linux 系统的过程。

你可以把它想象成一个高度定制化的“Linux 系统工厂”。

1、核心概念与特点

自动化构建:

  • 从源码开始,自动下载、配置、编译、安装。

  • 包含 交叉编译工具链(在性能强大的开发主机上,编译出能在目标嵌入式设备上运行的程序)、Linux 内核、根文件系统(包含所有库和应用程序)。

高度可定制与精简:

  • 采用 菜单配置界面(类似 Linux 内核的 make menuconfig),允许你精确选择需要的每一个软件包(如 Busybox、Dropbear、Qt5 等)、库和功能。

  • 最终生成的系统只包含你明确选择的东西,没有多余软件,因此体积可以非常小(小到几兆字节),非常适合资源受限的嵌入式设备。

生成完整镜像:

最终输出是可直接烧写到设备存储中的完整系统镜像,例如:

  • rootfs.tar(根文件系统归档)

  • sdcard.img(可直接写入 SD 卡或 eMMC 的磁盘映像)

  • 内核镜像、引导加载程序等。

不用于通用桌面/服务器发行版:

与 Ubuntu、Debian、OpenWrt 不同,Buildroot 不提供包管理机制。系统构建完成后,如果想增删软件,通常需要重新配置并完整构建整个系统。它的目标是生成一个固定的、针对特定应用的固件。

2、主要组件(它帮你构建了什么)

一个由 Buildroot 构建的典型系统包含:

  • 交叉编译工具链:构建过程的第一步,或使用预制的工具链。

  • Bootloader:如 U-Boot、GRUB(可选,也可用现成的)。

  • Linux 内核:包含你为特定硬件选择的驱动和配置。

  • 根文件系统:

核心工具:通常使用Busybox(一个集成了数百个常用Unix命令的单一精简可执行文件)。C库:如 glibc、musl(更小)、uclibc-ng。 用户所需的应用程序和库:如Web服务器、数据库、图形界面库、自定义业务程序等。
  • 根文件系统类型:可以生成 ext4、jffs2、squashfs 等多种格式,以适应不同的存储介质

3、与 Yocto / OpenEmbedded 的对比

这是嵌入式 Linux 领域另一个著名的构建框架。

特性BuildrootYocto / OpenEmbedded
核心目标简单、快速地构建固定的嵌入式系统。高度灵活、可扩展,用于构建复杂的、可维护的 Linux 发行版。
复杂度相对简单,学习曲线平缓。非常强大和复杂,学习曲线陡峭。
包管理无。系统构建后无法动态更新单个包。有完整的包管理系统(如 rpm、ipk),支持运行时安装、升级、移除软件包。
构建时间通常更快,因为工具链和包的选择更直接。首次构建极慢(需要构建自己的工具链和一切),但增量构建和 SDK 生成能力强。
适用场景产品功能相对固定,需要快速迭代出单一固件的中小项目。产品线复杂,需要为多种硬件平台生成不同变体,且需要长期维护和分发包的大型项目。
配置界面主要使用 make menuconfig。使用 BitBake 食谱文件(.bb 文件)和层(layers)来管理元数据。

简单比喻:

  • Buildroot 像一家精品餐厅,为你精心制作一道固定的套餐。好吃、高效,但菜品不可拆分。

  • Yocto 像一个大型食品工业园,拥有全套生产线和供应链,可以按需生产各种食品并配送到各处。


总结

  • 环境是开发的前提
  • 这里自己是通过AI 搜索,多次尝试的,最终解决
  • 如果遇到类似问题,可以借鉴,但是不同系统可能命令不一致,需要针对性看。
  • 理解Buildroot 是做什么的,我们为什么学习它
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 18:20:49

YOLO11部署教程:基于Jupyter的可视化开发全流程

YOLO11部署教程:基于Jupyter的可视化开发全流程 YOLO11是Ultralytics公司推出的最新一代目标检测算法,延续了YOLO系列“又快又准”的核心优势。相比前代版本,它在模型结构、训练效率和推理速度上都有显著提升,尤其适合需要高实时…

作者头像 李华
网站建设 2026/6/10 12:34:03

YOLOv9官方镜像在边缘设备上的运行实测

YOLOv9官方镜像在边缘设备上的运行实测 你有没有这样的经历:好不容易调好一个目标检测模型,换到另一台设备上却因为CUDA版本不匹配、依赖缺失或环境冲突而跑不起来?尤其是在边缘计算场景中,部署环节往往比训练更让人头疼。 今天…

作者头像 李华
网站建设 2026/6/10 12:44:50

移动端适配进展曝光,平板也能用了?

移动端适配进展曝光,平板也能用了? 最近,基于阿里达摩院 ModelScope 平台的 unet person image cartoon compound人像卡通化 模型应用迎来了一项重要更新——开发者“科哥”在其构建的 WebUI 镜像中透露:移动端适配已取得关键进展…

作者头像 李华
网站建设 2026/6/10 12:42:07

Emotion2Vec+ Large电影配音指导:演员情感表达匹配度检测

Emotion2Vec Large电影配音指导:演员情感表达匹配度检测 1. 引言:让声音与角色情绪精准对位 在影视制作中,配音不仅是语言的转换,更是情绪的传递。一个成功的配音表演,必须让声音的情感色彩与角色的心理状态严丝合缝…

作者头像 李华
网站建设 2026/6/10 14:47:23

如何选择合适的智能包装设备供应商才更可靠?

在选择合适的智能包装设备供应商时,了解设备的技术优势和市场声誉至关重要。首先,中科天工智能包装设备以其高效能和灵活性在行业内占有一席之地。其次,供应商提供的售后服务质量同样能够影响用户体验,及时的技术支持可以减少潜在…

作者头像 李华
网站建设 2026/6/10 14:45:24

Qwen3-Embedding-0.6B测评推荐:轻量高效多语言嵌入首选

Qwen3-Embedding-0.6B测评推荐:轻量高效多语言嵌入首选 Qwen3-Embedding-0.6B 是 Qwen 家族最新推出的文本嵌入模型,专为高效率、多语言和多样化任务设计。它在保持较小体积的同时,展现出令人印象深刻的语义理解与向量表达能力,特…

作者头像 李华