重要说明:笔者在linux这方面也属于是纯纯的新手小白,本篇文章主要是为了与初学者分享笔者开始接触Linux的学习轨迹和踩坑经验,若文章内的叙述存在错误,请大佬们及时指正,欢迎交流!

一条声明:本文有部分文字是直接搬运的正点原子家的《3_领航者ZYNQ之嵌入式Linux开发指南_V1.5.2》文档中的内容。(这里先做个声明,笔者可不想写着写着被举报了...)

在上干货前且先容笔者简单谈谈认知方面的概念(嗯,绝对不是为了水字数)

1、什么是Linux系统

Linux,是一种免费使用和自由传播的类UNIX操作系统,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

上述描述为官方注解(就是从百度百科上扒的),太过于专业不方便理解(看起来就像讲了,但没完全讲)。笔者对Linux的理解是(个人观点,并不权威),首先它同样是一种电脑的操作系统,其本质与人们常用Windows操作系统无异。二者区别在于Linux的绝大部分的开发源码是免费的而Windows则为收费的,但Linux的支持软件目前开发的较少,大部分的常见应用软件都是在仅在Windows下支持运行的,并且Windows操作系统所设计的可视化界面很成熟,比较适用于群众,而Linux系统则并不是太侧重可视化界面,Linux更侧重于其本系统下所运行软件的可开发性不太适用于大众,但它为开发者和使用者提供了更高的可配置性、可操作性、权限和保密性。

2、虚拟机的作用

虚拟机指通过软件模拟的具有完整硬件系统功能,运行在一个完全隔离环境中的完整计算机系统,在实体计算机中能够完成的工作在虚拟机中都能够实现。(百度抄的嘿嘿)

通俗来讲,虚拟机就是虚拟出来的电脑,这个虚拟出来的电脑和真实的电脑几乎完全一样,所不同的是他的硬盘是在一个文件中虚拟出来的,所以用户可以随意修改虚拟机的设置,而不用担心对自己的电脑造成损失。那么由此就会引出一个问题,为什么要模拟出一台电脑呢,直接使用实体机来使用Linux不可以吗?答案肯定是可以的,若是直接在电脑上安装Linux系统那么你的电脑就是一个真正的Linux系统的电脑了。当然你也可以同时再安装一个Windows的系统,这样你的电脑就是双系统了,在开机的时候可以选择不同的系统启动。

但是这样的话就会产生另一个问题,就是每次开机时我们只能选择其中的一个系统启动并运行,要么Windows系统要么Linux系统,但是在开发的很多时候我们需要在Windows系统和Linux系统下来回切换,Windows 系统下的软件资源要比Linux系统下丰富的多,比如很多软件平台仅支持Windows 系统而不支持Linux系统,并且若是有文件互传的需求时,只能将数据或文件拷进外部的存储设备后,再开关机进行切换系统,因为你每次开机只能在Windows系统和Linux系统下二选一。

所以此时就需要借助虚拟机来完成一体双机的操作,其实我们可以将虚拟机当做Windows系统下的一款软件,这款软件的功能就是可以模拟一台计算机系统,在我们有需要时,就通过虚拟机运行我们创建的虚拟计算机系统,在我们没有需要时也不会影响主机系统的运行。

好了,概念水完了,下面开始正式上干货!!

个人感觉,这步骤写的很细了,就跟着操作来,基本不用动脑,就粘贴复制就完了。只要你软件版本和操作都是按笔者写的方法来,90%的概率不会出现问题,要是真出问题了,嗯,那应该是人的问题了,想想你最近干啥坏事了吧~

3、环境搭建说明

3.1、安装VMware Workstation虚拟机软件

VMware Workstation软件的安装包可以在 VMware官网下载,下载地址:Download VMware Workstation Prohttps://www.vmware.com/products/workstation-pro/workstation-pro-evaluation.html

推荐在官网下载虚拟机最新的软件安装包,点击上方连接进入VMware官网首页界面下载最新VMware安装包。

下载完成后,打开文件所在文件夹,点击安装文件进行安装,由于笔者的电脑上已安装VMware Workstation 16 Pro,因此在这里以15版本安装包的安装步骤作为示例(这里不要担心,不同版本安装包的安装步骤并无太大的差别)。如下图所示:

点击下一步后进入下图所示步骤:

先选择上图中的“我接受许可协议中的条款”,再选择“下一步”,进入下图所示步骤:

选择软件的安装路径,点击“更改”按钮,然后根据自己的实际需要选择合适路径即可,再选择“下一步”,进入下图所示步骤:

