开发主机环境搭建
本节详细介绍如何在Windows系统上利用VMware安装一台Ubuntu系统(以Ubuntu 22为例展示)的虚拟机(安装VMware虚拟机、为虚拟机安装Ubuntu系统、更新软件源、安装工具包软件包、设置共享文件夹,中文设置等)。
1. 下载Ubuntu镜像文件
1- 进入镜像网站:Ubuntu 22.04 下载地址下翻网页至如图所示的部分,点击图中所示位置下载Ubuntu22.04。
2- 点击下载后,会进入如图所示的界面,等待倒计时结束自动下载。
2. 安装VMware
什么是VMware Workstation:VMware Workstation是一款由VMware公司开发的桌面虚拟化软件,允许用户在单一的物理计算机上同时运行多个操作系统。它提供了一种安全、封闭的环境来测试、开发、演示和部署软件。
下载链接: VMware-workstation-full-17.6.1.zip
1- 双击安装,点击下一步
2- 勾选接受协议后,点击下一步
3- 选择安装位置,勾选添加到系统PATH,点击下一步
4- 点击下一步
5- 点击下一步
6- 点击安装,点击完成,就完成安装了
3. 运行ubuntu系统
1- 下载完成后,有一个名为 Ubuntu_22.04_VM.7z 的文件,解压后获得如图两个文件
2- 打开已安装好的 VMware 虚拟机,点击左上角 ”文件“ → ”打开“ 。
3- 找到之前解压的 ubuntu 系统文件,选择 .vmx 文件,然后打开。
4- 根据电脑性能来调节内存和处理器,如果电脑性能不高,使用默认的即可。
5- 设置完成后,点击开启此虚拟机,启动ubuntu。
6- 点击开启虚拟机后会弹出以下信息,选择我已复制该虚拟机,等待系统启动。
7- 启动完成后,按回车(Enter)键,输入密码 ,密码默认:ubuntu;按回车键进入系统。
8- 显示如图界面,ubuntu系统启动完成。
4. 配置系统环境
4.1 更新软件源
1- 进入ubuntu系统后,首先需要换源,原本的软件源是国外的,我们需要换成国内,否则很多依赖无法下载。
2- 选择 “Ubuntu Software” ,点击箭头②标注位置,选择 “Other...”
3- 如图顺序选择,“China” → “阿里源”(也可自行选择其他源)。确认选择之后,需要输入密码,密码默认:ubuntu。
4- 显示阿里源,点击 “Close” 关闭。
5- 最后会跳出如图所示界面,点击 “Reload” 重新加载,等待刷新完成即可。
4.2 复制粘贴主机内容
当前下载的ubuntu镜像文件,无法复制粘贴主机内容,执行以下命令,等待重启后,即可复制粘贴主机内容。
sudo apt update
sudo apt install open-vm-tools open-vm-tools-desktop -y
sudo reboot
4.3 安装基础的工具包和软件包
1- 打开终端:桌面右击,点击 Open in Terminal 打开终端
2- 在终端执行如下命令,安装常用工具包和软件包
# 更新软件包列表,获取最新的软件包信息
sudo apt update -y
# 升级已安装的所有软件包到最新版本
sudo apt upgrade -y
# 安装build-essential,包含了编译软件所需的基本工具,如gcc、g++和make等
sudo apt install build-essential -y
# 安装git版本控制系统,用于代码管理和版本控制
sudo apt install git -y
# 安装网络工具包:
# net-tools:包含ifconfig、netstat等常用网络命令
# curl:用于发送HTTP请求的命令行工具
# wget:用于从网络下载文件的工具
sudo apt install net-tools curl wget -y
# 安装SSH服务器,允许远程安全连接到此服务器
sudo apt install openssh-server -y
#安装vim文本编辑工具
sudo apt install vim -y
5.配置交叉编译链
首先解压交叉编译工具链:arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gz,到 Ubuntu 虚拟机的用户目录下,执行命令:
#解压到用户目录下:
tar -xvzf arm-buildroot-linux-gnueabihf_sdk-buildroot.tar.gz -C ~/
解压完成后,执行以下命令更新交叉编译工具链路径,确保所有工具和库文件指向当前解压路径:
~/arm-buildroot-linux-gnueabihf_sdk-buildroot/relocate-sdk.sh
注意:上述命令只需运行一次,在每次移动工具链目录后,都需要重新执行此命令以更新路径。
然后可运行交叉编译工具链的环境设置脚本,用于为应用开发准备完整的交叉编译环境:
source ~/arm-buildroot-linux-gnueabihf_sdk-buildroot/environment-setup
查看交叉编译工具链是否能正常运行:
user@ubuntu:~$ arm-buildroot-linux-gnueabihf-gcc -v
Using built-in specs.
COLLECT_GCC=/home/kik/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/arm-buildroot-linux-gnueabihf-gcc.br_real
COLLECT_LTO_WRAPPER=/home/kik/arm-buildroot-linux-gnueabihf_sdk-buildroot/bin/../libexec/gcc/arm-buildroot-linux-gnueabihf/12.4.0/lto-wrapper
Target: arm-buildroot-linux-gnueabihf
Configured with: ./configure --prefix=/work/vanxoak/rk3506/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host --sysconfdir=/work/vanxoak/rk3506/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host/etc --enable-static --target=arm-buildroot-linux-gnueabihf --with-sysroot=/work/itrunk/rk3506/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host/arm-buildroot-linux-gnueabihf/sysroot --enable-__cxa_atexit --with-gnu-ld --disable-libssp --disable-multilib --disable-decimal-float --enable-plugins --enable-lto --with-gmp=/work/itrunk/rk3506/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host --with-mpc=/work/itrunk/rk3506/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host --with-mpfr=/work/itrunk/rk3506/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host --with-pkgversion='Buildroot linux-6.1-stan-rkr4.2-1-g5f8a92d2-dirty' --with-bugurl=https://gitlab.com/buildroot.org/buildroot/-/issues --without-zstd --disable-libquadmath --disable-libquadmath-support --enable-tls --enable-threads --without-isl --without-cloog --with-abi=aapcs-linux --with-cpu=cortex-a7 --with-fpu=neon-vfpv4 --with-float=hard --with-mode=arm --enable-languages=c,c++ --with-build-time-tools=/work/itrunk/rk3506/rk3506_linux6.1_sdk/buildroot/output/rockchip_rk3506/host/arm-buildroot-linux-gnueabihf/bin --enable-shared --disable-libgomp
Thread model: posix
Supported LTO compression algorithms: zlib
gcc version 12.4.0 (Buildroot linux-6.1-stan-rkr4.2-1-g5f8a92d2-dirty)
打印上述类似的版本信息,证明工具链已成功安装。每次打开新的 shell 终端,需重新运行交叉编译工具链的环境设置脚本。也可将该命令写入~/.bashrc 文件中,这样每次打开新的 shell 终端会自动设置交叉编译环境。
6. 设置共享文件夹(可选)
6.1 创建共享文件夹
首先在Windows系统中,创建一个文件夹来用作共享文件夹,可以根据自己的需求,找一个盘符空间相对大一点的目录创建。
这里以D:/ubuntu-share目录为例,创建一个no1的目录,用作与ubuntu共享的目录
6.2 VMware设置
1- 虚拟机设置:
VMware控制台左侧点击需要设置共享文件夹的虚拟机,然后点击左侧的编辑虚拟机设置:
2- 点击选项,点击共享文件夹,勾选总是启用,点击添加
3- 添加共享文件夹目录
- 点击下一步
- 设置共享文件夹路径与名称,点击下一步
- 勾选启用此共享,点击完成
4- 点击确定,完成共享文件夹设置
6.3 Ubuntu设置
VMware设置完成之后,进行Ubuntu的设置。开启虚拟机,打开终端。
1- 输入以下命令,显示共享文件夹
ubuntu@ubuntu-2204:~/Desktop$ vmware-hgfsclient
share
2- 创建hgfs目录
ubuntu@ubuntu-2204:~/Desktop$ cd /mnt/
ubuntu@ubuntu-2204:/mnt$ sudo mkdir /mnt/hgfs
ubuntu@ubuntu-2204:/mnt$ ls
hgfs
3- 挂载共享目录
sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o allow_other -o uid=1000 -o gid=1000 -o umask=022
验证是否挂载成功:
- 在Windows文件夹中,创建一个文件
- 虚拟机中,在ubuntu切换进该目录,查看文件,创建成功
ubuntu@ubuntu-2204:/mnt$ cd /mnt/hgfs/share/no1/
ubuntu@ubuntu-2204:/mnt/hgfs/share/no1$ ls
1.txt
4- 设置开机自动挂载
输入以下命令,编辑/etc/fstab文件
sudo vim /etc/fstab
按 i 键进行输入,在最后面,插入挂载命令,按ESC键,: 键后输入wq进行保存
.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,uid=1000,gid=1000,umask=022 0 0
⚠️注:写入该命令时,仔细核对,如若写错,系统启动会崩溃。
5- 重启虚拟机,进入共享文件夹,查看是否挂载成功
ubuntu@ubuntu-2204:~/Desktop$ cd /mnt/hgfs/share/no1/
ubuntu@ubuntu-2204:/mnt/hgfs/share/no1$ ls
1.txt
7. 中文设置(可选)
1- 点击桌面右上角,点击Settings设置
2- 下翻,点击Region & Language,点击Manage Installed Languages下载语言
3- 点击Install下载,输入虚拟机用户密码后开始下载
4- 下载完成后,将汉语拖至第一个,点击Apply System-Wide添加
5- 点击Language打开语言选择
6- 选择Chinese中文,点击Select选择
7- 选择完成后,点击Restart重启会话
8- 会话重启后,需要选择是否修改文件夹名称
⚠️注:建议保留英文名称,中文名称需要额外添加中文输入法后,才能在终端进入以下目录
