news 2026/4/1 0:09:49

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/3/14 3:35:49

2026 跨境电商指南:亚马逊与TikTok Shop的底层逻辑对比

2026 年,跨境电商的格局正悄然变化。亚马逊仍然是行业的巨头,凭借成熟的物流体系、庞大的用户群和稳固的品牌认知,为卖家提供了可靠的增长渠道。然而,近年来新兴平台如 TikTok Shop 迅速崛起,以其社交驱动的购物模式和…

作者头像 李华
网站建设 2026/3/21 11:05:57

零基础也能用!YOLOv12官方镜像保姆级入门教程

零基础也能用!YOLOv12官方镜像保姆级入门教程 你是不是也遇到过这样的情况:想用最新的目标检测模型做项目,但光是环境配置就卡了三天?下载权重、装依赖、调版本冲突……还没开始训练就已经想放弃了。 别担心,现在这些…

作者头像 李华
网站建设 2026/3/31 1:26:30

ZCC5563A-100V输入, 3.5A限流降压芯片替代MP9487

特性  6至100V输入电压范围  3.5A 典型峰值限流  1A 持续电流  滞后控制:无补偿  可达1MHz的工作频率  集成高侧MOS管带短路保护  170μA 静态电流  过热保护  带有散热片引脚的ESOP8封装 描述 ZCC5563A是一款高压降压开关稳压器&…

作者头像 李华
网站建设 2026/3/26 23:06:37

VibeThinker-1.5B部署优化:降低GPU显存占用的实用技巧

VibeThinker-1.5B部署优化:降低GPU显存占用的实用技巧 1. VibeThinker-1.5B-WEBUI:轻量模型也能高效推理 VibeThinker-1.5B 是微博开源的一款小参数语言模型,专为数学与编程类任务设计。尽管其参数量仅为15亿,但在多个推理基准上…

作者头像 李华