该步骤中会有两个复选框,默认都是选中的,建议不要选中。然后再选择“下一步”,进入下图所示步骤:

该步骤的两个选项我们都选中,这样在安装完成以后就会在开始菜单和桌面上有VMware的图标,再选择“下一步”,进入下图所示步骤:

点击“安装”按钮开始安装 VMware,安装过程如下图所示:

耐心等待几分钟,等待安装完成,安装完成以后会有如下图所示的提示:

点击图中的“完成”按钮,完成 VMware 的安装,安装完成以后就会在桌面上出现VMware Workstation Pro的图标,如下图所示:

双击图标打开VMware软件,在第一次打开软件的时候会提示你输入许可证密钥,如下图所示:

密钥号:

已被和谐。。。向版权低头T_T

说明:笔者在编写此文当时网上公布的最新密钥版本为v16,若后续使用者下载的版本过高,请自行上网查询(网上一查一大堆,你永远可以相信中国网友)。

输入密钥以后点击“继续按钮”,如果你的密钥正确的话就会提示你购买成功,如下图所示:

点击图中的“完成”按钮,VMware软件正式打开,界面如下图所示:

若选择的先试用后激活,可在该界面点击“帮助”选项卡,在其列表选项中找到“输入许可密钥”选项,点击该选项后再输入密钥即可激活。

若想验证是否激活成功可在“帮助”选项卡中选择“关于VMware Workstation”选项,若弹出界面如下图所示即为激活成功。

至此,虚拟机软件VMware安装成功。

3.2、下载Ubuntu系统镜(映)像文件

进过3.1小节的操作虚拟机已经创建成功了,相当于搭建虚拟机的软件环境已经准备好了,接下来就需要在虚拟机中安装Ubuntu 系统,那么第一步肯定是获取到 Ubuntu 的系统镜(映)像文件,Ubuntu 系统的镜(映)像文件可在Ubuntu官网的获取,文件最新版本下载地址为:Download Ubuntu Desktop | Download | Ubuntu。

笔者在编写此文档时的学习参考资料是正点原子家提供的《3_领航者ZYNQ之嵌入式Linux开发指南_V1.5.2》文档,里面明确写出目前他们测试最稳定的搭配版本方案就是Ubuntu16.04——PetaLinux18.3,笔者当时可安装的最新版本为Ubuntu 21和PetaLinux 21,年少轻狂的笔者就想:你们做不出来凭什么就敢说我做不出来???然后重点来了,在笔者的不断作死的操作下,先后尝试了如下方案:Ubuntu18-PetaLinux18、Ubuntu18-PetaLinux19、Ubuntu18-PetaLinux20、Ubuntu18-PetaLinux21、Ubuntu20-PetaLinux18、Ubuntu20-PetaLinux20、Ubuntu20-PetaLinux21、Ubuntu21-PetaLinux20、Ubuntu21-PetaLinux21,总历时大概两个月,期间经历过多少次重装系统已经数不清了,反正就是遇到了各种问题,最终结果就是版本都不适配,最终笔者得出了两条真理:人不作死就不会死、菜真的tm是原罪。在此奉劝初学者们一句,听人劝吃饱饭千万别学笔者的这种行为,当然以后要是有人再找出了稳定的方案另说。然后言归正传,因为笔者实际使用的是16.04.4 (64-bit)版本的Ubuntu,后面所有的使用示例均在16.04.4 (64-bit)版本下完成。Ubuntu的往期所有版本下载地址为:https://releases.ubuntu.com/

3.3、创建虚拟机

安装好 VMware 以后我们就可以在 VMware 上创建一个虚拟机,打开 VMware,选择:文件->新建虚拟机(也可以直接点击页面内的“创建新的虚拟机”按钮)。

打开下图所示创建虚拟机向导界面,选中图中的“典型”选项,然后选择“下一步”,进入映像文件选择界面:(也可以选择“自定义”选项,选择“自定义”选项后会弹出虚拟机硬件兼容性选项界面,选择完硬件版本之后点击下一步就会进入映像文件选择界面,若无特殊的硬件版本要求建议直接选择“典型”选项)

在映像文件选择界面,点击“浏览”按钮,在弹出的文件选项界面找到你需要安装的系统文件(即3.2小节中的映像文件),确定后点击“打开”按钮以退出文件选项界面。随后点击“下一步”进入系统信息设置界面。

