嵌入式开发第一步:在VMware里为Ubuntu 22.04.3 LTS做好这些基础配置(含root、换源、免密登录预配置)
嵌入式开发环境搭建Ubuntu 22.04 LTS基础配置全指南作为一名嵌入式开发者最痛苦的事情莫过于在项目启动阶段花费大量时间搭建开发环境。本文将带你快速完成Ubuntu 22.04 LTS的基础配置为后续嵌入式开发铺平道路。不同于普通桌面用户嵌入式开发者需要特别关注系统权限管理、软件安装效率和远程开发支持等关键环节。1. 虚拟机环境准备与Ubuntu安装在开始嵌入式开发前选择合适的虚拟化平台至关重要。VMware Workstation Pro提供了最完善的虚拟化功能特别适合需要频繁创建快照的开发场景。以下是创建虚拟机时的几个关键配置点处理器分配建议至少分配2个核心4个更佳。嵌入式编译过程对CPU资源消耗较大内存配置8GB是基础配置如果主机内存充足12-16GB能显著提升编译效率磁盘空间50GB起步建议选择立即分配所有磁盘空间选项以获得更好的I/O性能网络模式开发初期使用NAT即可后期需要设备调试时可切换为桥接模式提示安装Ubuntu时选择最小安装选项避免不必要的软件占用系统资源。嵌入式开发环境需要保持精简高效。安装完成后首先执行系统更新sudo apt update sudo apt upgrade -y2. 权限体系配置Root账户的科学使用嵌入式开发中很多操作需要root权限但直接使用root账户存在风险。我们推荐采用以下权限管理策略2.1 启用Root账户但限制直接登录sudo passwd root # 设置root密码 sudo nano /etc/ssh/sshd_config # 修改PermitRootLogin为no2.2 配置sudo免密码开发环境专用echo $USER ALL(ALL) NOPASSWD:ALL | sudo tee /etc/sudoers.d/$USER2.3 常用开发工具权限配置工具类型推荐权限方案适用场景调试工具配置sudo别名经常需要root权限的调试命令编译工具普通用户权限常规项目编译烧录工具特定用户组需要访问硬件的烧录操作3. 软件源优化与开发环境加速国内开发者面临的最大挑战之一是软件安装速度。我们不仅需要更换镜像源还要优化整个软件管理策略。3.1 清华源配置全流程sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak sudo sed -i s/archive.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list sudo sed -i s/security.ubuntu.com/mirrors.tuna.tsinghua.edu.cn/g /etc/apt/sources.list3.2 开发专用PPA源添加sudo add-apt-repository ppa:ubuntu-toolchain-r/test # GCC工具链 sudo add-apt-repository ppa:git-core/ppa # 最新Git版本3.3 常用嵌入式开发工具一键安装sudo apt install -y build-essential git cmake \ gcc-arm-none-eabi binutils-arm-none-eabi \ libnewlib-arm-none-eabi gdb-multiarch4. 远程开发环境预配置现代嵌入式开发越来越依赖远程工作流提前配置好这些环境能节省大量后期时间。4.1 SSH服务优化配置sudo apt install -y openssh-server sudo systemctl enable ssh sudo nano /etc/ssh/sshd_config # 修改以下参数 # Port 2222 # PermitRootLogin no # PasswordAuthentication no4.2 密钥对认证设置ssh-keygen -t ed25519 # 生成更安全的密钥对 ssh-copy-id userhost # 将公钥复制到目标主机4.3 开发机常用服务配置服务名称配置命令用途说明NFSsudo apt install nfs-kernel-server文件共享TFTPsudo apt install tftpd-hpa固件传输Sambasudo apt install sambaWindows文件共享5. 开发环境性能调优嵌入式开发对系统响应速度有较高要求特别是在大型项目编译时。以下是几个关键优化点5.1 交换空间优化sudo fallocate -l 4G /swapfile # 创建交换文件 sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile echo /swapfile none swap sw 0 0 | sudo tee -a /etc/fstab5.2 文件系统监控优化echo fs.inotify.max_user_watches524288 | sudo tee -a /etc/sysctl.conf sudo sysctl -p5.3 编译缓存配置sudo apt install -y ccache echo export PATH/usr/lib/ccache:$PATH ~/.bashrc在实际项目中我发现合理配置ccache可以将二次编译时间缩短70%以上。特别是在持续集成环境中这能显著提升开发效率。另一个容易被忽视的细节是定期清理旧内核和缓存包sudo apt autoremove --purge sudo apt clean对于长期运行的开发机建议设置每周自动执行这些清理任务。