2. 开发环境准备:安装Ubuntu虚拟机、配置国内软件源、安装基础开发工具

嵌入式Linux内核开发与交叉编译环境的搭建,需要一个稳定、可复现的宿主操作系统。本章将指导你完成以下三项核心任务:在宿主机上部署Ubuntu虚拟机、配置高效的国内软件源以加速软件包下载、以及安装内核编译所需的基础开发工具链。这是后续所有内核配置与编译工作的基石。

环境概览:本课程统一使用 Ubuntu 22.04 LTS (Jammy Jellyfish) 作为宿主系统。请确保你的物理机拥有至少 8GB RAM 和 80GB 空闲磁盘空间,以流畅运行虚拟机及后续的内核编译任务。

2.1 安装Ubuntu虚拟机

推荐使用 VMware Workstation Pro 或 Oracle VirtualBox 作为虚拟化平台。以下步骤以VirtualBox为例,因其开源且跨平台兼容性良好。

2.1.1 虚拟机创建步骤

  1. 下载Ubuntu 22.04 LTS镜像:从官方或国内镜像站获取 ubuntu-22.04.3-desktop-amd64.iso。
  2. 新建虚拟机:类型选择 Linux,版本选择 Ubuntu (64-bit)。
  3. 分配内存:建议分配 4096 MB 或更多。
  4. 创建虚拟硬盘:选择 VDI (VirtualBox Disk Image),动态分配,大小设为 50 GB 以上。
  5. 挂载ISO并启动:在存储设置中挂载下载好的ISO文件,启动虚拟机并按提示完成Ubuntu安装。
性能优化提示:在虚拟机设置中,启用 VT-x/AMD-V 硬件虚拟化(系统 -> 处理器 -> 启用嵌套VT-x/AMD-V),并分配至少 2个CPU核心,可显著提升内核编译速度。
Ubuntu虚拟机安装流程 下载ISO镜像 新建虚拟机 分配资源 挂载ISO启动 完成安装与重启

2.2 配置国内软件源

Ubuntu默认的软件源服务器位于国外,下载速度较慢。更换为国内镜像源(如阿里云、清华、中科大)可以大幅提升 apt 包管理器的下载速度,这是提升开发效率的关键一步。

2.2.1 更换源操作步骤

  1. 备份原始源列表:
    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  2. 编辑源列表:
    sudo vim /etc/apt/sources.list
  3. 替换为国内源内容:以阿里云镜像源为例,将文件内容全部替换为以下代码(适用于Ubuntu 22.04):
    deb http://mirrors.aliyun.com/ubuntu/ jammy main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ jammy-security main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ jammy-updates main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ jammy-backports main restricted universe multiverse
    deb http://mirrors.aliyun.com/ubuntu/ jammy-proposed main restricted universe multiverse
  4. 更新软件包列表:
    sudo apt update
版本匹配警告:请务必确认你的Ubuntu版本代号(如22.04为 jammy)。使用错误的版本代号会导致依赖关系损坏。可通过 lsb_release -c 命令查看当前版本代号。
软件源下载速度对比(示意) 默认源 (国外) ~200 KB/s 国内源 (阿里云) ~10 MB/s 速度提升可达 50 倍,显著减少软件包下载等待时间

2.3 安装基础开发工具

内核编译依赖于一系列GNU工具链和版本控制工具。以下表格列出了必须安装的核心软件包及其用途。

软件包名称 用途说明 安装命令
build-essential 包含 gcc、g++、make 等核心编译工具 sudo apt install build-essential -y
git 分布式版本控制系统,用于获取内核源码 sudo apt install git -y
wget 命令行下载工具,用于获取内核压缩包 sudo apt install wget -y
libncurses-dev 提供 menuconfig 图形化配置界面所需的库 sudo apt install libncurses-dev -y
flex & bison 词法分析器和语法分析器,内核解析配置文件的依赖 sudo apt install flex bison -y
openssl & libssl-dev 内核模块签名与加密功能所需 sudo apt install openssl libssl-dev -y
bc 任意精度计算语言,内核编译脚本的依赖 sudo apt install bc -y

2.3.1 一键安装命令

你可以直接执行以下命令,一次性安装上述所有基础工具:

sudo apt update
sudo apt install build-essential git wget libncurses-dev flex bison openssl libssl-dev bc -y
验证安装:安装完成后,运行 gcc --version、git --version、make --version 检查各工具是否安装成功。如果显示版本号,则说明环境准备就绪。
基础开发工具依赖关系 build-essential gcc / g++ make libncurses-dev flex / bison git wget openssl

2.4 环境验证清单

完成上述所有步骤后,请对照以下清单逐项确认,确保环境无遗漏:

  • 虚拟机:Ubuntu 22.04 桌面版正常运行,网络连接正常。
  • 软件源:sudo apt update 执行无报错,且下载速度明显提升。
  • 编译工具链:gcc --version 输出版本信息(如 11.4.0)。
  • 版本控制:git --version 输出版本信息。
  • 配置工具:make menuconfig 命令可以正常启动图形化配置界面(即使当前没有内核源码,命令本身应能找到并报错提示缺少Kconfig文件,而非提示命令未找到)。