在系统信息设置界面对即将安装的虚拟机系统进行设置用户名和密码(这里设置的用户名和密码貌似没什么实际用处,至少笔者在之后是没有再用到,但以防万一这里设置的用户名和密码尽量简短一些,最好与之后安装系统的用户名和密码相同),设置完成后。点击“下一步”进入虚拟机信息设置界面。

在虚拟机信息设置界面设置当前创建的虚拟机名称,点击“浏览”按钮,可选择该虚拟机的安装位置和系统文件的存放位置(该位置建议选择一个空白的磁盘,或直接选择一个空白的移动硬盘),确定后点击“确定”按钮以退出选项界面。随后点击“下一步”进入磁盘容量设置界面。

磁盘容量设置界面是用来设置我们预留出多大的虚拟空间供虚拟机使用的,并不是我们设置了多大的容量,该部分空间就真的被划分不可使用了,具体大小可根据选中的安装位置的磁盘大小自行设置,然后点击“下一步”,进入硬件配置界面。

在硬件配置界面可点击“自定义硬件”按钮配置系统硬件的详细信息。

配置界面如下图所示,具体的配置参数以自身实体机的实际硬件参数作为参考即可。

注意:① 内存设置的大小和处理器数量是根据实体机的实际硬件性能确定的,分配标准是虚拟机系统与实体机系统平分实际硬件性能,即实体机的运行内存若是8GB则将虚拟机的运行内存设置为4GB,处理器数和处理器内核数均可在“任务管理器”中的“性能”里查看;② USB控制器选项中的USB兼容性需选择为USB 3.1;③ 网络适配器需选择NAT模式;④ 首次运行虚拟机时需将CD/DVD选项设置为“使用ISO映像文件”,在安装好系统后再将该选项设置为“使用物理驱动器”。

配置完成后点击“关闭”按钮退出配置界面。再点击“完成”按钮,至此虚拟机的创建步骤完成。完成后界面如下所示。

3.4、安装Ubuntu系统镜像文件

在配置好虚拟机后就可以安装Ubuntu系统了,首先点击“开启此虚拟机”按钮,等待短暂的一段时间后就会进入Ubuntu系统安装程序,首先是语言选择界面,如下图所示。Ubuntu默认语言是英文,习惯中文的我们,选择“中文(简体)”,选择好以后点击右侧的“安装 Ubuntu”按钮,进入安装过程。

安装一开始会有 7 个配置步骤。首先配置是否选择在安装 Ubuntu 时下载更新,以及是否为图形或者无线硬件安装其它第三方软件,如下图所示,建议不勾选这两个,否则安装过程很慢。

直接点击上图中的“继续”按钮,弹出安装类型,使用默认的“清除整个磁盘并安装 Ubuntu”,如下图所示:

设置好安装类型以后点击“现在安装”按钮,会弹出“将改动写入磁盘吗?”对话框,点击“继续”即可,下一步会让你输入你在哪个位置,输入自己所在的城市即可,比如你在广州就输入广州,如下图所示:

输入地址以后点击“继续”按钮,会进入键盘布局设置界面,不需要做任何修改,点击“继续”按钮,进入下一步设置用户名和密码,设置自己的用户名和密码,可随意设置,建议设置的用户名和密码尽量简短(尤其是密码,方便记忆一些)。设置好用户名和密码以后点击“继续”按钮,系统就会开始正式安装,如下图所示:

等待系统安装完成,安装过程中会下载一些文件,如果不能正常上网的话可以点击右侧的“skip”按钮来跳过下载文件这个步骤,对于系统的安装没有任何影响,安装完成以后提示重启系统,如下图所示:.

重启系统以后就会提示输入密码,如下图所示:

输入密码(每次开机输入密码时都需要解锁小键盘),点击键盘上的回车就会进入系统主界面,系统界面如下图所示:

此时系统镜像还在CD/DVD 里面,因此需要将它弹出,先关闭Ubuntu 系统,点击系统桌面右上角的设置按钮,如下图所示

点击“关机”按钮即可关闭Ubuntu系统,但安装完成后还需要注意,安装系统的所有操作都是在CD/DVD中完成的,和我们在真实电脑上安装系统一样,不管我们使用的光盘还是 U 盘安装系统,当系统安装成功以后都要弹出光盘或者拔出U盘,然后调整 BIOS 从硬盘启动,否则以后开机的话都会首先从光盘或者 U 盘启动了,这样会进入系统安装界面。同理,我们在 VMware 中安装Ubuntu 的时候是在 CD/DVD 中加载了 Ubuntu 系统镜像,现在系统安装成功了,因此也要把这个镜像从CD/DVD中弹出。

