第三章:Linux环境搭建——虚拟机安装Ubuntu、配置SSH与VNC、安装必要的开发工具

做芯片验证,Linux是绕不开的战场。我见过不少新人,Windows用得飞起,一到Linux就懵了。其实没那么可怕,今天我就带你一步步把环境搭起来。

3.1 为什么选择虚拟机?

你可能会问:为什么不直接装双系统?我个人习惯用虚拟机,原因很简单——灵活。搞验证的,经常要切换不同OS版本,虚拟机快照一恢复,比重装系统快多了。

我在项目中遇到过这种情况:客户要求用CentOS,但公司统一用Ubuntu。虚拟机里开两个Linux,互不干扰,完美解决。

我的建议:新手先用虚拟机,等熟悉了再考虑物理机安装。别一上来就搞双系统,搞崩了哭都来不及。

3.2 虚拟机安装Ubuntu

我推荐用VMware Workstation,当然VirtualBox也行,免费嘛。下面以VMware为例。

3.2.1 准备工作

  • 下载VMware Workstation(官网或靠谱渠道)
  • 下载Ubuntu 20.04 LTS ISO镜像(LTS版本稳定,适合干活)
  • 确保你的电脑有至少8GB内存、50GB空闲硬盘

3.2.2 创建虚拟机

步骤其实很简单,我快速过一遍:

  1. 打开VMware,点击「创建新的虚拟机」
  2. 选择「典型(推荐)」
  3. 选择「稍后安装操作系统」——嗯,这里要注意,别选错了
  4. 客户机操作系统选「Linux」,版本选「Ubuntu 64位」
  5. 虚拟机名称随便起,位置选个空间大的盘
  6. 磁盘大小建议给40GB以上,选「将虚拟磁盘存储为单个文件」
  7. 点击「自定义硬件」,内存给4GB,处理器给2核
避坑指南:我曾经因为内存只给了2GB,编译一个稍微大点的验证环境直接卡死。做芯片验证,内存就是命,建议至少4GB。

3.2.3 安装Ubuntu系统

启动虚拟机,加载ISO镜像,跟着向导走就行。这里说几个关键点:

  • 语言选中文(当然英文也行,看个人习惯)
  • 安装类型选「清除整个磁盘并安装Ubuntu」——别怕,这只是虚拟磁盘
  • 创建用户时,用户名和密码记好了,后面SSH要用

安装完成后,重启虚拟机。你会看到一个漂亮的Ubuntu桌面。恭喜,你已经迈出了第一步。

3.3 配置SSH

为什么要配SSH?说白了,你不可能每次都打开虚拟机界面操作。远程连接、传文件、跑脚本,SSH是标配。

3.3.1 安装SSH服务

打开终端(Ctrl+Alt+T),输入:

sudo apt update
sudo apt install openssh-server -y

安装完成后,检查服务状态:

sudo systemctl status ssh

看到「active (running)」就对了。

3.3.2 配置静态IP

虚拟机默认是DHCP,IP会变。你想想看,每次连接都要查IP,多麻烦。我习惯设成静态IP。

编辑网络配置文件:

sudo vim /etc/netplan/01-netcfg.yaml

内容参考如下:

network:
  version: 2
  renderer: networkd
  ethernets:
    ens33:
      dhcp4: no
      addresses:
        - 192.168.1.100/24
      gateway4: 192.168.1.1
      nameservers:
        addresses: [8.8.8.8, 114.114.114.114]

应用配置:

sudo netplan apply
小技巧:IP地址别跟公司网络冲突。我一般用192.168.1.x段,x取100以上,不容易撞车。

3.3.3 测试SSH连接

在宿主机(Windows)上打开PowerShell或CMD:

ssh 用户名@192.168.1.100

输入密码,成功登录。嗯,到这里SSH就配好了。

3.4 配置VNC

SSH只能命令行,有时候你想用图形界面怎么办?VNC就是干这个的。

我个人其实很少用VNC,但有些EDA工具必须图形界面。这时候VNC就派上用场了。

3.4.1 安装VNC服务器

sudo apt install tightvncserver -y

启动VNC服务:

vncserver :1

第一次启动会让你设置密码。记住,这个密码是VNC专用的,跟系统密码不一样。

3.4.2 配置VNC启动脚本

为了让VNC显示完整的桌面环境,需要配置启动脚本:

vim ~/.vnc/xstartup

内容如下:

#!/bin/bash
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:Unity"
export XDG_MENU_PREFIX="gnome-flashback-"
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &

给执行权限:

chmod +x ~/.vnc/xstartup

重启VNC服务:

vncserver -kill :1
vncserver :1

3.4.3 客户端连接

在宿主机上安装VNC Viewer(RealVNC或TightVNC都行),输入:

192.168.1.100:1

输入刚才设置的密码,就能看到Ubuntu桌面了。

避坑指南:我曾经在VNC里跑Verdi,结果画面卡成PPT。后来发现是没装显卡驱动。做验证的,VNC只适合轻量操作,重活还是用SSH吧。

3.5 安装必要的开发工具

环境搭好了,工具也得跟上。做芯片验证,下面这几个是吃饭的家伙:

工具 用途 安装命令
gcc/g++ C/C++编译器,编译验证模型 sudo apt install gcc g++ -y
make 项目管理,自动化编译 sudo apt install make -y
git 版本控制,代码管理 sudo apt install git -y
vim 文本编辑器,写代码必备 sudo apt install vim -y

一条命令全搞定:

sudo apt install gcc g++ make git vim -y

3.5.1 验证安装

装完检查一下:

gcc --version
make --version
git --version
vim --version

看到版本号就说明装好了。

我的习惯:装完工具后,我会写个简单的hello.c测试一下。别嫌麻烦,这一步能帮你发现很多隐藏问题。

3.5.2 配置Git

Git装完还得配一下,不然提交代码会报错:

git config --global user.name "你的名字"
git config --global user.email "你的邮箱"

再配个别名,提高效率:

git config --global alias.st status
git config --global alias.ci commit
git config --global alias.br branch

3.5.3 Vim基本配置

Vim默认配置太素了,我一般会加几行:

vim ~/.vimrc

写入:

set nu          " 显示行号
set tabstop=4   " Tab宽度4
set shiftwidth=4
set expandtab   " Tab转空格
syntax on       " 语法高亮

保存退出。再打开Vim,是不是顺眼多了?

3.6 本章小结

到这步,你的Linux开发环境就搭好了。虚拟机里跑着Ubuntu,SSH远程连接,VNC应急备用,gcc/make/git/vim一应俱全。

我记得刚开始做验证时,光搭环境就折腾了两天。现在你跟着这篇文章,一两个小时就能搞定。这就是经验的价值。

下一章,我们会开始写第一个验证脚本。到时候这些工具全都会用上。准备好了吗?