Linux开发环境搭建

使用Ubuntu进行linux开发,需要解决虚拟机与Windows之间,开发板与Ubuntu之间的文件传递问题,同时需要在Ubuntu上安装arm编译环境,zynq开发使用Xilinx公司提供的Petalinux工具进行开发。
由于需要在Ubuntu内安装软件,须确保Ubuntu可以正常联网。

一、FTP服务

在开发的过程中会频繁的在Windows和Ubuntu下进行文件传输,比如在Windwos下进行代码编写,然后将编写好的代码拿到Ubuntu下进行编译。Windows和Ubuntu下的文件互传我们需要使用FTP服务。

1. Ubuntu下的FTP服务开启

  • 开启Ubuntu的终端窗口,使用如下命令安装FTP服务,输入密码后等待软件自动安装完成。
sudo apt-get install vsftpd
  • 安装完成以后使用如下命令打开/etc/vsftpd.conf。
sudo vim /etc/vsftpd.conf
  • 打开vsftpd.conf文件后找到如下两行,确保此两行前面没有“#”,有的话取消。
local_enable=YES
write_enable=YES
  • 修改完后使用如下命令重启FTP服务。
sudo /etc/init.d/vsftpd restart

2.Windows下FTP客户端安装

1.下载FileZilla客户端,双击“FileZilla_3.57.0_win64-setup.exe”安装程序,完成安装。安装完成后,桌面上会有快捷方式,双击打开。
在这里插入图片描述
2.单击:文件->站点管理器。
在这里插入图片描述
3.进入站点管理器后,按照下图所示步骤进行设置,设置完成后单击“连接”,退出站点管理器。可能会弹出“不安全的FTP连接”对话框,单击“确定”。
在这里插入图片描述
4.连接成功后如下图所示,左边是Windows下文件目录,右边是Ubuntu下文件目录。如果需要将Windows下的文件拷贝到Ubuntu,只需将文件从左边拖入到右边对应的目录下即可。从Ubuntu拷贝文件到Windows下,只需将文件从右边拖入左边对应目录下即可。
在这里插入图片描述

二、本地文件共享

对于在 Windows 上安装虚拟机软件,在虚拟机软件中运行 Ubuntu 系统这类场景,Ubuntu 和 Windows 文件互传可以使用本地共享的方式。这种共享的方式极大的免除了不同系统文件之间的文件复制和磁盘空间的双重占用。

1.首先需要确保Ubuntu已经安装VMware Tools。安装过程请查看Ubuntu系统安装
2.在Windows中新建一个文件夹作为共享文件夹,可以根据自己实际情况选择路径,以建立在F盘为例。在F盘新建文件夹UbuntuShare。
在这里插入图片描述
3.单击:虚拟机->设置,打开设置界面。
在这里插入图片描述
4.进入设置页面后按照下图所示步骤进行设置,单击添加按钮后打开添加共享文件夹向导。
在这里插入图片描述
5.单击“下一步”。
在这里插入图片描述
6.单击“浏览”,添加刚刚在F盘创建的共享文件夹UbuntuShare,单击“下一步”。
在这里插入图片描述
7.勾选“启用此共享”,不勾选“只读”,单击“完成”。
在这里插入图片描述
8.此时,共享文件夹的路径已经被添加,单击“确定”,退出设置界面。
在这里插入图片描述
9.在Ubuntu的/mnt/hgfs目录下即可看到共享文件夹。在Windows中将文件复制到F:\UbuntuShare目录下,在Ubuntu中的/mnt/hgfs/UbuntuShare目录下即可看到复制的文件。同样在Ubuntu中将文件复制到共享目录下,在Windows的共享目录下也可看到复制的文件。
在这里插入图片描述

三、TFTP服务

TFTP 作为一种简单的文件传输协议,在嵌入式开发中会经常使用到,而且后面我们在安装 Petalinux 工具时也会提示需要 tftp 服务,所以我们需要在 Ubuntu 上搭建 TFTP 服务器。

  • 使用如下命令安装TFTP服务,输入密码后等待安装完成。
sudo apt-get install tftp-hpa tftpd-hpa
  • TFTP 需要一个文件夹来存放文件,使用如下命令在用户目录下创建tftpboot文件夹,并赋予权限,其中/home/lgd为用户目录,lgd为用户名。
mkdir /home/lgd/tftpboot
chmod 777 tftpboot
  • 使用如下命令打开/etc/default/tftpd-hpa文件。
sudo vim /etc/default/tftpd-hpa
  • 将文件内容修改如下,TFTP_DIRECTORY 就是上面创建的/home/lgd/tftpboot 文件夹目录,以后我们就将所有需要通过 TFTP 传输的文件都放到该文件夹里面。
# /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/home/lgd/tftpboot"
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -s -c"
  • 输入如下命令重启TFTP。
sudo service tftpd-hpa restart
  • 至此,TFTP服务就已经搭建好了。

四、NFS服务

后面进行 Linux 驱动开发的时候需要 NFS 启动,使用NFS来挂载文件系统,因此要先安装并开启Ubuntu中的NFS服务。

  • 使用如下命令安装NFS服务,在“你希望继续执行吗?”处,按回车继续执行,等待安装完成。
sudo apt-get install nfs-kernel-server
  • 等待安装完成,安装完成以后使用如下命令在用户目录下创建一个名为“nfs”的文件夹,以后所有的东西都放到这个“nfs”文件夹里面。
mkdir /home/lgd/nfs
  • 使用如下命令打开/etc/exports。