关闭Ubuntu操作系统后,打开VMware的虚拟机设置界面,然后选中“CD/DVD (SATA)”,右侧的“连接”选项选择“使用物理驱动器”

设置好以后点击“确定”按钮,然后重新打开虚拟机,看看是否能够正常启动系统,一般肯定能正常打开的。至此,VMware虚拟机以及Ubuntu系统安装成功。

3.5、安装VMware Tools

VMware Tools是一款VMware Workstations自带的用于虚拟机与主体机互联的实用软件,可实现跨系统拖拽文件、复制文本、屏幕分辨率自适应等功能。打开虚拟机后点击VMware Workstations界面上的“虚拟机”—>“安装VMware Tools”

随后Ubuntu系统桌面会弹出VMware Tools的虚拟安装光驱(即DVD,下文都用DVD指代虚拟光驱)。

双击打开DVD,将“VMware Tools-10.3.23-16594550.tar.gz”(10.3.23-16594550是版本序列号,这个序号不定,跟虚拟机软件自身版本有关)文件提取到桌面(右键该文件,选择“提取到...”选项,在弹出的文件选项界面选择桌面位置,然后点击“提取”按钮,即可完成提取操作),界面如下图所示:

提取到桌面后关闭DVD文件界面,可观察到一个名为“vmwware-tools-distrilb”的文件出现在桌面,该文件即提取后的文件,如下图所示:

成功提取文件后,进入终端界面(右键桌面,选择“打开终端”选项),从终端界面进入提取文件中。在终端界面依次输入如下指令:

cd 桌面 //进入桌面文件
cd vmwware-tools-distrilb //进入vmwware-tools-distrilb文件
ls //显示当前位置下的所有文件

终端中显示的绿色文件就是我们安装VMware Tools软件所需要的可执行文件(可以理解为Windows下的安装程序),界面如下图所示:

注:linux系统下粘贴快捷键为:ctrl+shift+v;在输入文件名时,可先输入文件名的前几个字母然后按Tab键系统会自动将文件名补全。

在终端内输入:sudo ./vmware-install.pl后再输入密码 即可执行VMware Tools的安装操作,安装过程中所有询问安装路径的对话框一律选择:默认路径(直接敲回车即可),询问是或否的对话框一律一定要选择:是!!!(输入y后再敲回车),下图所示的是询问是否的对话框(最后的默认的不一定都是[no]也可能是[yes],但是请一律都输入y):

下图所示是询问安装地址的对话框:

安装完成后,并且安装过程中操作无误的话你就可以发现,你的Ubuntu桌面已经自动适应虚拟机的窗口大小了,效果如下图所示:

至此VMware Tools安装完成。

注:若是安装后出现无法复制粘贴的问题可尝试重启系统解决,若重启后仍存在该问题可在终端下进入/usr/bin目录 在该目录下输入:

vmware-user

3.6、启用共享文件夹

VMware Tools一般是用于复制粘贴两个不同系统间的文字信息,但搬运文件尽量不要使用VMware Tools,经实测不同系统间直接通过VMware Tools复制粘贴搬运大型的文件资源并不稳定,这里介绍一种笔者比较常用的在两系统间搬运文件的方法:共享文件夹。

在 VMware 的虚拟机菜单栏中选择“设置(S)”,如下图所示:

在弹出的菜单中,选择“选项”,在该界面中,单击“共享文件夹”,在右边界面中选择“总是启用(E)”,如下图所示:

启用共享文件夹后,就需要添加共享文件夹所在的文件路径,这里笔者在移动硬盘里建立了一个“共享文件”的文件夹,这个文件夹就是以后用来在 Windows 和 Ubuntu 系统之间共享文件的地方。当然任何一个文件夹都是可以的,读者可以按自己的实际情况选择。选定好该文件夹的位置后,单击“添加(A)…”按钮,弹出下图所示界面:

直接点击“下一步(N)->”,进入下图所示界面:

点击“浏览(R)…”,选择刚才新建的“共享文件”文件夹,选择好以后点击确定。上图的名称此处保持默认共享文件,按个人喜好可以修改。点击“下一步(N)->”,进入下图所示界面:

默认勾选“启用此共享”,如果不想该文件夹内的内容被修改,可以勾选只读,此处建议不勾选“只读”,点击“完成”按钮至此启用共享文件夹完成。

        共享文件夹默认挂载在Ubuntu系统中的是/mnt/hgfs/目录下,如下图所示:

3.7、安装Ubuntu系统所需的(软件)环境

