虚拟机安装Ubuntu 18

写在最前:开发时,代码在虚拟机下编译,通过网络文件系统挂载到板子上,开发过程中基本以root用户进行,SSH可以在Windows下直接操作虚拟机(非必须,可以直接在虚拟机中开启终端),Samba服务器用于将SDK的文件和代码共享到PC下编辑(尝试使用共享文件夹编译时会出现各种报错,遂放弃)。

1. 虚拟机安装

主机配置为Windows 10系统,CPU为R5 2600X 6核12线程,内存为16G,VMWARE版本为14,在这个基础上进行安装。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式

选择兼容性版本为Workstation 14,仅支持VMWARE14及以上版本打开,可以根据需求降低兼容性版本。

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_02

这里选择稍后安装操作系统。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_03

选择Linux系统,Ubuntu 64位。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_04

命名虚拟机以及选择保存位置。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_05

根据电脑配置分配CPU。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_06

根据电脑配置分配内存。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌套虚拟化 条件_07

使用桥接网络。

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_08

默认即可。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_09

默认即可。

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_10

现在创建新虚拟磁盘。

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_11

分配磁盘大小,长期使用的话,建议分配大点。

嵌套虚拟化 条件 嵌入式 虚拟化_Ubuntu18_12

完成上面的步骤后,编辑虚拟机设置,CD/DVD处选择Ubuntu 18的镜像文件。

嵌套虚拟化 条件 嵌入式 虚拟化_vim_13

开启虚拟机,语言选择英文,安装Ubuntu。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_14

选择英语。

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_15

选择最小安装,用于开发的话不需要安装太多的软件,有需求也可以选普通安装。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌套虚拟化 条件_16

擦除整个磁盘安装Ubuntu。

嵌套虚拟化 条件 嵌入式 虚拟化_vim_17

确认擦除。

选择时区。

嵌套虚拟化 条件 嵌入式 虚拟化_vim_18

设置用户名以及密码,建议不勾选自动登陆,后续配置root用户登陆。

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_19

进行安装。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_20

安装完成。

2. 常用开发环境配置

①.开启root用户

sudo passwd root 配置root用户密码

su切换到root用户,接下来的步骤均在root用户下进行。

嵌套虚拟化 条件 嵌入式 虚拟化_嵌套虚拟化 条件_21


###②.安装VIM

apt install vim

Vim为一款常用的编辑器。

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_22


###③.安装VMtools

配置完成后,如果不生效,可尝试重启虚拟机。

VMtools为虚拟机与Windows系统交互的软件,安装后可以任意改变虚拟机窗口大小以及虚拟机与Windows系统之间进行复制粘贴。

apt install open-vm-tools   
apt install open-vm-tools-desktop

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_23


嵌套虚拟化 条件 嵌入式 虚拟化_嵌套虚拟化 条件_24

④.设置开机进入root用户

开发时,一般以root用户进行开发,所以配置开机就可以进入root用户。
1).vim /usr/share/lightdm/lightdm.conf.d/50-unity-greeter.conf 在文件末尾添加:

greeter-show-manual-login = true 
all-guest = false

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_25

2).去除gdm登陆用户名检测

vim /etc/pam.d/gdm-autologin(注释下面这行,#表示注释)

#auth required pam_succeed_if.so user != root quiet_successvim /etc/pam.d/gdm-password(注释下面这行,#表示注释)

#auth required pam_succeed_if.so user != root quiet_success

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_26


嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_27


3).修改/root/.profile文件

vim /root/.profile

最后一行 mesg n || true 前添加 tty -s &&tty -s &&mesg n || true

嵌套虚拟化 条件 嵌入式 虚拟化_Ubuntu18_28


4).重启进入ROOT用户

在登陆界面选择未列出,之后用户名输入root进行登陆。

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_29

⑤.配置VIM

vim /etc/vim/vimrc   
根据需求添加下面内容(安装VMtools后可以将下面内容复制粘贴过去):  
set nocompatible"关闭兼容模式
set nu  "显示行号
set mouse=a "启用鼠标   
set autoindent  "自动缩进
set smartindent "智能对其
filetype on "打开文件类型检测
set history=1000"显示最大的历史记录
syntax on   "语法高亮
set ruler   "打开光标的行列位置显示功能
"set nohls  "关闭搜索高亮
set incsearch   "设置搜索时一边输入一边显示效果
set shiftwidth=4"将换行自动缩进设置成4个空格
set softtabstop=4   "设置tab键为4个空格 <真正缩进的长度>
set cursorline  "设置行高亮
set ts=4"设置tab键为4个空格  <一个tab键的长度> 
set showmatch   "括号匹配高亮显示

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_30

⑥.配置网络文件系统

1).安装NFS和rpcbind

apt-get install nfs-toolsapt-get install nfs-kernel-server

apt-get install rpcbind

apt-get install rpm

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_31


嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_32


嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_33


2).创建NFS目录(可自定义)

/root/Workspace/NFS

嵌套虚拟化 条件 嵌入式 虚拟化_vim_34


3).修改配置文件

vi /etc/exports

在文件最后添加

/root/Workspace/NFS *(rw,sync,no_root_squash)

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_35

⑦.配置SSH

配置完成后,如果不生效,可尝试重启虚拟机。

参考链接:

https://jingyan.baidu.com/article/09ea3ede459728c0aede39f1.htmlhttps://baijiahao.baidu.com/s?id=1629438367961850742&wfr=spider&for=pc

安装ssh客户端程序:

apt-get install openssh-client

嵌套虚拟化 条件 嵌入式 虚拟化_vim_36


安装ssh服务端程序:

apt-get install openssh-server

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_37


开启SSH:

service ssh start

开启SSH root登陆:

vim /etc/ssh/sshd_config

添加PermitRootLogin yes

嵌套虚拟化 条件 嵌入式 虚拟化_嵌入式_38


Windows下SSH连接虚拟机:

嵌套虚拟化 条件 嵌入式 虚拟化_Ubuntu18_39

⑧.配置Samba服务器

配置完成后,如果不生效,可尝试重启虚拟机。

参考链接:

https://www.linuxidc.com/Linux/2018-11/155466.htm 配置过程参考上面的链接,添加用户为root,共享文件夹为/root/Workspace

添加SMB用户及密码。

嵌套虚拟化 条件 嵌入式 虚拟化_海思开发_40


修改SMB文件夹以及SMB登陆用户。

[share]   
comment = share folder
browseable = yes   
path = /root/Workspace  
create mask = 0700   
directory mask = 0700  
valid users = root   
force user = root   
force group = root
public = yes   
available = yes  
writable = yes

嵌套虚拟化 条件 嵌入式 虚拟化_嵌套虚拟化 条件_41