IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> Linux准备工作-Linux区 -> 正文阅读

[系统运维]Linux准备工作-Linux区

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

0 简介

本文章介绍设计Linux开发所需的工具、环境的搭建。
本文使用的电脑系统是Linux的发行版,使用什么发行版,可以自行选择,本文主要使用Ubuntu发行版。为什么使用Linux系统,是由于在Linux系统开发时,需要使用到交叉编译器(x86_64_arm-linux-gnueabihf),而在Win10和Mac系统,均目前没有交叉编译器,无法进行编译,所以目前只有在Linux系统下才可以开发。
本章推荐使用实体机的Linux系统,以Ubuntu系统为例。许多其他资料均是在Windows系统下安装虚拟机,虚拟机中安装Linux系统。虽然Windows系统软件很丰富,但是在用笔记本开发的时候,性能往往不够,编译时间很长。并且在调试设备通信时,经常会有奇葩问题,使得通信失败,多数与虚拟机相关。为了减少这些不必要的麻烦,本文安装实体Linux系统。
对于Linux系统开发的设计者,在使用Linux系统下的软件,完全够用,在Linux系统下可以安装微信、TIM、KiCAD、WPS、Steam等等。

1 必要工具

本章所安装的所有软件、插件均无安装顺序。

1.1 VScode编译器

在Linux系统中可以使用vim、nano等编译器,但是这些不便于编写代码,并且没有文本高亮等小功能。相对来说VScode较为好用,且较为美观,可以DIY插件,通过插件可以创建自己喜欢的VScode界面。
VScode官网:
https://code.visualstudio.com/
在这里插入图片描述
直接下载deb文件,找到下载后的文件夹位置,使用dpkg安装命令安装。sudo dpkg -i code_1.55.2-1618307277_amd64.deb
在这里插入图片描述
推荐VScode安装的插件:

  • Chinese (Simplified)
  • ARM
  • C/C++
  • One Dark Pro
  • Markdown Preview Enhanced
  • C/C++ Snippets
  • C/C++ Advanced Lint
  • Code Runner
  • Include AutoComplete
  • Rainbow Brackets
  • GBKtoUTF8
  • vscode-icons
  • compareit
  • DeviceTree
  • TabNine
  • Gitee
    以上插件建议全部安装上。

1.2 GCC交叉编译器

GCC是以GPL许可证所发行的自由软件,也是GNU计划的关键部分。GCC的初衷是为GNU操作系统专门编写一款编译器,现已被大多数类Unix操作系统(如Linux、BSD、MacOS X等)采纳为标准的编译器,甚至在微软的Windows上也可以使用GCC。GCC支持多种计算机体系结构芯片,如x86、ARM、MIPS等,并已被移植到其他多种硬件平台。——摘自百度百科。
为什么使用GCC交叉编译器,主要就是使用x86的CPU编译处ARM架构的代码,其实也可以使用arm环境编译arm的文件,但是由于我们常用的arm相比与x86架构芯片性能过低,所以还是在x86上安装GCC来编译奥arm代码即可。就目前2021/6/15为止,苹果的M1芯片还是没有对应的Linux内核,虽然官方已经提供公测版,但是bug很多。我个人还是希望M1尽早有Linux的发行版操作系统。
这里使用的是linaro家的gcc交叉编译器,下面图中就是linaro官网,网址:https://www.linaro.org/projects/
在这里插入图片描述
点击download,选着gnu工具链,找到相应的文件。
在这里插入图片描述
选择该路径即可gnu-toolchain/10.2-2021.04-1/arm-linux-gnueabihf,其中二级目录中是gcc版本,主要是对应内的arm-linux-gnueabihf文件夹下的文件,选着对应的文件,注意文件后缀名和文件大小。
在这里插入图片描述
接下就是安装gcc工具链。
(1)在usr/local/目录下创建一个arm文件夹。sudo mkdir arm
(2)把下载好的gcc工具复制到上面创建的文件夹下。sudo cp gcc-linaro-10.2.1-2021.04-x86_64_arm-linux-gnueabihf.tar.xz /usr/local/arm/
(3)在arm文件夹下将复制过来的文件解压。sudo tar -xvf gcc-linaro-10.2.1-2021.04-x86_64_arm-linux-gnueabihf
(4)此时需要添加刚才解压的文件中的bin文件夹绝对地址的环境变量。打开/etc/profile文件sudo nano /etc/profile
(5)在profile文件中最后面添加export PATH=$PATH:/usr/local/arm/gcc-linaro-10.2.1-2021.04-x86_64_arm-linux-gnueabihf/bin
(6)重启即可系统reboot或者注销
(7)重启后,打开terminal输入arm-linux-gnueabihf-gcc -v
(8)有以下输出即安装成功。
在这里插入图片描述