3.7.1、扩展APT下载工具的资源地址

Linux系统与Windows系统不同,在Windows系统下下载大部分的软件直接在网络上搜索资源就可以找到对应的安装包或是驱动文件,但Linux系统则不可以,因为很多成型的软件资源仅支持Windows而不知Linux,Linux的大多数软件资源是依靠下载软件的源码或二进制文件才能进行配置安装,而APT下载工具是Linux系统下最常用的下载软件的工具,所以在其他下载其他软件前我们先扩展一下APT下载工具的下载资源地址。

首先在终端中输入指令:

sudo vi /etc/apt/sources.list  //用vi打开下载资源列表

然后终端会打开如下图所示的界面:

将光标移动到任意一个空行,按i键,然后将下列文字粘贴到表格中。

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
deb-src http://mirrors.ustc.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse

粘贴成功后按 Esc+:+x+回车 即可退出当前界面。

注:vi/vim编辑器的具体操作指令所代表的含义,请见3.7.4.小节内容

3.7.2、更新本地数据库

由于我们安装的是Ubuntu 16.04版本的系统,很多软件的版本相对来讲较低,所以需要更新本地的软件数据库,在终端中输入:

sudo apt-get update  //更新本地软件数据库

即可更新本地软件数据库,界面如下图所示:

若更新过程中出现下图所示的错误报告:

则请在终端输入下列指令:

sudo rm /var/lib/dpkg/lock
sudo sed -i -e 's/bionic/xenial/g' /etc/apt/sources.list
sudo apt-get update

更新后无报错项即更新完成。这里要注意的是网上有很多教程里教更新完软件数据库之后再用sudo apt-get upgrade指令来二次(更新)升级软件的,该指令是同样可以更新软件版本,但主要是用来做软件升级的,有时在升级并更改其他软件支持时,该指令会直接升级Ubuntu的内核版本,这样会导致在后续安装或使用Petalinux时与系统版本不适配,然后直接就可以重装系统了。还有,请务必谨慎使用系统自带的系统软件更新器,最好是不用,使用系统自带的更新器更新后重启系统可能会导致桌面的工具栏和状态栏消失(嗯,不要问笔者怎么知道的,已经踩过这些坑了)。

3.7.3、禁止APT更新Ubuntu内核

为了保证Ubuntu系统保持为当前版本,我们可以手动禁止系统内核的版本更新,打开“系统设置”界面,点击“系统”的选项下的“软件与更新”,如下图所示:

在弹出的选项界面选择“更新”选项卡,将该选项卡界面下的“自动检查更新”选项勾选为“从不”,如下图所示:

上述操作完成后打开终端界面,输入:

sudo dpkg --get-selections | grep linux  //显示当前安装的linux系统文件

显示界面如下图:(具体细节应该会有所出入,跟系统目前安装的系统文件有关)

上图中圈中的以Linux-image-...为开头的文件就是Ubuntu内核文件。在终端输入:

sudo apt-mark hold linux-image-4.15.0-112-generic  //禁止更新内核
sudo apt-mark hold linux-image-4.15.0-142-generic  //禁止更新内核
sudo apt-mark hold linux-image-generic-hwe-16.04  //禁止更新内核

即可禁止内核更新,如下图所示:

3.7.4、vim文本编辑器

通用命令说明

vim编辑器都是一种基于指令式的编辑器,不需要鼠标,也没有菜单,仅仅使用键盘来完成所有的编辑工作。我们需要先安装vim编辑器,在终端输入指令如下:

sudo apt-get install vim  //下载并安装vim编辑器

vim编辑器打开编辑文本时默认是以只读(指令)模式打开的文档,因此当我们有更改需求时需要将模式切换到输入模式,切换到输入模式的命令有如下:

i 在当前光标所在字符的前面,转为输入模式。

I 在当前光标所在行的行首转换为输入模式。

a 在当前光标所在字符的后面,转为输入模式。

A 在光标所在行的行尾,转换为输入模式。

o 在当前光标所在行的下方,新建一行,并转为输入模式。

O 在当前光标所在行的上方,新建一行,并转为输入模式。

s 删除光标所在字符。

r 替换光标处字符。

只读(命令)模式下,一些字符代表的的指令含义:

h  (或左方向键) 光标左移一个字符。

l  (或右方向键) 光标右移一个字符。

j  (或下方向键) 光标下移一行。

k  (或上方向键) 光标上移一行。

nG 光标移动到第 n 行首。

n+ 光标下移 n 行。

