嵌入式开发第一步:在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 换源完整操作流程备份原有源列表sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak编辑源列表文件sudo nano /etc/apt/sources.list替换为清华源内容以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更新软件包索引sudo apt update sudo apt upgrade -y注意更换源后若出现依赖问题可尝试sudo apt --fix-broken install修复。4. 开发必备工具链安装嵌入式开发需要的基础软件包往往比桌面使用更多样。以下是我在多个项目中总结的必装清单4.1 基础编译环境sudo apt install -y build-essential cmake gitbuild-essential包含gcc/g/make等核心工具cmake现代项目构建工具git版本控制必备4.2 嵌入式开发扩展工具sudo apt install -y libncurses-dev flex bison libssl-dev这些工具在编译Linux内核和驱动时至关重要libncurses-devmenuconfig配置界面依赖flex/bison语法分析器生成器libssl-dev加密相关开发库4.3 调试工具全家桶sudo apt install -y gdb-multiarch strace ltracegdb-multiarch支持多种架构的调试器strace/ltrace系统调用和库函数跟踪5. 为远程开发做准备嵌入式开发往往需要通过SSH远程访问开发主机提前配置能节省后续时间。5.1 SSH服务配置sudo apt install -y openssh-server sudo systemctl enable --now ssh验证服务状态systemctl status ssh5.2 防火墙设置如需sudo ufw allow 22/tcp sudo ufw enable5.3 免密登录配置生成密钥对在本地机器ssh-keygen -t ed25519复制公钥到开发机ssh-copy-id usernameyour_ubuntu_ip6. 文件共享服务预配置嵌入式开发中常用的两种文件共享方式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-server6.2 TFTP服务配置sudo apt install -y tftpd-hpa编辑/etc/default/tftpd-hpaTFTP_DIRECTORY/srv/tftp TFTP_OPTIONS--secure --create创建目录并设置权限sudo mkdir -p /srv/tftp sudo chmod -R 777 /srv/tftp sudo systemctl restart tftpd-hpa7. 虚拟机专属优化技巧在VMware中运行Ubuntu进行嵌入式开发时这些优化能显著提升体验7.1 剪贴板共享问题解决sudo apt-get install -y open-vm-tools open-vm-tools-desktop7.2 性能优化配置启用3D加速VMware设置→显示器→加速3D图形分配足够内存嵌入式开发建议≥8GB处理器核心数建议≥4核磁盘空间建议≥50GB7.3 网络模式选择模式适用场景优缺点NAT简单上网需求配置简单但外部无法访问桥接需要固定IP如同独立设备但可能需手动配置主机仅主机通信隔离性好性能最佳在多个嵌入式项目中我发现桥接模式最适合开发板与主机通信的场景可以避免NAT带来的各种网络问题。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2562984.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!