对于在Windows上安装虚拟机软件,在虚拟机软件中运行Ubuntu系统这类场景,Ubuntu和Windows文件互传可以使用本地共享的方式。这种共享的方式极大地免除了不同系统文件之间的文件复制和磁盘空间的双重占用。下面笔者将介绍如何使用Vmware虚拟机来实现Ubuntu和Windows文件之间的共享。首先在Vmware中启动Ubuntu系统,然后在Vmware的菜单栏中,选择“设置(S)”,如下图所示:
图 2.2.1 选则“设置(S)”
在弹出的菜单中,选择“选项”,在该界面中,单击“共享文件夹”,在右边界面中选择“总是启用(E)”,如下图所示:
图 2.2.2 启用共享
现在我们需要添加共享的文件夹了。这里我们在Windows的E盘里新建一个名为“share”的文件夹,如下图所示。这个文件夹就是以后我们用来在Windows和Ubuntu系统之间共享文件的地方。当然了,任何一个文件夹都是可以的,读者可以按自己的实际情况选择。
图 2.2.3新建用于共享的文件夹“share”
现在我们单击图中的“添加(A)…”按钮,弹出下图所示界面
图 2.2.4 添加共享的文件夹
直接点击“下一步(N)->”,进入下图所示界面:
图 2.2.5 完成添加
点击“浏览(R)…”,选择我们刚才新建的share文件夹,选择好以后点击确定。上图的名称此处保持默认share,按个人喜好可以修改。点击“下一步(N)->”,进入下图所示界面:
图 2.2.6 点击“完成”按钮
默认勾选“启用此共享”,如果不想该文件夹内的内容被修改,可以勾选只读,此处我们不勾选“只读”,点击“完成”按钮。
现在如果我们需要向Ubuntu系统传文件,就可以直接将该文件复制到share目录就可以了。以后我们需要向Ubuntu系统传递的文件就都放在share文件夹下。那Ubuntu如何访问share文件夹呢?该文件夹在Ubuntu系统中对应的是/mnt/hgfs/share/目录,我们在终端中输入命令:
$ll /mnt/hgfs/share/
如下图所示:可以看到该文件夹为空。如果需要从Ubuntu系统向Windows传递文件,可以用cp命令或mv命令文件到该目录。
图 2.2.7 共享文件夹对应的 Ubuntu 目录/mnt/hgfs/share/
在前面小姐安装VmwareTools中我们还启用了拖曳和复制功能,可以用鼠标直接将文件或文件夹从Windows拖到Ubuntu或从Ubuntu拖到Windows中。复制功能则可用于在Ubuntu和Windows中共享粘贴板。
TFTP作为一种简单的文件传输协议,在嵌入式开发中会经常使用到,而且后面我们在安装Petalinux工具时也会提示需要tftp服务,所以我们需要在 Ubuntu 上搭建TFTP服务器。需要安装tftp-hpa(客户端软件包,如果不用可不装)和tftpd-hpa软件包,命令如下:
$ sudo apt install tftp-hpa tftpd-hpa
TFTP需要一个文件夹来存放文件,我们在根目录下新建一个/tftpboot目录作为TFTP文件存储目录,之所以使用该目录是因为后面使用的Petalinux工具默认使用该目录,省得我们每次建Petalinux工程的时候手动修改。创建/tftpboot目录命令如下:
$ sudo mkdir -p /tftpboot
$ sudo chmod 777 /tftpboot
这样就在电脑上创建了一个名为 tftpboot的目录(文件夹),路径为/tftpboot。需要注意的是我们要给tftpboot文件夹权限,否则的话后面在使用过程中会遇到问题,所以使用了chmod 777命令。
最后配置tftp。使用chmod 666命令将/etc/default/tftpd-hpa文件属性改为可读可写,
$ sudo chmod 666 /etc/default/tftpd-hpa
打开/etc/default/tftpd-hpa文件,将其内容修改如下:
$ vi /etc/default/tftpd-hpa
示例代码/etc/default/tftpd-hpa文件内容
1 # /etc/default/tftpd-hpa
3 TFTP_USERNAME="tftp"
4 TFTP_DIRECTORY="/tftpboot"
5 TFTP_ADDRESS=":69"
6 TFTP_OPTIONS="-l -c -s"
TFTP_DIRECTORY就是我们上面创建的/tftpboot文件夹目录,以后我们就将所有需要通过TFTP传输的文件都放到该文件夹里面。
最后输入如下命令,重启tftp服务器:
$ sudo service tftpd-hpa restart
至此,tftp服务器就已经搭建好了。