嵌入式项目常用 Linux 部署与调试全流程|从 SSH 到 Docker、Conda 环境一篇搞定
在嵌入式开发中,系统环境配置往往比代码更费时间。本教程系统整理了从 SSH 远程连接、代理联网、驱动安装,到 Docker 隔离环境与 Conda 虚拟环境的完整 Linux 部署流程。内容覆盖 Ubuntu 18.04 至 24.04 各版本兼容问题、常见命令排查方法及镜像备份技巧。文中所有命令均可直接执行,适用于 Jetson、Raspberry Pi、Orin Nano、LiteOS 等平台
嵌入式项目常用 Linux 部署与调试全流程
摘要
在嵌入式开发中,系统环境配置往往比代码更费时间。本教程系统整理了从 SSH 远程连接、联网驱动安装,到 Docker 隔离环境与 Conda 虚拟环境的完整 Linux 部署流程。内容覆盖 Ubuntu 18.04 至 24.04 各版本兼容问题、常见命令排查方法及镜像备份技巧。文中所有命令均可直接执行,适用于 Jetson、Raspberry Pi、Orin Nano、LiteOS 等平台。阅读后你将能在任意嵌入式平台上快速构建稳定的开发与调试环境,实现“一键部署”的高效工作流。
一、远程连接设备(SSH / 无界面登录)
1️⃣ 检查是否安装 SSH
which ssh
ps -e | grep sshd
若未安装:
sudo apt update
sudo apt install openssh-client openssh-server
2️⃣ 启动与自启设置
sudo systemctl enable ssh
sudo systemctl start ssh
sudo systemctl status ssh
3️⃣ 登录远程设备
ssh 用户名@IP地址
默认端口为 22,如需更改:
sudo nano /etc/ssh/sshd_config
💡 建议:可在 /etc/hosts 中配置设备别名(如 jetson-nano.local),方便 SSH 免 IP 登录。
二、联网配置( 网卡驱动)
网卡驱动问题
部分 USB 网卡(如腾达 AX300/AX900)需手动安装:
驱动下载:https://www.tenda.com.cn/download
安装示例:
sudo dpkg -i tenda-ax300-linux-driver.deb
sudo modprobe mt7612u
⚠️ 注意:驱动需与当前内核版本匹配,可通过 uname -r 查看。
三、项目下载与版本兼容性
1️⃣ Git 与 LFS 配置
sudo apt install git git-lfs
git lfs install
2️⃣ 常见兼容性问题
| 问题类型 | 示例 | 解决建议 |
|---|---|---|
| OpenCV 版本差异 | Ubuntu 18.04 默认 3.x,22.04 为 4.x | 指定编译版本或使用 Docker |
| GCC 标准冲突 | Ubuntu 22.04 默认 C++17 | 修改 CMakeLists.txt 中标准 |
| PCL / Eigen / Boost 差异 | ABI 不兼容 | 使用 Conda 或 Docker 管理 |
四、Docker 环境构建(推荐)
Docker 可实现完全隔离的编译与运行环境。以下安装流程为官方推荐的 apt 仓库安装,不是Ubuntu 自带的 apt 包,因为自带的通常版本较低:
安装流程

sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get install -y ca-certificates curl gnupg lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-compose-plugin
sudo docker run hello-world
免 sudo 运行
sudo usermod -aG docker $USER
newgrp docker
自定义镜像
docker build -t my_embedded_env .
docker run -it --privileged --network host my_embedded_env
💡 建议:
- 使用
--network host共享主机网络; - 若使用 ROS2,可同步
.bashrc环境变量。
五、Python 环境管理(pip / conda)
1️⃣ pip 常规安装
sudo apt install python3-pip
pip install numpy opencv-python tqdm
2️⃣ Miniconda 安装(推荐)
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
# 创建环境测试
conda create -n embedded python=3.10
conda activate embedded
💡 建议:
不同项目(如 RTAB-Map、SLAM、CV 模型)建立独立虚拟环境,避免冲突。
六、硬件与音频设备查看
| 命令 | 功能说明 |
|---|---|
lsusb |
查看所有 USB 设备 |
aplay -l |
查看声卡设备 |
pavucontrol |
音频设备图形界面 |
dmesg grep usb |
查看驱动加载情况 |
sudo lshw -C network |
查看网络设备状态 |
七、系统排查与调试
| 分类 | 命令 | 用途 |
|---|---|---|
| 系统状态 | uname -a |
查看内核与架构 |
| 服务状态 | systemctl status 服务名 |
查看后台服务 |
| 资源使用 | top / htop |
查看CPU与内存 |
| 日志排查 | dmesg grep -i error |
查看系统错误 |
| 文件内容 | cat 文件 grep keyword |
快速定位配置项 |
⚙️ 常见问题修复
- Docker 无法启动 →
sudo systemctl restart docker - SSH 无法连接 → 检查
ufw status - 无声 →
pulseaudio -k && pulseaudio --start
八、嵌入式调试与镜像备份
1️⃣ 串口调试
sudo apt install minicom
sudo minicom -D /dev/ttyUSB0 -b 115200
2️⃣ 镜像备份与恢复
sudo dd if=/dev/mmcblk0 of=backup.img bs=1M
sudo dd if=backup.img of=/dev/mmcblk0 bs=1M
3️⃣ 权限问题修复
sudo usermod -aG dialout $USER
九、总结:一套可迁移的 Linux 嵌入式工作流
| 模块 | 功能 | 工具推荐 |
|---|---|---|
| 远程连接 | 设备控制 | SSH / NoMachine |
| 网络接入 | 外网访问 | VPN + 驱动 |
| 项目管理 | 源码下载 | Git + LFS |
| 环境隔离 | 系统依赖 | Docker |
| Python依赖 | 包管理 | Miniconda |
| 调试分析 | 驱动与系统状态 | dmesg / systemctl |
| 备份还原 | 系统迁移 | dd / rsync |
💬 写在最后
嵌入式 Linux 的难点不在命令多,而在于版本、依赖、权限、驱动的协调。
一旦熟练掌握以上流程,就能在 Jetson、树莓派、Orin Nano、LiteOS 等平台上快速搭建稳定开发环境。
📌 关注我,获取更多嵌入式 + SLAM + AI 边缘系统优化实战文章。
更多推荐



所有评论(0)