我使用的虚拟机版本是VMware 15.5 Pro,Ubuntu版本是16.04版本。这里基于Ubuntu16.04搭建基本的嵌入式Linux开发环境。

1. Ubuntu上网配置

Ubuntu上网配置一般有两种方式,NAT(网络地址转换)方式和桥接方式。推荐使用桥接方式,因为后面要实现虚拟机、windows主机和开发板三者之间要互相ping通的话,需要用到桥接方式,使三者的IP地址保持在同一网段。

1.1 NAT方式上网配置

  1. 设置虚拟机为NAT模式上网。虚拟机->设置->硬件->网络适配器,然后选择NAT模式,点击确定即可。
    在这里插入图片描述

  2. 到ubuntu里面去修改网络配置文件,主要是确保IP地址是动态分配的。输入命令:

    sudo vi /etc/network/interfaces
    

    打开配置文件后,输入如下内容(只要保证第4行是dhcp动态分配IP地址即可,下面的那几行都是和静态IP地址相关的,第5行记得注释起来):

    auto lo
    iface lo inet loopback
    
    auto ens33
    iface ens33 inet dhcp
    #iface ens33 inet static
    address 192.168.1.200
    netmask 255.255.255.0
    gateway 192.168.1.1
    
  3. 重启网卡。输入如下命令:

    sudo ifdown ens33	#先关闭网卡(其中ens33是网卡名称,可以通过ifconfig命令知道)
    sudo ifup ens33		#开启网卡
    
  4. ifconfig命令查看是否自动分配了一个IP地址。

  5. 使用 ping www.baidu.com 命令确认是否可以上网。

1.2 桥接方式上网配置

  1. 设置虚拟机为桥接模式上网。虚拟机->设置->硬件->网络适配器,然后选择桥接模式(参考上图),点击确定即可。

  2. 选择桥接模式之后,一定要确保自己桥接到的网卡是windows中可以上网的网卡(因为如果是笔记本电脑的话,windows会有两个网卡,一个无线网卡,一个有线网卡)。具体设置方法如下

    编辑->虚拟机网络编辑器->更改设置,然后选择VMnet0那个网络进行修改,桥接到可以上网的那个网卡,然后点击确定即可。
    在这里插入图片描述

  3. 修改ubuntu里面的网络配置文件,配置成dhcp动态分配IP地址。参考上面的NAT模式上网配置。

  4. 重启网卡。

  5. ifconfig命令查看是否自动分配了一个IP地址。使用桥接方式自动分配的IP地址,一般是和windows主机保持在同一网段的。

  6. 使用 ping www.baidu.com 命令确认是否可以上网。

2. 搭建nfs环境

nfs,即Network File System,也就是网络文件系统的意思。nfs的用处是可以使我们通过网络访问其他设备的文件,比如可以使用Linux开发板通过网络去访问ubuntu的里面的文件。在开发过程中,我们通常会把在ubuntu编译好的驱动文件等,通过nfs传递到Linux开发板上。当然,也可以使用nfs来通过网络加载内核镜像到开发板上。

2.1 ubuntu安装和配置nfs服务

  1. 安装nfs服务

    在ubuntu下输入如下命令:

    sudo apt-get install nfs-kernel-server
    
  2. ubuntu创建nfs共享目录

    我是把共享目录创建在用户目录下的,一般没有规定的位置,不过建议就创建在home目录下即可。输入如下命令:

    sudo mkdir /home/lbh/nfs		#创建nfs目录
    sudo chmod 777 /home/lbh/nfs	#赋予nfs目录最高权限
    
  3. 修改nfs相关配置文件

    打开/etc/exports配置文件

    sudo vi /etc/exports
    

    然后在配置文件最后面添加如下内容:

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

    其中,*表示允许所有的网络段均可访问;rw表示访问权限可读可写;sync表示同步缓存;no_root_squash表示访问者具有root权限。

    修改后的配置文件如下图:
    在这里插入图片描述

  4. 重启nfs服务。输入如下命令:

    sudo /etc/init.d/nfs-kernel-server restart
    
  5. 重启后,可以使用如下命令查看nfs的共享目录在哪

    showmount -e
    

2.2 nfs共享目录挂载到开发板

