嵌入式系統 = 專用硬體 + 專用軟體 + 即時性約束。特徵:功能單一、資源受限 (RAM/Flash)、功耗敏感、高可靠、長生命週期。Linux 以開源、可裁剪、多架構支援、網路協定棧完善、工具鏈成熟,成為嵌入式領域主流選擇。
| 優勢 | 說明 |
|---|---|
| 原始碼開放 | 可任意修改、移植、審計,無授權費用、無廠商鎖定 |
| 高度可配置 | menuconfig 裁剪至 <100KB 核心 (uClinux),模組化載入 |
| 架構支援廣 | ARM, MIPS, PowerPC, x86, RISC-V, ARC, NDS32, Hexagon... |
| 統一裝置模型 | Device Tree (DT) 描述硬體拓撲,驅動與板級分離 |
| 網路協定棧完整 | IPv4/IPv6, TCP/UDP, TLS, MQTT, CoAP, LwM2M, OPC UA |
| 豐富用戶空間 | glibc/musl/uClibc, BusyBox, systemd/procd/OpenRC, Qt/GTK/LVGL |
# 進入配置介面
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig
# 關鍵裁剪方向
# General setup → Kernel .config support → 關閉 (省空間)
# Enable loadable module support → 僅保留必要模組
# Block layer → 僅啟用所需檔案系統 (ext4/squashfs/ubifs/jffs2)
# Device Drivers → 精準選擇 SoC 外設、PMIC、GPIO、I2C/SPI、USB、Ethernet、WiFi、Bluetooth
# Kernel hacking → 關閉 DEBUG_KERNEL, KALLSYMS 等 (釋放記憶體)
# 實時性:啟用 PREEMPT_RT (FULL PREEMPTION) 或 Xenomai/Erika 協處理器方案
| 方案 | 特點 | 適用場景 |
|---|---|---|
| initramfs (cpio.gz) | 核心內嵌、唯讀、啟動極快 | 無磁碟啟動、救援模式、安全啟動驗證 |
| SquashFS + OverlayFS | 壓縮唯讀 + 可寫層、支援 OTA 差分升級 | 量產設備、路由器、IoT 閘道 |
| UBIFS / JFFS2 / YAFFS2 | 原生 NAND/NOR Flash 檔案系統、磨損均衡 | 裸 Flash 儲存設備 |
| ext4 / f2fs | 高效能、支援 Trim、適用 eMMC/SD/USB | 高效能嵌入式板卡、工業電腦 |
/bin, /sbin, /etc, /lib, /usr, /var, /tmp, /proc, /sys, /dev, /mntinit (PID 1)關鍵優化:CONFIG_CMDLINE 固化啟動參數、quiet loglevel=0 抑制列印、systemd-analyze 分析關鍵路徑、systemd-preset 禁用非必要服務。
| 方案 | 架構 | 延遲 | 難度 | 典型應用 |
|---|---|---|---|---|
| PREEMPT_RT (主線) | 核心全搶佔、線程化中斷、優先級繼承鎖 | ~10-50 μs | 中 (配置選項) | 運動控制、機器人、醫療 |
| Xenomai 3 (Cobalt) | 雙核心 (Linux + Cobalt 實時核心)、皮膚層適配 POSIX/VxWorks API | ~1-5 μs | 高 (移植應用) | 硬實時運動控制、電力電子 |
| RTAI | 核心模組插入、硬實時 HAL | ~1-10 μs | 高 (核心版本綁定) | 舊專案維護 |
| 獨立 MCU 協處理 | Cortex-M 獨立執行實時迴路、Linux 負責 HMI/網路/日誌 | ~0.1 μs | 中 (通訊協定設計) | 高性能伺服驅動、多軸協調 |
arm-linux-gnueabihf-gcc (GNU Toolchain), clang (LLVM), gcc-linarogdbserver + gdb-multiarch、VS Code + Cortex-Debug、Eclipse/Qt Creatorftrace, perf, LTTng, kernelshark, trace-cmdsparse, cppcheck, Coverity, Clang Static Analyzer嵌入式 Linux 設計是「在約束中求最優」的系統工程:核心裁剪到剛好支援硬體、根檔案系統精簡到滿足業務、啟動流程優化到達標、實時性方案匹配硬指標。掌握 Yocto/Buildroot 構建系統、Device Tree 硬體描述、PREEMPT_RT 實時核心、OTA 升級架構、安全啟動鏈,是嵌入式 Linux 工程師的核心競爭力。隨著 RISC-V 生態爆發、Edge AI 落地、Software-Defined Vehicle 推進,嵌入式 Linux 將持續擴大版圖。