第二章 开发环境搭建:Linux虚拟机安装(Ubuntu)、配置SSH与VNC远程访问、安装必要工具链与依赖包

说实话,很多初学者在Buildroot上栽跟头,不是因为Buildroot本身有多难,而是开发环境没搭好。我见过太多人卡在“装完虚拟机不知道下一步干嘛”的阶段。这一章,咱们就把地基打牢。

2.1 为什么选Ubuntu?

Buildroot官方推荐Ubuntu LTS版本,我个人习惯用20.04或22.04。为什么?因为社区支持最全,遇到问题搜一下基本都有答案。你想想看,要是用个冷门发行版,出错了连个问的人都没有,多难受。

核心原则:开发环境越接近主流,踩坑越少。

2.2 安装Ubuntu虚拟机

我用的是VirtualBox,免费、轻量、够用。VMware也行,看个人喜好。这里我以VirtualBox 7.0为例。

2.2.1 下载镜像

去Ubuntu官网下载桌面版ISO。别下服务器版,桌面版自带图形界面,对新手友好。

2.2.2 创建虚拟机

  1. 点击“新建”,名称填“Buildroot-Dev”,类型选Linux,版本选Ubuntu 64-bit。
  2. 内存给4GB以上。我在项目中遇到过内存给太少,编译到一半直接OOM(内存溢出)的情况,那叫一个崩溃。
  3. 硬盘建议40GB,动态分配。Buildroot编译一次大概占用5-10GB,但多个项目并行时空间需求会翻倍。

2.2.3 安装系统

挂载ISO,启动虚拟机,按提示安装。这里有个小技巧:安装时选择“最小安装”,省掉LibreOffice那些用不上的软件包,节省时间。

我的习惯:安装完成后,先执行 sudo apt update && sudo apt upgrade -y,把系统更新到最新。这一步能避免很多依赖版本不匹配的问题。

2.3 配置SSH远程访问

为什么要配SSH?因为后面我们可能用Windows上的VS Code远程连接虚拟机写代码,或者用终端工具(如MobaXterm)操作。说白了,就是让你不用一直盯着虚拟机窗口。

2.3.1 安装SSH服务

sudo apt install openssh-server -y
sudo systemctl enable ssh
sudo systemctl start ssh

检查一下服务状态:

sudo systemctl status ssh

看到“active (running)”就对了。

2.3.2 配置静态IP

虚拟机默认用DHCP,IP会变。每次重启都要查IP,烦不烦?改成静态IP。

编辑Netplan配置文件(Ubuntu 20.04+):

sudo nano /etc/netplan/00-installer-config.yaml

内容参考:

network:
  ethernets:
    enp0s3:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 8.8.4.4]
  version: 2

应用配置:

sudo netplan apply

注意:IP地址要和你宿主机在同一网段。比如宿主机是192.168.1.x,虚拟机就设192.168.1.y。我曾经犯过傻,设了个不同网段,结果SSH死活连不上,折腾了半小时才发现。

2.3.3 测试SSH连接

在宿主机(Windows/Mac)上打开终端:

ssh username@192.168.1.100

输入密码,搞定。

2.4 配置VNC远程桌面

SSH只能命令行,有时候想看图形界面怎么办?VNC上场。

2.4.1 安装VNC服务器

sudo apt install tigervnc-standalone-server tigervnc-common -y

2.4.2 设置VNC密码

vncpasswd

输入两次密码,建议不要超过8位,有些客户端对长密码支持不好。

2.4.3 启动VNC服务

vncserver :1 -geometry 1280x720 -depth 24

:1 表示显示编号,对应端口5901。你可以开多个,比如 :2 对应5902。

2.4.4 客户端连接

用VNC Viewer(RealVNC或TightVNC)连接 192.168.1.100:5901,输入密码即可。

避坑指南:VNC默认启动的是简易窗口管理器(如twm),很难用。建议安装xfce4:sudo apt install xfce4 xfce4-goodies -y,然后修改 ~/.vnc/xstartup 文件,加入 startxfce4 &。重启VNC服务后,界面就漂亮多了。

2.5 安装必要工具链与依赖包

Buildroot编译需要一堆工具。别怕,一条命令全搞定。

2.5.1 基础依赖

sudo apt install -y build-essential git wget cpio unzip rsync bc \
    libncurses5-dev libssl-dev flex bison

解释一下几个关键包:

  • build-essential:包含gcc、g++、make等编译核心工具。
  • libncurses5-dev:提供menuconfig图形配置界面支持。
  • flex、bison:词法分析和语法分析工具,Buildroot内部会用到。

2.5.2 文件系统相关

sudo apt install -y genext2fs mtd-utils u-boot-tools

这些用于生成根文件系统镜像和Bootloader相关操作。

2.5.3 其他实用工具

sudo apt install -y tree htop screen
  • tree:查看目录结构,一目了然。
  • htop:比top更直观的进程监控。
  • screen:终端复用器,编译时断开SSH也不怕。

我的经验:每次装完新系统,我都会跑一遍这个安装命令。别等到编译报错才回头补包,那太浪费时间了。

2.6 验证环境

装完别急着走,验证一下:

gcc --version
make --version
git --version
python3 --version

如果都能正常输出版本号,恭喜你,环境搭好了。

2.7 本章知识体系

下面这张图帮你理清本章的核心逻辑:

开发环境搭建核心流程 安装Ubuntu虚拟机 配置SSH远程访问 配置VNC远程桌面 安装工具链与依赖包 验证环境(gcc/make/git) 图:开发环境搭建的五个关键步骤及其依赖关系

从虚拟机安装开始,到SSH和VNC打通远程访问,最后装上工具链并验证。每一步都是下一步的基础,别跳步。


专注资料整理