当前位置: 首页 > news >正文

嵌入式开发第一步:在VMware里为Ubuntu 22.04.3 LTS做好这些基础配置(含root、换源)

嵌入式开发环境搭建:Ubuntu 22.04 LTS基础配置全指南

当你刚完成Ubuntu 22.04 LTS的安装,兴奋地准备开始嵌入式Linux开发之旅时,可能会发现系统还远未准备好迎接复杂的交叉编译和内核开发工作。本文将带你完成那些容易被忽略却至关重要的基础配置,为后续开发铺平道路。

1. 为什么嵌入式开发需要特殊配置

与普通桌面使用不同,嵌入式开发对系统环境有着更严格的要求。一个未经优化的Ubuntu系统可能会在后续开发中带来诸多不便:

  • 权限管理复杂:普通用户权限不足,频繁使用sudo影响效率
  • 软件安装缓慢:默认国外源导致工具链下载龟速
  • 开发工具缺失:缺少必要的头文件、库文件和编译环境
  • 远程访问困难:无法通过SSH进行远程调试
  • 文件共享不便:缺乏NFS/TFTP等嵌入式常用服务

提示:嵌入式开发环境一旦配置不当,可能导致后续出现各种难以排查的问题,前期打好基础能节省大量调试时间。

2. root账户配置与管理策略

Ubuntu默认禁用root账户有其安全考虑,但嵌入式开发中合理使用root能显著提升效率。

2.1 启用root账户的正确姿势

# 设置root密码(首次设置) sudo passwd root # 切换到root用户 su -

关键细节

  • 首次设置需要当前用户密码验证
  • 密码输入时无视觉反馈是正常现象
  • 建议设置高强度密码(12位以上,含大小写、数字、符号)

2.2 root使用的最佳实践

使用场景推荐方式风险说明
系统级配置直接root登录操作需谨慎
日常开发sudo临时提权降低误操作风险
自动化脚本配置sudo免密需严格控制权限

实际经验:在嵌入式开发中,我通常保留两个终端窗口 - 一个保持root登录用于系统配置,一个普通用户终端用于日常开发,这样既安全又高效。

3. 软件源优化:速度提升10倍的秘诀

默认软件源在国外,更新速度可能只有几十KB/s。更换国内源后,速度通常可达5-10MB/s。

3.1 国内主流软件源对比

源名称地址同步频率特色服务
清华源mirrors.tuna.tsinghua.edu.cn每6小时提供镜像状态监控
阿里云mirrors.aliyun.com每2小时支持HTTP/HTTPS/RSYNC
华为云mirrors.huaweicloud.com每4小时专线加速

3.2 换源完整操作流程

  1. 备份原有源列表

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  2. 编辑源列表文件

    sudo nano /etc/apt/sources.list
  3. 替换为清华源内容(以Ubuntu 22.04为例):

    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
  4. 更新软件包索引

    sudo apt update && sudo apt upgrade -y

注意:更换源后若出现依赖问题,可尝试sudo apt --fix-broken install修复。

4. 开发必备工具链安装

嵌入式开发需要的基础软件包往往比桌面使用更多样。以下是我在多个项目中总结的必装清单:

4.1 基础编译环境

sudo apt install -y build-essential cmake git
  • build-essential:包含gcc/g++/make等核心工具
  • cmake:现代项目构建工具
  • git:版本控制必备

4.2 嵌入式开发扩展工具

sudo apt install -y libncurses-dev flex bison libssl-dev

这些工具在编译Linux内核和驱动时至关重要:

  • libncurses-dev:menuconfig配置界面依赖
  • flex/bison:语法分析器生成器
  • libssl-dev:加密相关开发库

4.3 调试工具全家桶

sudo apt install -y gdb-multiarch strace ltrace
  • gdb-multiarch:支持多种架构的调试器
  • strace/ltrace:系统调用和库函数跟踪

5. 为远程开发做准备

嵌入式开发往往需要通过SSH远程访问开发主机,提前配置能节省后续时间。

5.1 SSH服务配置

sudo apt install -y openssh-server sudo systemctl enable --now ssh

验证服务状态:

systemctl status ssh

5.2 防火墙设置(如需)

sudo ufw allow 22/tcp sudo ufw enable

5.3 免密登录配置

  1. 生成密钥对(在本地机器)

    ssh-keygen -t ed25519
  2. 复制公钥到开发机

    ssh-copy-id username@your_ubuntu_ip

6. 文件共享服务预配置

嵌入式开发中常用的两种文件共享方式:

