在讲述详细的开发环境搭建之前,先大概讲讲本文介绍了哪些内容

        首先,我们是在Windows下通过VMware运行虚拟机Ubuntu来运行主机端的Linux,然后再通过串口线连接电脑和Linux开发板

        那么就会产生问题:

                1.如何将Windows中的文件导入Ubuntu?

                2.如何让Ubuntu和Linux开发板能进行文件间的共享传输?

         简单来说,就是让Window和Ubuntu共享文件,让Ubuntu和Linux开发板共享文件。因为Windows和Linux操作系统不一样,所以要在Ubuntu中搭建交叉编译环境,而不是直接让两个环境进行传输。

        接下来介绍具体步骤,简单部分不细讲

一、VMware中创建虚拟机Ubuntu

        (1).在Windows下,新建一个20GB以上的磁盘分区

                        具体自行百度

        (2).在VMware中新建一个虚拟机

                        具体自行百度

        (3).打开Ubuntu官网连接,下载Ubuntu2022的驱动文件

                        Ubuntu系统下载 | Ubuntu

        (4).使用下载好的驱动文件

                        完成后,打开虚拟机,进入Ubuntu安装引导界面

                

                         具体安装教程,可自行百度,附上一个链接http://t.csdn.cn/AFCpM

二、 在Ubuntu中搭建交叉编辑环境

        (1).下载解压Linaro公司基于GCC推出的ARM交叉编译工具压缩包

                问题来了,为什么要下载这个东西呢?Ubuntu里不是自带gcc编译器么?

                答案是Ubuntu里的gcc编译器和Linux开发板上的编译环境不一样,而且Ubuntu里的gcc编译器一次还就只能编译一个文件,不能批量编译,因此需要下载别的编译工具。

     下载交叉编译压缩包的方法有两种:

        第一种是在Windows下载,通过开启共享文件夹的方式,再在Ubuntu中将其复制出来

        第二种是直接在Ubuntu中打开浏览器输入网址下载(需要更换Ubuntu下载源,否则下载速度会很慢)

     第一种方法:

          1.在Windows下,打开网址Linaro Releases        选择64位的编译工具压缩包下载

         2.VM左上角点击虚拟机-设置-选项-共享文件夹-总是启用-添加。

                如果“总是启用”是灰色的,先把虚拟机关机在点击设置

         

新建文件夹时,请不要使用中文路径,这很重要,其他随意,下一步即可

         3.在终端下操作,使Ubuntu可以访问该共享文件

           3.1 安装open-vm-tools

                 命令为:sudo apt install open-vm-tools*

           3.2 查看设置的共享文件有没有在Ubuntu里显示

                命令为:vmware-hgfsclient

           3.3 创建文件挂载目录/mnt/hgfs

                命令为:sudo mkdir /mnt/hgfs

           3.4 将共享文件挂载到目录/mnt/hgfs

                命令为:sudo /usr/bin/vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other

                (./host后面跟着的是共享文件夹名字,但我们建立不止一个共享文件夹,每次都要重新挂载未免太麻烦,直接不写具体的文件夹名字,让整个目录里的所有共享文件夹一起挂载就行了)

           3.5 设置开机自动挂载

                打开配置文件

                命令为:vim /etc/fstab

                在配置文件最底下输入语句

                语句为:.host:/ /mnt/hgfs fuse.vmhgfs-fuse allow_other,defaults 0 0

        4.进入/mnt/hgfs,输入ls查看是否存在目录,UShare2是我从上面步骤一路新建的

            

         5.将Windows中下载好的压缩包放到共享文件夹里,再从Ubuntu中进入该文件夹,查看该压缩包,先别急着解压,解压操作后续进行

                

  

       第二种方法:

                1.打开火狐浏览器

                2.输入网址Linaro Releases

                3.下载64位压缩包

        (2).解压交叉编辑工具压缩包

        1.解压压缩包

               命令1:mkdir -p /usr/local/arm                             //交叉编译器安装目录

               命令2:cp 压缩包名字   /usr/local/arm                 //在压缩包目录下执行,复制一份到创建的目录下

               命令3:cd /usr/local/arm                                      //进入创建的目录

               命令4:sudo tar xvf 压缩包名字                           //解压

               命令5(选做):sudo mv 解压后文件名字   新的名字        //重命名解压后的文件

            

            我解压后重命名的文件如下,下列步骤以cross-4.9.4代替“解压后文件”

                

        2.进入cross-4.9.4/bin 目录下

            

        3.在环境变量PATH中添加路径

                命令:export PATH=$PATH:/usr/local/arm/cross-4.9.4/bin

        4.使用arm-linux-gnueabihf-gcc命令查看编译工具版本信息,可以在/cross-4.9.4/bin文件夹中(上面图)找到对应的可执行文件

                命令:arm-linux-gnueabihf-gcc  -v

                运行效果如下。第一次执行该命令会提示要下载,执行提示的下载语句,再次运行该命令即可。

                

三、配置NFS文件共享系统

        为什么要配置NFS?NFS有啥用?

        首先,让Ubuntu可以访问Windows中的文件可以通过共享文件夹的方式,那让Windows访问Ubuntu中的文件呢?那就需要配置Samba服务器,感兴趣可自行百度。那让Linux开发板访问Ubuntu中的文件呢?那就需要配置NFS了。

        NFS就是用于Linux和Linux之间的共享文件,Samba用于Linux和Windows的共享文件,Samba也可以用于Linux和Linux,不过NFS更好,所以要配置NFS

                                        NFS的配置文件在/etc/exports

        1.NFS安装前的准备

                新建一个用于NFS文件共享的文件夹

                命令1:sudo mkdir /home/nfs

                命令2:sudo chmod 777 /home/nfs

        2.安装NFS

                命令:sudo apt-get  install nfs-kernel-server

        3.配置exports文件

                命令1:sudo gedit /etc/exports

                在打开的文件最底下添加:

                        /home/nfs *(rw,sync,no_root_squash)

        4.重启portmap

                portmap在目录/etc/init.d/下,那么你可能会好奇了,怎么找不到portmap文件呢?因为Ubuntu2022中rpcbind已经更名取代了portmap,两者是一样的。所以重启rpcbind就行了

                命令:sudo /etc/init.d/rpcbind restart

        5.重启NFS服务

                命令:sudo /etc/init.d/nfs-kernel-server restart

        6.显示共享出的目录

                命令:showmount -e

                效果如下:

                

        至此,完成在虚拟机上面搭建嵌入式交叉编译环境

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