本文档介绍用户如何使用虚拟机镜像,适用于天嵌开发板TQIMX6ULL,TQIMX6Q,TQ335X。
虚拟机软件:VMware worktation 16
虚拟机系统:Ubuntu 16.04
系统用户名:embedsky
系统密码:embedsky
root密码:embedsky
注意:建议初学者请严格按照以下文档路径进行操作,为了保证环境兼容性,请严格按照示例步骤和指令执行。
文档里面的需要下载的镜像路径:
https://pan.baidu.com/s/1w2RuN_1A1KMgZvg3eExv5Q?pwd=s7pm 提取码: s7pm
1.导入虚拟机镜像
1.点击“开始”—“VMware”—“VMware worktation”,启动 VMware worktation
2.点击“文件”—“打开”,选择提供的OVF文件,点击“打开”。
3.输入OVF文件导入后的虚拟机名称,这里输入“embedsky”,选择虚拟机的存放位置,点击“导入”
4.导入OVF文件需要较长的时间,请耐心等待。OVF文件导入后,就可以在虚拟机列表中看到OVF文件转换的虚拟机了。
2.数据盘挂载
由于源码体积较大,为了合理分配磁盘空间,我们采用系统盘与数据盘分开使用的策略。将数据盘挂载在系统盘的根目录/opt下,将源码存放于此。
2.1创建数据盘
1.选择需要添加硬盘(磁盘)的虚拟机,点击:“编辑此虚拟机设置”,进入虚拟机设置对话框对话框。
2.在虚拟机设置对话框选中磁盘。选中硬盘,进入添加硬件向导对话框。
3.在添加硬件向导对话框,选择磁盘类型:SCSI。
4.在添加硬件向导对话框,选择磁盘:创建新虚拟磁盘。
5.在添加硬件向导对话框,指定磁盘容量:100GB。选择将虚拟机磁盘拆分成多个文件。这里创建一个100GB的空间,实际上视实际磁盘空间大小而定,为了保证接下来源码编译顺利,建议大于60GB。
6.在添加硬件向导对话框,指定磁盘文件,就是虚拟机磁盘文件存储位置,本例如下图。并点击:“完成”。软件上默认是虚拟机系统路径下创建磁盘,也可以修改到一个合适的独立的路径进行创建,方便管理。
7.虚拟机硬盘添加完成。
8.设置完成后,进入虚拟机页面,可以看到已经有两个硬盘了。便可启动虚拟机,首次启动时间较长,请耐心等待。
9.登录系统后可以查看,硬盘情况。命令:
lsblk
添加硬盘后,可以看到sdb硬盘信息了。
10.查看目前硬盘挂载情况,使用命令查看硬盘并没有挂载。
df -h
11.查看系统支持的文件类型
ls -l/lib/modules/$(uname -r)/kernel/fs
可以看到支持xfs
12.本例把硬盘格式化为xfs文件类型,命令:
sudo apt install xfsprogs
sudo mkfs.xfs /dev/sdb
13.挂载硬盘到指定目录,本例挂载到:/opt,挂载前请确保/opt路径下为空,否则会挂载失败。输入挂载硬盘命令,然后输入密码embedsky:
sudo mount /dev/sdb /opt
查看挂载结果命令:
df -h
可以看到已经成功创建数据盘并成功挂载:
2.2绑定挂载数据盘
挂载的硬盘没有绑定,开机重启后挂载就会失效,需要手动使用mount命令重新挂载。也可使用本节方法,永久绑定挂载。
注意:此方法可以省去开机手动挂载的步骤,但如果在PC下数据盘文件被修改或被移动,或者数据盘文件异常等情况,将会导致ubuntu桌面系统启动失败,如果出现该种情况,请开机启动时进入shell终端,注释对应文件的挂载指令便可正常开机。
以下介绍绑定挂载的具体步骤:
1.查看硬盘/dev/sdb的分区信息的唯一标识符UUID,命令:
sudo blkid
2.打开文件系统表fstab,命令:
sudo gedit /etc/fstab
3.在文件最后一行,另起新行,添加如下代码:
注意:这里每台设备的UUID都不一样的,实际根据刚刚自己复制的UUID进行设置
UUID=c24e9b02-11c7-4935-b5da-b2c0a98c9c82 /opt/ xfs defaults 0 0
末尾这里可能留有绑定代码,也可取消注释,修改UUID既可。
4.点击“Save”保存文件。
5.重启Ubuntu虚拟机,查看绑定挂载是否设置成功,重启后,输入命令:
df -h
绑定列表中出现/dev/sdb,绑定挂载成功:
3.共享目录挂载
为了便于PC与虚拟机之间的文件互传,可使用VMware虚拟机自带的共享文件夹。要使用此功能,一定要先安装VMware tools,安装完毕一定要重启虚拟机。在提供的虚拟机中已经提前安装好了VMware tools。
1.启动虚拟机 ,右键点击菜单栏的“embedsky” --> “设置”
2.启用共享文件夹,添加要共享的文件夹,这里可以添加相关平台的板级开发包路径,本例为i.mx8mm平台的开发包文件夹:
3.完成后,便可看到共享目录已被添加,点确定:
4.共享目录位于/mnt/hgfs路径下,输入指令便可查看共享文件夹:
ls /mnt/hgfs/
出现共享文件夹,共享成功:
注意:如果开机重启后,此处并没有设置的共享文件夹,请按照如下步骤,重新装载共享文件夹既可。如果还是无效,请彻底关闭VMware虚拟机软件,并重启计算机后重试:
1.启动虚拟机后 ,右键点击菜单栏的“embedsky” --> “设置”
2.先禁用共享文件夹,点击确定保存
3.再重新打开设置菜单,重新启用共享文件夹便可:
4.解压源码
值得注意的是,解压源码前请保证/opt目录下有权限。用户可在根目录下执行以下命令对/opt目录赋予权限。
sudo chown embedsky:embedsky /opt
在编译源码时建议使用root用户进行编译,可以避免编译时的一些错误
sudo su
交叉编译器的位置在/mnt/EmbedSky目录下,在这目录下有两个交叉编译器
gcc-linaro-5.3-2016.02-x86_64_arm-linux-gnueabihf
linaro-4.9
在编译TQIMX6ULL和TQ335X源码时可以使用现在系统已经配置好的交叉编译器,当编译TQIMX6Q源码时,要进行交叉编译器的切换,详细请参考《TQIMX6编译手册》。
4.1 TQIMX6ULL
用户导入镜像文件、挂载磁盘成功后,后续就要解压源码进行编译。请仔细研读《TQIMX6UL(L)平台编译手册》、《TQIMX6UL(L)平台环境搭建手册》。强烈建议按照指定的路径进行解压。不建议用户自行创建解压目录,若用户自行创建解压目录,后续用户要自行配置环境变量。
4.1.1 解压uboot源码
解压uboot源码命令:
tar jxvf TQIMX6ULL_uboot_V3.0.tar.bz2 -C /
源码会被解压到/opt/EmbedSky/TQIMX6ULL/u-boot-2016.03目录下。
4.1.2 解压kernel源码
解压kernel源码命令:
tar jxvf TQIMX6ULL_linux_V3.1.tar.bz2 -C /
源码会被解压到/opt/EmbedSky/TQIMX6ULL/linux-imx-4.1.15目录下。
4.1.3 解压文件系统源码
解压文件系统源码命令:
mkdir -p /opt/EmbedSky/TQIMX6ULL/rootfs #在/opt/EmbedSky/TQIMX6ULL目录下新建一个rootfs文件夹
sudo tar zxvf rootfs_qt5.5_v1.6.tgz -C /opt/EmbedSky/TQIMX6ULL/rootfs #将文件系统源码解压至 rootfs
源码会被解压到/opt/EmbedSky/TQIMX6ULL/rootfs目录下。
注意:因为是用 root 权限解压, 如果解压目录如果不小心选成了根目录。会导致 PC linux 系统崩溃,无法修复, 只能重装!
4.2 TQIMX6Q
用户导入镜像文件、挂载磁盘成功后,后续就要解压源码进行编译。请仔细研读《TQIMX6编译手册》、《TQIMX6环境搭建》。强烈建议按照指定的路径进行解压。不建议用户自行创建解压目录,若用户自行创建解压目录,后续用户要自行配置环境变量。
4.2.1 解压uboot源码
解压uboot源码命令:
tar jxvf TQIMX6_uboot_V3.15.0.tar.bz2 -C /
源码会被解压到/opt/EmbedSky/TQIMX6/uboot-imx目录下。
4.2.2 解压kernel源码
解压kernel源码命令:
tar jxvf TQIMX6_linux_V3.15.0.tar.bz2 -C /
源码会被解压到/opt/EmbedSky/TQIMX6/kernel_imx目录下。
4.2.3 解压文件系统源码
解压文件系统源码命令:
mkdir -p /opt/EmbedSky/TQIMX6/rootfs #在/opt/EmbedSky/TQIMX6目录下新建一个rootfs文件夹
sudo tar zxvf rootfs_qt5_IMX6_for_linux_V3.8.3.tgz -C /opt/EmbedSky/TQIMX6/rootfs #将文件系统源码解压至rootfs
源码会被解压到/opt/EmbedSky/TQIMX6/rootfs目录下。
注意:因为是用 root 权限解压, 如果解压目录如果不小心选成了根目录。会导致 PC linux 系统崩溃,
无法修复, 只能重装!
4.3 TQ335X
用户导入镜像文件、挂载磁盘成功后,后续就要解压源码进行编译。请仔细研读《TQ335X CoreC开发板使用手册》。强烈建议按照指定的路径进行解压。不建议用户自行创建解压目录,若用户自行创建解压目录,后续用户要自行配置环境变量。
4.3.1 解压uboot源码
解压uboot源码命令:
tar jxvf uboot_TQ3358_Nand_V3.7.3.tar.bz2 -C /
源码会被解压到/opt/EmbedSky/TQ335x/uboot_TQ335x_Nand目录下。
4.3.2 解压kernel源码
解压kernel源码命令:
tar jxvf Kernel_3.2_TQ3358_for_Linux_v3.7.tar.bz2 -C /
源码会被解压到/opt/EmbedSky/TQ335x/Kernel_3.2_TQ335X_for_Linux目录下。
4.3.3 解压文件系统源码
解压文件系统源码命令:
mkdir -p /opt/EmbedSky/TQ335x/rootfs #在/opt/EmbedSky/TQ335x目录下新建一个rootfs文件夹
sudo tar zxvf rootfs_general_v1.4.tgz -C /opt/EmbedSky/TQ335x/rootfs #将文件系统源码解压至 rootfs
源码会被解压到/opt/EmbedSky/TQ335x/rootfs目录下。
注意:因为是用 root 权限解压, 如果解压目录如果不小心选成了根目录。会导致 PC linux 系统崩溃,无法修复, 只能重装!
至此,虚拟机环境搭建完成。