【嵌入式 Linux 实战 1】Ubuntu 环境搭建 + 目录结构详解:嵌入式开发入门第一步
大家好,我是学嵌入式的小杨同学。嵌入式开发离不开 Linux 环境 —— 无论是驱动开发、交叉编译,还是程序调试,Linux 系统的稳定性和开源特性都使其成为首选。今天就结合资料,先带大家搞定 Ubuntu 系统的环境搭建,再吃透 Linux 的目录结构和路径规则,为后续嵌入式开发打下基础。
一、先搞懂:为什么嵌入式开发首选 Linux?
在开始搭建环境前,先明确 Linux 的核心优势,理解 “为什么嵌入式开发离不开它”:
二、Ubuntu 20.04 环境搭建(重点步骤)
嵌入式开发中,Ubuntu 是最常用的桌面版 Linux 系统,以下是基于 Ubuntu 20.04 的完整搭建流程:
1. 系统镜像下载
- 下载地址:Ubuntu 20.04 官方镜像
- 推荐版本:ubuntu-20.04.6-desktop-amd64.iso(64 位桌面版,长期支持 LTS 版本,稳定性强)
- 下载方式:支持直接下载、BitTorrent 下载,根据网络情况选择即可。
2. 安装方式选择
(1)虚拟机安装(新手首选)
- 工具:VMware Workstation、VirtualBox 等;
- 核心步骤:
- 新建虚拟机,选择 “典型安装”,导入下载的 Ubuntu 镜像;
- 配置虚拟机内存(建议≥2GB)、硬盘(建议≥20GB)、网络适配器(默认 NAT 模式即可上网);
- 启动虚拟机,按照向导完成系统安装(设置用户名、密码、时区等);
- 安装完成后,安装 VMware Tools(增强鼠标、文件共享等功能)。
(2)物理机安装(进阶用户)
- 适合场景:需要更好的性能,或开发板需直接与物理机连接;
- 注意事项:需提前备份物理机数据,通过 U 盘启动盘安装,分区时建议单独划分/home目录(存储用户数据)。
3. 网络问题排查(嵌入式开发必备)
虚拟机联网是嵌入式开发的基础(如在线安装工具、开发板网络通信),常见问题及解决:
(1)无网络适配器(缺失 VMnet0)
- 问题现象:虚拟机无网络连接选项,提示 “没有未桥接的主机网络适配器”;
- 解决步骤:
- 打开 VMware 的 “虚拟网络编辑器”;
- 点击 “添加网络”,新建 VMnet0(桥接模式);
- 选择桥接至主机的物理网卡(如 WiFi、有线网卡),应用设置后重启虚拟机。
(2)能识别适配器但无法上网
- 解决步骤:
- 断开虚拟机网络连接,重新连接;
- 若仍无效,执行命令重置网络服务:
bash
sudo service NetworkManager stop # 停止网络服务
sudo rm /var/lib/NetworkManager/NetworkManager.state # 删除网络状态文件
sudo service NetworkManager start # 重启网络服务
(3)网络图标空心(无法桥接)
- 解决步骤:
- 打开 “虚拟网络编辑器”,确认桥接的主机网卡正确;
- 在虚拟机右下角右键点击 “网络适配器”,选择 “设置”,重新指定桥接模式对应的物理网卡;
- 断开并重新连接网络。
4. 基础配置(更新源 + 必备工具)
安装完成后,需配置系统以适配嵌入式开发:
(1)更换国内源(加速软件安装)
- 问题:默认国外源下载速度慢,易超时;
- 操作:
- 打开 “软件和更新”,选择 “下载自”→“其他站点”;
- 选择国内镜像源(如阿里云、清华大学源),点击 “选择服务器”;
- 执行命令更新源列表:
bash
sudo apt-get update
(2)安装必备工具
bash
运行
# 安装网络工具(ifconfig等)
sudo apt install net-tools
# 安装编译工具(gcc、make等)
sudo apt install build-essential
# 安装文本编辑器(vim)
sudo apt install vim
# 安装文件压缩工具
sudo apt install unzip zip
三、Linux 核心:目录结构与路径规则
Linux 的目录结构是 “树状结构”,最顶层为根目录(/),所有文件和目录都挂载在根目录下,嵌入式开发必须熟悉关键目录的作用。
1. 核心目录详解(嵌入式开发高频使用)
| / | 根目录,所有目录的顶层 | 所有文件和目录的起点 |
| /boot | 系统启动文件(Grub 引导器、内核镜像) | 嵌入式内核编译后需放入类似目录 |
| /dev | 设备文件(如串口/dev/ttyUSB0、硬盘/dev/sda) | 开发板通过 USB 转串口连接后,在此目录识别设备 |
| /home/用户名 | 普通用户的主目录 | 存储嵌入式项目代码、工具链 |
| /bin | 系统命令(如ls、cd) | 嵌入式交叉编译工具可放入此目录(或/usr/bin) |
| /etc | 系统配置文件(网络、用户配置) | 配置 SSH、网络参数,方便开发板远程连接 |
| /usr | 应用程序目录(/usr/bin存放用户命令,/usr/lib存放库文件) | 安装交叉编译工具链、开发软件(如 VSCode) |
| /mnt | 临时挂载目录 | 挂载 U 盘、开发板的文件系统(如 NFS 挂载) |
| /var | 动态数据目录(日志、临时文件) | 查看嵌入式程序运行日志、编译日志 |
2. 路径规则(嵌入式开发命令行必备)
Linux 路径分为两种,使用场景不同:
(1)绝对路径
- 定义:以根目录(/)为起点的完整路径,如/home/zcy/project;
- 优势:无论当前在哪个目录,都能准确访问目标文件 / 目录;
- 适用场景:编写脚本、编译配置文件时(避免路径错误)。
(2)相对路径
- 定义:以当前目录为起点的路径,如../project(上一级目录的 project 文件夹);
- 常用符号:
- .:表示当前目录;
- ..:表示上一级目录;
- ~:表示用户主目录(等价于/home/用户名);
- 优势:路径更简洁,适合日常操作(如切换到当前目录下的子目录)。
四、总结:环境搭建核心要点
下一篇博客,我会带大家掌握 Linux 嵌入式开发的高频命令(文件操作、用户管理、权限配置等),以及主函数传参的实战用法,敬请关注!
网硕互联帮助中心



评论前必须登录!
注册