Linux
嵌入式 Linux 系列 09:OTA 升级、双分区和失败回滚
- 06/26
- 21:49
设备能在实验室跑起来,只是第一步。真正部署到现场后,固件升级能力会变得非常关键。没有可靠 OTA,后续修 bug、加功能、修安全问题都会变成高风险操作。
嵌入式 Linux 系列 06:设备服务、MQTT 协议和配置持久化
- 06/26
- 21:48
很多嵌入式 Linux 产品的核心不是驱动,而是设备服务。它负责联网、接收云端或其他设备的控制协议、保存配置、上报状态、处理升级和自恢复。设备服务写得稳不稳,直接影响产品现场表现。
Buildroot 适合快速构建精简嵌入式 Linux 系统。它可以同时生成交叉工具链、内核、rootfs 和镜像。对入门和中小型产品来说,Buildroot 的学习成本比 Yocto 低很多。
嵌入式 Linux 系列 04:RootFS 结构、启动脚本和配置持久化
- 06/26
- 21:46
RootFS 是嵌入式 Linux 用户态的地基。应用能不能启动、配置会不会丢、日志写到哪里、系统能不能长期运行,很多问题最后都会回到 rootfs 设计。
嵌入式 Linux 系列 03:从上电到 Shell 的启动链路
- 06/26
- 21:45
理解启动链路,是排查嵌入式 Linux 问题的基础。系统启动失败时,不能只说“板子起不来”,而要能判断卡在 BootROM、Bootloader、Kernel、RootFS 还是 init 阶段。
嵌入式 Linux 系列 02:交叉编译、动态库和部署
- 06/26
- 21:44
嵌入式 Linux 开发绕不开交叉编译。开发机通常是 x86_64,目标板可能是 ARM、AArch64、MIPS 或 RISC-V。代码在开发机上编译,最终要在目标板上运行,这中间最容易出问题的是架构、动态链接器和依赖库。
嵌入式 Linux 系列 01:开发环境、串口和第一块板子
- 06/26
- 21:43
嵌入式 Linux 入门的第一步,不是改内核,也不是写驱动,而是把开发环境搭起来,把板子稳定连上,把启动日志完整拿到。只要这一步不扎实,后面遇到启动失败、网络不通、应用跑不起来时,就会缺少最基本的排查入口。
嵌入式 Linux 从入门到开发:一条可落地的实践路线
- 06/26
- 21:36
学习嵌入式 Linux 最容易遇到的问题,不是资料太少,而是资料太散。今天看驱动,明天看 Buildroot,后天又去研究 U-Boot,结果每个概念都知道一点,但真正拿到一块板子时,还是不知道从哪里开始开发。
更合理的方式,是按真实项目的开发链路学习:先能把系统跑起来,再能改 rootfs,再能开发应用,最后再深入内核和驱动。
在精简 Linux RootFS 中动态设置时区
- 06/26
- 21:15
精简 Linux 系统里的时区问题经常被低估。桌面发行版通常有 systemd、timedatectl、完整 tzdata 和图形化配置,但嵌入式 rootfs 里可能只有 BusyBox、少量动态库和几个启动脚本。更常见的情况是 /etc/localtime 位于只读 rootfs 中,运行时不能直接替换;设备还需要通过 MQTT 接收其他设备下发的时区修改协议,并且重启后不能丢失配置。
Linux 网络排障入门:从连通性到端口和抓包
- 06/22
- 18:34