6.1 NFS服务配置

sudo apt install -y nfs-kernel-server sudo mkdir -p /nfs/share sudo chmod 777 /nfs/share

编辑/etc/exports添加:

/nfs/share *(rw,sync,no_subtree_check)

启动服务:

sudo exportfs -a sudo systemctl restart nfs-kernel-server

6.2 TFTP服务配置

sudo apt install -y tftpd-hpa

编辑/etc/default/tftpd-hpa:

TFTP_DIRECTORY="/srv/tftp" TFTP_OPTIONS="--secure --create"

创建目录并设置权限:

sudo mkdir -p /srv/tftp sudo chmod -R 777 /srv/tftp sudo systemctl restart tftpd-hpa

7. 虚拟机专属优化技巧

在VMware中运行Ubuntu进行嵌入式开发时,这些优化能显著提升体验:

7.1 剪贴板共享问题解决

sudo apt-get install -y open-vm-tools open-vm-tools-desktop

7.2 性能优化配置

  1. 启用3D加速(VMware设置→显示器→加速3D图形)
  2. 分配足够内存(嵌入式开发建议≥8GB)
  3. 处理器核心数(建议≥4核)
  4. 磁盘空间(建议≥50GB)

7.3 网络模式选择

模式适用场景优缺点
NAT简单上网需求配置简单,但外部无法访问
桥接需要固定IP如同独立设备,但可能需手动配置
主机仅主机通信隔离性好,性能最佳

在多个嵌入式项目中,我发现桥接模式最适合开发板与主机通信的场景,可以避免NAT带来的各种网络问题。

http://www.jsqmd.com/news/714582/

相关文章:

  • 2026年永辉超市卡回收新趋势 - 京顺回收
  • 2026年测量精度怎么看,3家振动传感供应商对比 - 速递信息
  • 课程名称-传统-好人-的思维误区与搞钱逻辑---
  • 【VS Code 1.89+ MCP生态适配白皮书】:微软官方未公开的4项API弃用预警与平滑迁移路径
  • 课程名称-互联网行业裁员现象深度解析--
  • 【仅限首批200名读者】Docker+WASM边缘集群灰度发布SOP文档泄露:含5类Error Code对照表与自动诊断Shell脚本
  • 钣金设计加工工厂10名SolidWorks工程师如何共享一台服务器
  • 别再花钱买NVR了!用iSpy+旧电脑搭建家庭监控中心,保姆级避坑指南
  • 如何在Windows上直接安装APK文件?APK Installer完整指南
  • 联塑打造高品质PP-R家装给水管系列产品,家装管道哪家好 - 资讯焦点
  • 2026年新疆一体化污水处理设备与地埋式污水处理方案深度横评 - 年度推荐企业名录
  • 课程名称-经济下行期的三大商业机会----
  • ArcGIS 10.5保姆级安装与激活指南(含License Manager配置避坑)
  • 3个方法 + XPath智能定位 + 让DOM元素选择不再头疼
  • debian MEDIATEK Corp. Device 7925 无线网卡驱动安装
  • 销售岗位想知道AI能不能帮自己提升客户分析效率,怎么学?
  • Vite项目打包后,老板的旧电脑打不开页面?手把手教你用@vitejs/plugin-legacy搞定兼容
  • 流水线适配优选!2026灌胶机厂家推荐排行 智能联动榜单 汽车电子/新能源电池流水线企业适配 - 极欧测评
  • 课程名称-未来十年职业发展策略----
  • ESP32-CAM接上0.91寸OLED,做个迷你状态监视器(附WiFi连接显示IP完整代码)
  • Hunyuan-MT-7B教程:Pixel Language Portal构建离线可用的多语翻译沙箱
  • 性能工具分布式任务
  • 企业合规师自学 vs 报班:哪个更划算?算一笔时间账
  • 3大核心功能:ChanlunX缠论插件让技术分析自动化
  • 舆情监测系统实战:从热搜翻车到智能预警,我总结了这些经验
  • 语义分割入门:用FCN在自定义数据集上训练你的第一个分割模型(附PASCAL VOC数据预处理教程)
  • 2026年昆明代理记账与工商变更全链路一站式服务深度横评 - 优质企业观察收录
  • 国产麒麟系统上跑Redis,从下载到配置成系统服务,保姆级避坑指南(openKylin 1.0.1实测)
  • 从图优化到终生建图:2D激光SLAM地图更新策略梳理
  • 课程名称-职业发展与行业选择分析--