Linux 基础环境搭建
背景:嵌入式与 Linux 的关联
嵌入式系统是 “专用计算机系统”,比如智能手机、智能手表、路由器、汽车中控等 —— 这些设备里都有一个小型计算机,只负责特定功能(如手机通话、路由器联网)。而 Linux 是嵌入式开发的核心操作系统,原因很简单:
- 嵌入式设备硬件资源有限(比如智能手环只有几百 MB 内存),Linux 可裁剪、轻量化,能适配不同硬件;
- 嵌入式设备常需稳定运行(比如工业控制器),Linux 稳定性强,且开源可定制,能按需修改代码解决问题。
目前 Linux 在嵌入式领域的应用场景几乎覆盖生活:
- 消费电子:华为 / 小米手机(基于 Linux 的 Android 系统)、小米智能电视、华硕路由器;
- 工业领域:工业自动化控制器、医疗设备(如血糖仪);
- 汽车电子:特斯拉车载系统、宝马中控系统。
系统选择:为什么嵌入式开发用 Linux 而非 Windows?
Windows 虽在桌面端普及,但不适合嵌入式开发,核心差异如下:
对比维度 | Linux | Windows |
---|---|---|
可移植性 | 支持 x86、ARM 等多种硬件架构,可通过修改内核适配不同设备 | 主要适配 x86 架构,对嵌入式常用的 ARM 架构支持差 |
资源占用 | 轻量化,最小可做到几 MB 大小,适合硬件资源有限的设备 | 资源占用高(仅系统就需数 GB 空间),不适合嵌入式 |
开源性 | 完全开源,可获取源代码,按需裁剪 / 定制功能 | 闭源,无法修改核心代码,灵活性低 |
安全性 | 自带访问控制、加密、审计功能,可按需强化安全策略 | 安全性依赖系统更新,闭源导致漏洞难自主修复 |
成本 | 免费,无版权费用 | 需购买授权,嵌入式批量生产时成本高 |
结论:Linux 的 “开源 + 轻量化 + 可移植” 特性,完美匹配嵌入式开发的需求。
Linux 系统基础:内核与发行版
很多人会混淆 “Linux 内核” 和 “Linux 发行版”,简单理解:
- Linux 内核:操作系统的 “核心大脑”,负责管理 CPU、内存、硬盘等硬件资源,是所有 Linux 系统的基础;
- Linux 发行版:内核 + 桌面环境(如 GNOME)+ 软件工具(如浏览器、编译器)+ 文档的集合,比如 Ubuntu、CentOS、RedHat。
常见 Linux 发行版分类:
- 商业维护版:RedHat(企业级,收费,有官方技术支持)、SUSE;
- 社区维护版:Ubuntu(基于 Debian,桌面友好)、Debian(稳定性强,适合服务器)、CentOS(基于 RedHat,免费)。
嵌入式开发推荐 Ubuntu:原因有三 ——① 桌面界面友好,适合新手;② 社区资源多,遇到问题易找到解决方案;③ 对 ROS(机器人操作系统)、自动驾驶相关工具支持好,后期学习无缝衔接。
Ubuntu 版本选择:优先 LTS 版
Ubuntu 的版本发布有固定周期:
- 每 6 个月发布一个普通版(如 21.10、23.10),支持周期仅 9 个月,适合尝鲜;
- 每 2 年发布一个LTS 版(长期支持版)(如 20.04、22.04、24.04),支持周期 5 年,稳定性强,适合开发 / 生产环境。
推荐版本:Ubuntu 22.04 LTS(支持到 2027 年)
- 下载地址:Ubuntu 中国官网(https://cn.ubuntu.com/download/desktop);
- 系统配置要求:双核 2GHz 以上 CPU、4GB 内存、25GB 以上硬盘空间(开发建议预留 50GB 以上,避免后期空间不足)。
虚拟环境:用虚拟机安装 Ubuntu(推荐 VMware/VirtualBox)
如果不想单独装 Linux 系统,可通过虚拟机在 Windows/macOS 上运行 Ubuntu,常见虚拟机软件对比:
虚拟机软件 | 特点 | 适用场景 |
---|---|---|
VMware Workstation | 功能强、性能好,支持更多硬件设备,界面友好 | Windows/macOS,追求稳定性和功能完整性 |
VirtualBox | 免费开源,轻量,基本功能满足需求 | 预算有限,仅需基础虚拟机功能 |
Hyper-V | Windows 自带,无需额外安装 | Windows 专业版 / 企业版用户,追求便捷 |
KVM | Linux 内核自带,性能接近物理机 | 主机已装 Linux 系统,需嵌套虚拟机 |
新手推荐 VMware Workstation Player(免费版),步骤如下:
步骤 1:准备安装文件
从 Ubuntu 官网下载对应版本的 ISO 镜像(如 ubuntu-22.04.4-desktop-amd64.iso),保存到电脑(如 D 盘 “Linux 镜像” 文件夹)。
步骤 2:创建虚拟机
- 打开 VMware,点击 “创建新的虚拟机”,选择 “典型(推荐)”(新手无需复杂配置);
- 选择 “稍后安装操作系统”(避免自动安装导致配置错误),客户机操作系统选择 “Linux”,版本选择 “Ubuntu 64 位”(需确保电脑开启虚拟化功能,否则无 64 位选项 —— 开启方法:开机按 F2/F10 进入 BIOS,找到 Virtualization Technology,设为 Enabled)
- 命名虚拟机(如 “Ubuntu22.04LTS”),选择安装路径(建议非 C 盘,如 D 盘 “VMware 虚拟机” 文件夹);
-
磁盘容量设置:至少 20GB,选择 “将虚拟磁盘拆分成多个文件”(方便移动虚拟机文件),点击 “下一步”;
-
点击 “自定义硬件” 优化配置:
- 内存:设为 4GB(2048MB 不够用,开发建议 4GB 及以上);
- 处理器:设为 2 核(匹配主机 CPU 核心数,避免占用过多资源);
- 移除 “USB 控制器”“打印机”(减少资源占用,避免不必要的驱动问题);
- 新 CD/DVD(SATA):选择 “使用 ISO 映像文件”,浏览到下载的 Ubuntu ISO 文件,点击 “确定”;
- 点击 “完成”,虚拟机创建完成。
步骤 3:安装 Ubuntu 系统
- 选中创建好的虚拟机,点击 “开启此虚拟机”,等待出现 GNU GRUB 界面,按回车选择 “Try or Install Ubuntu”;
- 选择语言:“中文(简体)”,点击 “安装 Ubuntu”;
- 键盘布局:默认 “Chinese”,点击 “继续”;
- 更新和其他软件:选择 “最小安装”(仅装浏览器和基础工具,减少安装时间和空间占用),取消勾选 “安装 Ubuntu 时下载更新”(避免安装过程卡顿,后续手动更新更稳定),点击 “继续”;
- 安装类型:选择 “清除整个磁盘并安装 Ubuntu”(仅清除虚拟机磁盘,不影响主机,放心选择),点击 “现在安装”,弹出确认框点击 “继续”;
- 时区选择:搜索 “Shanghai”,选择后点击 “继续”;
- 创建用户:输入姓名(如 “yq”)、计算机名(如 “yq-machine”)、用户名(如 “yq”)、密码(建议设置简单密码,如 “123456”,开发环境无需复杂密码),选择 “登录时需要密码”,点击 “继续”;
- 等待安装完成(约 10-20 分钟,取决于电脑性能),点击 “现在重启”,重启后输入密码,进入 Ubuntu 系统。
服务器源修改:提升软件下载速度
Ubuntu 默认软件源是 “美国服务器”,国内下载速度慢(常只有几十 KB/s),需修改为国内源(如阿里云、清华、中科大),步骤如下:
步骤 1:打开 “软件和更新”
- 进入ubuntu系统之后点击“setting”,然后点击“about”进行软件源的修改
步骤 2:选择国内源
- 在 “软件和更新” 窗口中,找到 “下载自”,点击下拉框选择 “其他站点”;
步骤 3:手动更新软件
打开终端(快捷键 Ctrl+Alt+T),输入以下命令:
sudo apt update
:更新软件源索引(告诉系统 “哪些软件有更新”);sudo apt upgrade -y
:升级所有已安装软件(y
表示自动确认,无需手动按 Y)。
Linux 网络环境配置(VMware 虚拟机)
虚拟机网络模式主要有桥接模式和NAT 模式,需根据需求选择:
两种网络模式的区别
特性 | 桥接模式(Bridged) | NAT 模式(Network Address Translation) |
---|---|---|
IP 地址 | 虚拟机与物理机在同一网段(如物理机 192.168.5.52,虚拟机 192.168.5.100) | 虚拟机使用虚拟网段(如 192.168.171.x),共享物理机 IP |
网络连通性 | 虚拟机↔物理机、虚拟机↔嵌入式板卡(同一网段设备)、虚拟机↔外网 | 虚拟机↔物理机、虚拟机↔外网;外网无法直接访问虚拟机 |
适用场景 | 开发时连接嵌入式板卡、需要虚拟机作为独立设备 | 简单上网、无需独立 IP 的场景(如日常使用、软件安装) |
桥接模式配置(适合开发场景)
步骤 1:查看物理机网络信息
-
Windows:打开 cmd,输入
ipconfig
,找到当前联网的网卡(如 “以太网” 或 “WLAN”),记录:- IP 地址(如 192.168.5.52);
- 子网掩码(如 255.255.255.0);
- 默认网关(如 192.168.5.254);
- DNS 服务器(如 202.96.128.86);
- 可以将Windows设置为静态ip,将获取到的信息写到如下位置,并保存。
-
Linux:终端输入
ip addr
,查看联网网卡(如wlp2s0
)的信息。
步骤 2:设置 VMware 桥接模式
- 关闭 Ubuntu 虚拟机,打开 VMware,右键虚拟机→“设置”→“网络适配器”;
- 选择 “桥接模式”,在 “已桥接至” 下拉框中选择物理机当前联网的网卡(如 “Realtek PCIe GbE Family Controller”,即以太网网卡);
步骤 3:Ubuntu 设置静态 IP(图形化界面)
启动 Ubuntu,点击右上角网络图标→“有线设置”;
点击 “有线” 下的齿轮图标→“IPv4”;
“IPv4 方法” 选择 “手动”,添加以下信息(与物理机同网段,IP 不能与其他设备冲突):
- 地址:192.168.5.100(示例,需在物理机网段内,如 192.168.5.x);
- 子网掩码:255.255.255.0;
- 网关:192.168.5.254(与物理机网关一致);
- DNS:202.96.128.86(与物理机 DNS 一致,或用 8.8.8.8(谷歌 DNS));
点击 “应用”,关闭窗口。
步骤 4:验证网络
- 测试与物理机连通:
ping 192.168.5.52
(物理机 IP); - 测试外网连通:
ping www.baidu.com
。
NAT 模式配置(适合简单上网)
- 关闭 Ubuntu 虚拟机,在 VMware 中右键虚拟机→“设置”→“网络适配器”;
- 选择 “NAT 模式”(共享主机 IP,无需配置即可上网),点击 “确定”;
- 重启虚拟机,终端输入
ping www.baidu.com
测试联网(出现 “64 bytes from...” 表示联网成功,按 Ctrl+C 停止 ping)。
增强工具:安装 VMware Tools(实现分辨率自适应、复制粘贴)
默认安装的 Ubuntu 在虚拟机中会有两个问题:① 分辨率固定,无法自适应窗口;② 主机和虚拟机之间无法复制粘贴文件 / 文字。解决方法是安装 VMware Tools(或开源的 open-vm-tools)。
方法 1:在线安装(推荐,简单快捷)
打开终端,输入以下命令(一次性安装两个包,覆盖所有功能):sudo apt install open-vm-tools open-vm-tools-desktop
open-vm-tools
:基础工具,支持虚拟机与主机通信;open-vm-tools-desktop
:桌面环境工具,支持分辨率自适应、复制粘贴。
安装完成后,重启虚拟机(终端输入sudo reboot
),重启后即可正常使用。
方法 2:手动安装(在线安装失败时用)
- 关闭 Ubuntu 虚拟机,在 VMware 菜单栏点击 “虚拟机”→“安装 VMware Tools”(若显示 “重新安装” 则直接点击);
- 启动 Ubuntu 虚拟机,此时桌面会出现 “VMware Tools” 光盘图标,双击打开,找到 “VMwareTools-xxx.tar.gz”(xxx 是版本号);
- 右键该压缩包,选择 “提取到...”,选择提取路径(如桌面),点击 “提取”;
- 打开终端;
- 输入
sudo ./vmware-install.pl
,按回车,后续所有提示都按回车(默认配置即可);
- 安装完成后,重启虚拟机(
sudo reboot
)。