1.3 NFS服务器

网络文件系统( NFS ) 是一种分布式文件系统协议,最初由Sun Microsystems (Sun)于1984年开发,允许客户端计算机上的用户通过计算机网络访问文件,就像访问本地存储一样。NFS与许多其他协议一样,建立在开放网络计算远程过程调用(ONC RPC) 系统之上。NFS是在征求意见稿(RFC)中定义的开放标准,允许任何人实施该协议。——摘自Wikipedia
安装NFS服务器主要就是在开发板上使用NFS挂载根文件系统,开发板上的根文件系统是由NFS挂载的,可以在电脑端直接修改NFS文件夹中相应的文件。NFS挂载该文件系统一般都是用于开发阶段,这样可以不需要反复烧写根文件系统,一般将开发好后的系统再用SD卡等烧写到开发板中。

1.3.1 NFS安装

安装NFS服务器命令,直接在terminal中输入sudo apt-get install nfs-kernel-server rpcbind
创建NFS文件夹,用来共享NFS文件夹中文件,这里在Linux文件夹下创建NFS即可,也可以在其他地方随意,~/linux$ mkdir nfs
修改NFS文件夹权限sudo chmod 777 nfs
配置NFS服务器,在/etc/exports中添加刚才创建的NFS路径和参数。/home/mannix/linux/nfs *(rw,sync,no_root_squash)
添加好配置后重启nfs服务器即可,sudo /etc/init.d/nfs-kernel-server restart

1.4 TFTP服务器

简单文件传输协议也称小型文件传输协议(Trivial File Transfer Protocol, TFTP),是一种于1981年在RFC 783中定义的简化的文件传输协议(FTP)。
小型文件传输协议非常简单,透过少量存储器就能轻松实现——这在当时是很重要的考虑因素。所以TFTP被用于引导计算机,例如没有大容量存储器的路由器。现在它仍然被用于在一个网络上主机之间传输小文件,例如从一台网络主机或服务器引导一个远程X Window System终端或其他的瘦客户端。——摘自Wikipedia
在开发板中使用tftp可以直接从电脑端加载kernel和dtb文件。

1.4.1 TFTP安装

*安装命令:sudo apt install tftp-hpa tftpd-hpa
*创建tftp文件夹:mkdir ~/linux/tftp
*修改文件权限:sudo chmod 777 ~/linux/tftp
*修改配置文件:sudo vim /etc/default/tftpd-hpa

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

*重启tftpd-hpa:sudo service tftpd-hpa restart
*查看是否安装成功:sudo service tftpd-hpa status

1.5 Minicom终端

Minicom 是一个用于类 Unix 操作系统的基于文本的调制解调器控制和终端仿真程序,最初由 Miquel van Smoorenburg 编写,并模仿流行的 MS-DOS 程序 Telix。 Minicom 包括拨号目录、ANSI 和 VT100 仿真、(外部)脚本语言和其他功能。 Minicom 是一个菜单驱动的通信程序。 它还具有自动 ZMODEM 下载。
Minicom 的一个常见用途是设置远程串行控制台,这可能是 LAN 关闭时访问计算机的最后手段。 只需使用带有 Minicom 软盘发行版(例如 Pitux 或 Serial Terminal Linux)的 386 笔记本电脑即可完成此操作。——摘自Wikipedia

1.5.1 Minicom安装

安装命令:sudo apt-get install minicom
配置minicom参数:sudo minicom -s
选择Serial port setup
配置如下

Serial Device      		: /dev/ttyUSB0
Hardware Flow Control 	: No

启动命令:minicom -c on


本章节到此结束,原文章中还有一些涉及到git、vim、ftp、微信、美化等均不介绍了,等着大家自己发掘,发现其中乐趣。
下一个文章主要就是讲解Linux内核移植

此资料为岩环科技的技术资料,本资料不保证内容的有效性,仅供个人或单位需要此资料的人员使用。经过岩环科技书面允许和依照与岩环科技的协议获得授权,否则不得以任何方式进行盈利。资料中含有转自网络文章,如有侵权,请联系岩环科技进行删除。
以上声明的解释权归“岩环科技”所有。
This data is the technical data of Yanhuan Technology. This data does not guarantee the validity of the content, and is only used by individuals or units who need this data. With the written permission of Yanhuan Technology and the authorization obtained in accordance with the agreement with Yanhuan Technology, otherwise no profit shall be made in any way. The data contains articles reposted from the Internet. If there is any infringement, please contact Yanhuan Technology to delete it.
The right to interpret the above statement belongs to “Yanhuan Technology”.

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-06 16:28:46  更:2022-04-06 16:30:52 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 14:18:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码