当ubuntu安装和配置好nfs服务后,就可以通过开发板那nfs的共享目录挂载到开发板中了。

  1. 首先要确保网络环境正常

    开发板和ubuntu、windows主机三者之间保证能正常ping通。

  2. 开发板执行如下挂载命令

    mount -t nfs -o nolock,nfsvers=3 192.168.1.33:/home/lbh/nfs /mnt
    

    其中,192.168.1.33这个IP地址是ubuntu的IP地址,冒号后面跟的是你ubuntu中nfs服务的共享目录路径。/mnt目录是你想要挂载再开发板上的哪个目录,我这里选择的事挂载在/mnt目录。

  3. 执行挂载命令之后,ubuntu和开发板之间就可以互相传递文件了。比如在ubuntu的nfs共享目录下创建一个test.c文件,然后就可以在开发板的 /mnt 目录下看到这个文件了。

  4. 使用 df 这个命令可以查看你在开发板上挂载的nfs目录。

  5. 如果想取消挂载nfs目录,输入如下命令:

    umount /mnt
    

3. 搭建TFTP环境

TFTP,即Trivial File Transfer Protocol(简单文件传输协议)。我们一般使用TFTP来加载内核镜像、设备树这些文件到开发板的DDR内存中,从而实现网络挂载。

  1. 安装相关软件

    sudo apt-get install tftp-hpa tftpd-hpa	#安装TFTP客户端和服务端程序
    sudo apt-get install xinetd				#安装xinetd
    
  2. 在用户目录下创建TFTP目录,并设置相应权限

    mkdir /home/lbh/tftp
    chmod 777 /home/lbh/tftp
    
  3. 创建TFTP配置文件

    先打开tftp配置文件:

    sudo vi /etc/xinetd.d/tftp
    

    注意:如果没有xinetd.d这个目录,也可以自己mkdir创建一个同名目录。

    在该配置文件中输入如下内容:

    server tftp
    {
    	socket_type = dgram
    	protocol = udp
    	wait = yes
    	user = root
    	server = /usr/sbin/in.tftpd
    	server_args = -s /home/clay/linux/tftpboot/
    	disable = no
    	per_source = 11
    	cps = 100 2
    	flags = IPv4
    }
    
  4. 完成上面后,重启TFTP服务。输入如下命令:

    sudo service tftpd-hpa start
    
  5. 配置 /etc/default/tftpd-pha 文件

    首先打开该配置文件,输入如下命令:

    sudo vi /etc/default/tftpd-hpa
    

    然后把该文件修改为如下内容(我的ubuntu环境是只修改了TFTP的目录和最后一行参数)

    # /etc/default/tftpd-hpa
    
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/home/lbh/tftp"
    TFTP_ADDRESS=":69"
    TFTP_OPTIONS="-l -c -s"
    

    TFTP_DIRECTORY就是我们上面创建的TFTP的目录,以后我们要把通过TFTP传输的文件,都放在这个目录下的。

  6. 最后再重启一下TFTP服务

    sudo vi /etc/default/tftpd-hpa
    

到此为止,我们的ubuntu就搭建好了TFTP服务了。搭建好之后,我们就可以通过TFTP在线加载zImage内核镜像和设备树文件了。

4. 使用MobaXterm终端远程登录ubuntu

  1. 安装MobaXterm软件

    该软件是一款终端软件,功能很强大,最主要还是免费的(也有专业版收费的,但免费的足够用了)。

    MobaXterm软件可以到其官网下载, https://mobaxterm.mobatek.net/ ,进去官网之后,点击Download,然后选择免费版,然后下载Installer edition版本。

    下载完之后,一路next安装即可。

  2. 安装ssh服务,输入如下命令:

    sudo apt-get install openssh-server
    
  3. 打开MobaXterm软件,创建ssh会话

    点击Session,然后点击ssh。配置如下图:
    在这里插入图片描述
    其中,192.168.2.11,这个IP是你ubuntu的IP地址。另外一定要确保自己的windows主机和ubuntu可以相互ping通,不然是无法登录的。lbh这个是你指定要登录的用户名。

    只要输入IP地址和用户名后,点击确定就可以登录了。

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