n- 光标上移 n 行。

Ctrl+f 屏幕向下翻一页,相当于下一页。

Ctrl+b 屏幕向上翻一页,相当于上一页。

cc 删除整行,并且修改整行内容。

dd 删除改行,不提供修改功能。

ndd 删除当前行向下 n 行。

x 删除光标所在的字符。

X 删除光标前面的一个字符。

nyy 复制当前行及其下面 n 行。

p 粘贴最近复制的内容。

Esc 退出输入模式,进入只读(指令)模式。

: 进入低行模式。

当进入底行模式以后会在终端的左下角就会出现符号“:”,可以在“:”后面输入命令,常用的命令如下:

x 保存当前文档并且退出。

q 退出。

w 保存文档。

q! 退出 VI/VIM,不保存文档。

更改VIM编辑器配置

VIM 编辑器默认是不显示行号的,但不显示行号不利于代码查看,我们可以通过更改执行文件的底层代码将其更改为显示行号,在终端输入指令如下:

sudo vim /etc/vim/vimrc  //用vim打开该目录文件

将光标移至文件最下端后,添加一行代码:set nu,即可显示行号,再添加:set ts=4,可将Tab键的缩进改为4个空格,如下图所示:

修改完成以后保存并关闭文件。

3.8、安装Petalinux

3.8.1、下载Petalinux        

Petalinux工具是Xilinx公司推出的嵌入式Linux开发套件,包括了u-boot、kernel、device-tree、rootfs等源码和库,petalinux v2018.3的安装包文件可以到Xilinx的官方网站https://china.xilinx.com/进行下载,如下图所示:

在官方网站中点击“技术支持”,在弹出来的选项中点击“下载与许可”,如下图所示:

进入到“下载与许可“页面,见下图。点击“Petalinux”,可以看到左边“Version”栏有 2021.2、2021.1 以及 2020.3 版本,由于安装Petalinux时要保证我们使用的Ubuntu版本支持我们所安装的Petalinux版本,因此我们需要下载往期的v2018.3版本,点击“Version”栏最下方的“存档”,可在里面找到Petalinux 所有过去版本的文件。

点击“2018.3”,进入该版本页面后,往下翻,找到Petalinux的安装文件,如下图所示:

下载完成之后就获得了 petalinux 的安装文件 petalinux-v2018.3-finalinstaller.run。

将 Petalinux 安装包文件petalinux-v2018.3-final-installer.run拷贝到之前我们创建的“共享文件”目录下(见《3.6. 启用共享文件夹》小节),注意,这里最好是拷贝而不是剪切过去,因为该安装包安装时会移动到Ubuntu系统根文件内部,移动后再想定位安装包位置就比较困难了。在Ubuntu 系统中,打开终端,进入到“/mnt/hgfs/共享文件/”路径,在终端输入指令如下:

cd mnt/hgfs/共享文件  //进入mnt/hgfs/共享文件
ls  //显示该文件下的所有文件

可以看到 Petalinux 的安装文件已在该目录,可直接访问,如下图所示:

 3.8.2、安装所需的支持和依赖库

在安装Petalinux之前我们需要为 Ubuntu 系统安装一些必要的运行软件以及依赖库,所以要确保Ubuntu能够正常上网,打开终端执行如下命令:

sudo apt-get install tree 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 tftpd tftp openbsd-inetd

下载需要等待几分钟。

(下述操作不是必需操作,不做下述操作有可能会在Petalinux安装过程中和配置环境变量时引起警告,但不会影响正常使用,不做可以直接跳过看3.8.3.petalinux安装小节。)等待软件以及库安装完成之后,再在终端输入指令:

sudo vim /etc/inetd.conf  //打开配置文件

在文件中增加下述内容,保存后退出

tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /tftproot

再在终端内输入如下指令:

sudo mkdir /tftproot  //创建文件tftproot
sudo chmod 777 /tftproot  //更改tftproot文件权限
sudo /etc/init.d/openbsd-inetd restart  //运行文件
netstat -an | more | grep udp

看到有如下输出,即表示tftp安装成功(即:0.0.0.0:*)

3.8.3、Petalinux安装

安装Petalinux就要考虑安装位置了,对于Petalinux这种体积庞大的工具,我们将其放在系统根目录下。在根目录下新建专门存放Petalinux的文件夹,在终端输入指令如下:

sudo mkdir -p /petalinux/2018.3  //创建文件夹petalinux/2018.3

(当然,安装路径起别的名也可以,没有特殊要求,但下述安装时的路径名称需要对应这里建立的路径进行对应的更改)