sudo vim /etc/exports
  • 打开/etc/exports以后在后面添加如下所示内容,/home/lgd/nfs是要共享的目录,*代表允许所有的网络段访问,insecure表示允许客户端从大于1024的tcp/ip端口连接服务器,允许跨网段连接服务器,rw是可读写权限,sync是文件同步写入存储器,no_root_squash是nfs客户端分享目录使用者的权限。如果客户端使用的是root用户,那么对于该共享目录而言,该客户端就具有root权限。
/home/lgd/nfs *(insecure,rw,sync,no_root_squash)
  • 在使用NFS挂载文件系统时,会遇到连接失败的情况,可能是因为NFS版本导致的,u-boot中NFS为v2,Ubuntu中NFS为v3,v4,需要将/etc/default/nfs-kernel-server中的内容修改为如下所示:
# Number of servers to start up
# RPCNFSDCOUNT=8
RPCNFSDCOUNT="-V 2 8"

# Runtime priority of server (see nice(1))
RPCNFSDPRIORITY=0

# Options for rpc.mountd.
# If you have a port-based firewall, you might want to set up
# a fixed port here using the --port option. For more information, 
# see rpc.mountd(8) or http://wiki.debian.org/SecuringNFS
# To disable NFSv4 on the server, specify '--no-nfs-version 4' here
# RPCMOUNTDOPTS="--manage-gids"
RPCMOUNTDOPTS="-V 2 --manage-gids"

# Do you want to start the svcgssd daemon? It is only required for Kerberos
# exports. Valid alternatives are "yes" and "no"; the default is "no".
NEED_SVCGSSD=""

# Options for rpc.svcgssd.
RPCSVCGSSDOPTS="--nfs-version 2,3,4 --debug --syslog"
  • 设置完成后使用如下命令重启NFS服务。
sudo service nfs-kernel-server restart
  • 使用如下命令可以查看共享文件夹目录。
showmount -e
  • 在nfs运行的过程中,修改了/etc/exports配置文件,可以使用如下命令使改动生效。
sudo exportfs -rv

五、SSH服务

开启Ubuntu的SSH服务以后我们就可以在Windwos下使用终端软件登陆到 Ubuntu,比如使用MobaXterm。

  • Ubuntu下使用如下命令开启SSH服务。
sudo apt-get install openssh-server

六、MobaXterm

MobaXterm是一个全功能的终端软件。支持SSH连接,支持FTP、串口等协议,使用MobaXterm通过串口连接开发板从而登陆开发板上的Linux系统,或通过SSH服务登陆Ubuntu系统。

1.MobaXterm登陆Ubuntu

1.下载MobaXterm Portable v21.5,解压后运行MobaXterm_Personal_21.5.exe。
2.单击“Session”。
在这里插入图片描述
3.按照下图所示步骤进行设置
在这里插入图片描述
4.设置完成后回到主界面,如下图,输入用户名、密码。
在这里插入图片描述
5.登陆之后如下图所示,左侧边栏所示即为Ubuntu的文件目录,右侧即为Ubuntu终端。
在这里插入图片描述

2.MobaXterm登陆开发板Linux系统

1,将开发板通过串口与电脑连接。运行MobaXterm,单击“Session”。
在这里插入图片描述
2.按照下图所示步骤进行设置。
在这里插入图片描述
3.设置完成后会回到主界面,当开发板运行Linux系统时,便会在界面内打印信息,操作与登陆Ubuntu时相同。
在这里插入图片描述

七、Pealinux安装

Petalinux工具是Xilinx公司推出的嵌入式Linux开发套件,包括了u-boot、Linux Kernel、device-tree、rootfs等源码和库,以及Yocto recipes,可以让客户很方便的生成、配置、编译及自定义Linux系统。Petalinux支持Versal 、Zynq UltraScale+ MPSoC、Zynq-7000 SoC 以及 MicroBlaze,可与Xilinx硬件设计工具Vivado协同工作,大大简化了Linux系统的开发工作。

1.Petalinux的版本要求与使用的Vivado版本一致,所以下载2018.3版(注:需要注册账号才能下载),将下载好的Petalinux安装包复制到Windows共享目录下。
2.在安装Petalinux之前需要为Ubuntu系统安装一些必要的运行软件以及依赖库,打开终端执行以下命令。

sudo apt-get install tofrodos iproute2 gawk gcc g++ git make net-tools libncurses5-dev \
tftpd zlib1g:i386 libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat \
xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential \
libsdl1.2-dev libglib2.0-dev screen pax gzip automake

3.运行如下命令创建Petalinux安装目录,并赋予权限。chown命令将/opt目录的属主和属组更改为当前的用户名,如笔者的Ubuntu用户名为lgd,执行的chown命令就相当于“sudo chown -R lgd:lgd /opt”,然后通过mkdir创
建安装目录。

sudo chown -R $USER:$USER /opt
mkdir -p /opt/petalinux/

4.运行如下命令将petalinux安装在/opt/petalinux目录下。/mnt/hgfs/UbuntuShare为共享文件夹在Ubuntu下的路径,安装程序就在此目录下。

cd /mnt/hgfs/UbuntuShare
./petalinux-v2018.3-final-installer.run /opt/pkg/petalinux/2018.3

5.运行上述命令后,需要等待一段时间,当出现“Press Enter to display the license agreements”字样的时候,按下回车以显示软件许可协议,按“Q”键退出,之后会有两个个用户协议,输入Y按回车接受,然后等待安装完成。
在这里插入图片描述

6.安装完成之后,我们还需要进行最后一个设置,petalinux工具需要主机系统的/bin/sh是bash,而Ubuntu默认的/bin/sh是dash,所以这里需要运行如下命令进行更改。

sudo dpkg-reconfigure dash

7.出现下图后,使用左右方向键移动光标到“否”上,按回车确定。
在这里插入图片描述

八、相关下载链接

MobaXterm
FileZilla
Petalinux

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值