将Petalinux的安装包移动到当前路径下,输入指令:

sudo mv /mnt/hgfs/共享文件/petalinux-v2018.3-final-installer.run /petalinux/2018.3/  //将安装包移动到/petalinux/2018.3/目录下

由于安装包较大,移动时需要等待一定时间,完成后执行Petalinux安装,输入指令:

sudo chown xt:xt /petalinux/  //更改文件的用户权限为非root用户

(xt是用户组名,根据你实际的用户名进行更改即可)

sudo chown xt:xt /petalinux/2018.3/  //更改文件的用户权限为非root用户

(xt是用户组名,根据你实际的用户名进行更改即可)

cd /petalinux/2018.3  //进入2018.3文件
./petalinux-v2018.3-final-installer.run /petalinux/2018.3  //将Petalinux安装在/petalinux/2018.3目录下

(这里一定要注意,安装Petalinux时一定不能使用root用户权限进行操作!!!)

如下图所示:

(注:安装时会生成安装日志,若安装失败需要重新安装时需要把安装日志删除,指令:sudo rm petalinux_installation_log -rf  //删除日志文件,删除后再重新安装。)

运行上述命令后,需要等待一段时间,当出现“Press Enter to display the license agreements”字样的时候,如下所示:

回车键显示软件许可协议,再按下q退出协议界面,回到之前的界面之后会再出现几个选择项,询问是否接受各种协议。所有的协议一律输入:y,按下回车后进入协议界面,再按q退出。如下图所示:

安装完成之后,进入到安装目录下,目录内容如下图所示:(安装过程中没有出现报错现象即可视为Petalinux安装成功(即:没有出现ERROR:xxx这样的提示,出现WARNING:xxx的提示不算,可忽略))

安装完成后,建议删除安装日志和安装包,输入指令如下:

sudo rm petalinux_installation_log -rf  //删除安装日志
sudo rm petalinux-v2018.3-final-installer.run -rf  //删除安装包

3.8.4、修改bash

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

sudo dpkg-reconfigure dash  //更改dash配置

按→键,选择“No”选项后,按下回车即可。执行结果如下图所示:

3.8.5、设置Petalinux环境变量

在正式使用 Petalinux工具之前,需要先运行Petalinux安装目录下的settings.sh脚本文件设置Petalinux工作环境,settings.sh脚本用于bash,一般默认情况下,我们使用bash作为登录shell,所以使用source脚本运行settings.sh文件对petalinux所需的运行环境进行配置,输入指令如下,如下图所示:

source settings.sh  //使用source脚本运行setting.sh文件

需要注意的是该命令只对当前终端有效,重新打开终端后需要重新执行这一步。执行结果如下图所示:

验证工作环境是否已设置完成,可在终端输入指令如下:

echo $PETALINUX

正常结果应该如下图所示:

显示Petalinux的安装目录,表明工作环境已设置。现在可以使用Petalinux工具了。

鉴于每次打开终端使用Petalinux都需要设置相应的环境变量,为了方便,可以将设置Petalinux环境变量的命令设置成别名。设置别名的指令如下,在终端输入:

echo "alias sps='source $PETALINUX/settings.sh' " >> ~/.bashrc  //将sps设置为代替指令source $PETALINUX/settings.sh

之后再打开终端后,输入sps就可以设置Petalinux的环境变量了,无需再输入路径指令,如下图所示。sps的记忆法是 source Petalinux的setting.sh文件。

若是不想用别名代替原命令,也可以直接在终端的底层配置文件中更改代码,实现在每次启动终端后可以直接自动运行setting.sh脚本。在终端下输入:

vim ~/.bashrc  //打开终端的底层配置文件

在文件最底端增加内容:source /petalinux/2018.3/settings.sh,保存后退出。

至此全部软件安装完成。

学习笔记:在Ubuntu16.04系统内安装Petalinux软件(包括如何安装Ubuntu16.04和相关支持库 详解)相关推荐

  1. linux易语言安装目录文件,易语言编译linux文件与相关支持库

    引言: 玩了很多年易语言才发现易语言也可以编译linux下的文件,今天就试了试,在网上找了一下,还真的可以,于是收集与整理一下,学好易语言还是挺有用的,感觉. 首先现在易语言创建一个linux 程序. ...

  2. 【OS学习笔记】三十一 保护模式九:页目录、页表和页三者的关系详解

    上一篇文章学习了:保护模式九:段页式内存管理机制概述 本篇文章接着学习以下内容: 页目录概念 页表概念 页目录.页表与页之间的关系 虚拟地址(线性地址)到物理地址的具体变换过程. 1.页目录.页表和页 ...

  3. 个人学习笔记——庄懂的技术美术入门课(美术向)04

    个人学习笔记--庄懂的技术美术入门课(美术向)04 1 作业点评 2 作业答案 2.1 半Lambert 2.2 SSSLut 2.3 批改 2.3.1 批改1 2.3.1.1 分层 2.3.1.2 ...

  4. dul恢复oracle数据,学习笔记:Oracle dul数据挖掘 使用DUL数据恢复软件恢复分区表中...

    使用Oracle dul数据恢复工具对Oracle数据库分区表中的数据进行恢复 创建SALES分区表案例 CREATE TABLE SALES ( PRODUCT_ID VARCHAR2(5), SA ...

  5. 爬虫笔记:Requests库详解

    什么是Requests 之前讲解了爬虫笔记:Urllib库详解发现确实有不方便的地方,比如加一个代理,cookie,发送post请求比较繁琐. Request库能用几句话实现这些. Requests ...

  6. hp打印机没有右键扫描_安装HP打印机报错 0x000006be解决方法,图文操作步骤详解...

    安装HP打印机报错 0x000006be解决方法,图文操作步骤详解 1. 首先打开控制面板 2.在程序和功能窗口中找是否有HP的打印机驱动,卸载掉 3.打开C:WindowsSystem32spool ...

  7. 【软件问题】解决WPS中的VBA支持库安装问题(亲测可用)

    [软件问题]解决WPS中的VBA支持库安装问题(亲测可用) 一键解决WPS中的VBA支持库安装问题,下载软件后,直接默认即可,亲测可用: 链接:https://pan.baidu.com/s/18C_ ...

  8. 离线安装nginx(包括离线安装gcc-g++环境,免费下载gcc离线安装包)

    离线安装nginx(包括离线安装gcc-g++环境) 有些时候我们的linux服务器无法连接公网的情况下就需要离线安装应用 检查电脑是否有gcc和gcc-c++环境 gcc -v g++ -v # 如 ...

  9. [go学习笔记.第二章] 2.go语言的开发工具以及安装和配置SDK

    一.工具介绍: 1.Visual Studio Code 一个运行于Mac,Windows,和linux上的,默认提供Go语言的语法高亮的IED,可以安装Go语言插件,还可以支持智能提示,编译运行等功 ...

最新文章

  1. JavaScript正则表达式
  2. asterisk cdr mysql_在asterisk中添加CDR sqlite支持 | 学步园
  3. websocket receive方法内 有循环怎么退出_WebSocket了解一下
  4. ci框架mysql多条件_CI框架同时连接不同的数据库(或不同表前缀)
  5. java action上传文件_java实现文件上传
  6. 你还在问android横竖屏切换的生命周期?
  7. 【转】服务器维护工程师悲惨的一个星期
  8. sap原因代码配置路径_如何根据SAP Table找到对应IMG配置?
  9. Android中如何设置RadioButton在文字的右边,图标在左边
  10. STM32外部中断具体解释
  11. XtraBackup备份mysql5.1.73
  12. 机器学习笔记 - 探索性数据分析(EDA) 概念理解
  13. c语言bbs论坛管理系统,C语言编程论坛的设计与开发---论文.doc
  14. 【it修真院】代码生成
  15. jane street market prediction 冠军方案 奇巧淫技与topline链接整理(3/3)
  16. 简化字与繁体字的关系
  17. python获取当前时间、今天零点、23时59分59秒、昨天的当前时间、明天的当前时间
  18. 代理机制说明及JDK动态代理的使用
  19. paddle 40 支持任意维度数据的梯度平衡机制GHM Loss的实现(支持ignore_index、class_weight,支持反向传播训练,支持多分类)
  20. 关于设立“链改青岛链湾综合试验区”的复函

热门文章

  1. java技术栈是什么意思?一次认全9大主流技术栈!
  2. MySQLdb安装与使用
  3. STM32 HAL库详解
  4. php社区twig,twig模板简单实用介绍
  5. flask之flash
  6. 阿里云网站注销备案的办法
  7. office 2010很强大很好用
  8. 2021阿里云申请免费SSL证书最新流程
  9. threejs(webgl)-shader入门教程(1)
  10. Python实现直方图梯度提升分类模型(HistGradientBoostingClassifier算法)并基于网格搜索进行优化同时绘制PDP依赖图项目实战