当前位置: 首页 > news >正文

Linux第45步_通过搭建“DNS服务器”学习图形化配置工具

学习的意义:通过搭建“DNS服务器”,来学习“图形化配置工具”。“DNS服务器”,我们用不到,但为后期移植linux系统服务,因为在移植系统时,需要用到这个“图形化配置工具”。

1、“menuconfig图形化配置工具”有两个重要的文件

1)、“.config ”文件,它保存着“uboot的配置项”

2)、“Kconfig”文件,它是图形界面的描述文件,也就是描述界面应该有什么内容。

2、安装“menuconfig图形化配置工具”的支持库“ncurses库”

打开终端

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd linux回车”,切换“linux”目录下

输入“ls回车”,列出当前目录下所有的文件和文件夹

输入“cd atk-mp1/回车”,切换“atk-mp1”目录下

输入“ls回车”,列出“atk-mp1”目录下所有的文件和文件夹

输入“cd uboot/回车”,切换uboot”目录下

输入“ls回车”,列出“uboot”目录下所有的文件和文件夹

输入“cd my_uboot回车”,切换my_uboot”目录

输入“ls回车”,列出“my_uboot”目录下所有的文件和文件夹

输入“sudo apt-get install build-essential回车”输入“sudo apt-get install libncurses5-dev回车

3、在终端执行一次make stm32mp15_atk_trusted_defconfig回车,将uboot配置恢复为默认配置注意:在第一次使用图形化配置工具时,只能执行一次这样的操作,防止以前的配置被恢复为默认值

4、输入“make menuconfig回车”,打开图形化配置界面,见下图:

菜单使用介绍

移动上下光标键,选择要配置的菜单;

按下“Enter键”,进入子菜单;

菜单中高亮的字母是该菜单的热键,按下“该字母键”就可以进入该菜单;

选中“子菜单”后,按下键盘上的“Y”键,此时“子菜单”前面的“[]”变成了“[*]” ,表示将相应的代码编译进uboot中。

选中“子菜单”后,按下键盘上的“N”键,此时“子菜单”前面的“[]”变为“[]”,表示不编译该项。

在linux内核里,有时需要将某个功能编译为模块,那么在选中“该子菜单”后,按下键盘上的“M”键,此时“子菜单”前面的“[]”变为“[M]”,表示“该子菜单”需要被编译为模块。

按两下 ESC 键即可退出提示界面,相当于返回上一层。

按下“?”键査看此菜单的帮助信息;按下“/”键打开搜索框,可以在搜索框输入要搜索的内容。

在配置界面下方有五个按钮,功能如下:<Select>:选中按钮,和“Enter”键的功能相同,负责选中并进入某个菜单。<Exit>:退出按钮,和按两下“Esc”键功能相同,退出当前菜单,返回到上一级。<Help>:帮助按钮,查看选中菜单的帮助信息。<Save>:保存按钮,保存修改后的配置文件。<Load>:加载按钮,加载指定的配置文件。

5、下面以搭建DNS服务器为例来说明怎么配置:

1)、移动光标,找到“command line interface

2)、按下“回车”,进入该菜单

3)、移动光标,找到“Network commands

4)、按下“回车”,进入该菜单

5)、移动光标,找到“dns

注意,这里是“dns”,不要搞成"nfs",防止搭建dns失败。

6)、按下“Y”,按“ESC键”退出,然后保存。

7)、在终端,输入“vi  .config回车”,打开“.config”文件

8)、输入“/CONFIG_CMD_DNS回车”,查到“CONFIG_CMD_DNS”,且被配置查到“CONFIG_CMD_DNS”,且被配置为使能。

9)、按“ESC键”,输入“:q!回车”不保存退出,见下图:

10)、输入“make DEVICE_TREE=stm32mp157d-atk all -j8回车

注意:不能用“./stm32mp157d_alientek.sh因为 stm32mp157d alientek.sh 会删除“.config ”文件!

11)、将新的“u-boot.stm32”烧进开发板。

12)、输入“setenv dnsip 114.114.114.114回车”,设置dns服务器的IP地址;

输入“saveenv回车”,保存“dnsip”环境变量的值;

输入“dns www.baidu.com回车”,查看百度官网IP地址

至此,DNS服务器搭建好了。

6、自动备份“.config ”文件“.config ”文件保存着“uboot的配置项”。我们在使用“menuconfig图形化配置工具”配置完uboot以后,“.confg”文件也会被更新,这是我们需要的,但是如果我们在终端使用make stm32mp157d_atk_defconfig回车编译,就会将.confg”文件恢复到默认配置,因此,我们需要将“.confg”文件自动备份到“./configs/stm32mp15_atk_trusted_defconfig”中,防止文件丢失。

1)、输入“make menuconfig回车”,打开图形化配置界面

2)、右移光标到“save

3)、按下“回车”。见下图:

4)、将上图中的uboot默认配置文件“.config”修改为“./configs/stm32mp15_atk_trusted_defconfig”。

在前面,我们讲过uboot配置文件路径uboot/my_uboot/configs”,其中stm32mp15_atk_trusted_defconfig是以“stm32mp15_trusted_defconfig”为母版,复制一份得到的,因此我们要自动备份到这个文件中

见下图:

5)、点击“OK”,得到下图

6)、按“ESC”,直到关闭界面

输入“vi stm32mp15_atk_trusted_defconfig回车

7)、看到“CONFIG_CMD_DNS=y”,按“ESC键”,输入“:q!回车”不保存退出。

至此,我们完成了“.config ”文件的自动备份。

相关文章:

Linux第45步_通过搭建“DNS服务器”学习图形化配置工具

学习的意义&#xff1a;通过搭建“DNS服务器”&#xff0c;来学习“图形化配置工具”。“DNS服务器”&#xff0c;我们用不到&#xff0c;但为后期移植linux系统服务&#xff0c;因为在移植系统时&#xff0c;需要用到这个“图形化配置工具”。 1、“menuconfig图形化配置工具…...

【Linux取经路】探寻shell的实现原理

文章目录 一、打印命令行提示符二、读取键盘输入的指令三、指令切割四、普通命令的执行五、内建指令执行5.1 cd指令5.2 export指令5.3 echo指令 六、结语 一、打印命令行提示符 const char* getusername() // 获取用户名 {return getenv("USER"); }const char* geth…...

【MATLAB】使用随机森林在回归预测任务中进行特征选择(深度学习的数据集处理)

1.随机森林在神经网络的应用 当使用随机森林进行特征选择时&#xff0c;算法能够为每个特征提供一个重要性得分&#xff0c;从而帮助识别对目标变量预测最具影响力的特征。这有助于简化模型并提高其泛化能力&#xff0c;减少过拟合的风险&#xff0c;并且可以加快模型训练和推理…...

2024Node.js零基础教程(小白友好型),nodejs新手到高手,(六)NodeJS入门——http模块

047_http模块_获取请求行和请求头 hello&#xff0c;大家好&#xff0c;那第二节我们来介绍一下如何在这个服务当中来提取 HTT 请求报文的相关内容。首先先说一下关于报文的提取的方法&#xff0c;我在这个文档当中都已经记录好了&#xff0c;方便大家后续做一个快速的查阅。 …...

【数据结构与算法】(5)基础数据结构之队列 链表实现、环形数组实现详细代码示例讲解

目录 2.4 队列1) 概述2) 链表实现3) 环形数组实现 2.4 队列 1) 概述 计算机科学中&#xff0c;queue 是以顺序的方式维护的一组数据集合&#xff0c;在一端添加数据&#xff0c;从另一端移除数据。习惯来说&#xff0c;添加的一端称为尾&#xff0c;移除的一端称为头&#xf…...

(注解配置AOP)学习Spring的第十七天

基于注解配置的AOP 来看注解式开发 : 先把目标与通知放到Spring里管理 : Service("userService") public class UserServiceImpl implements UserService {Overridepublic void show1() {System.out.println("show1......");}Overridepublic void show2…...

[C++] opencv + qt 创建带滚动条的图像显示窗口代替imshow

在OpenCV中&#xff0c;imshow函数默认情况下是不支持滚动条的。如果想要显示滚动条&#xff0c;可以考虑使用其他库或方法来进行实现。 一种方法是使用Qt库&#xff0c;使用该库可以创建一个带有滚动条的窗口&#xff0c;并在其中显示图像。具体步骤如下&#xff1a; 1&…...

C#用Array类的Reverse方法反转数组中元素

目录 一、Array.Reverse 方法 1.重载 2.Reverse(Array, Int32, Int32) 3. Reverse(Array) 4.Reverse(T[]) 5. Reverse(T[], Int32, Int32) 二、实例 1.Array.Reverse 方法4种重载方法综合实例 2.Reverse(Array)方法的实例 一、Array.Reverse 方法 反转一维 Array 或部…...

iOS AlDente 1.0自动防过充, 拯救电池健康度

经常玩iOS的朋友可能遇到过长时间过充导致的电池鼓包及健康度下降问题。MacOS上同样会出现该问题&#xff0c;笔者用了4年的MBP上周刚拿去修了&#xff0c;就是因为长期不拔电源的充电&#xff0c;开始还是电量一半的时候不接电源会黑屏无法开机&#xff0c;最后连着电源都无法…...

春晚刘谦魔术——约瑟夫环

昨晚&#xff0c;刘谦在春晚上表演了一个魔术&#xff0c;通过对四张撕成两半的纸牌连续操作&#xff0c;最终实现了纸牌的配对。 这个魔术虽然原理不是很难&#xff0c;但是通过刘谦精湛的表演还是让这个魔术产生了不错的效果&#xff08;虽然我感觉小尼的效果更不错&#xff…...

itextpdf使用:使用PdfReader添加图片水印

gitee参考代码地址&#xff1a;https://gitee.com/wangtianwen1996/cento-practice/tree/master/src/test/java/com/xiaobai/itextpdf 参考文章&#xff1a;https://www.cnblogs.com/wuxu/p/17371780.html 1、生成带有文字的图片 使用java.awt包的相关类生成带文字的图片&…...

如何为Kafka加上账号密码(二)

认证策略SASL/PLAIN 上篇文章中我们讲解了Kafka认证方式和基础概念&#xff0c;并比较了不同方式的使用场景。 我们在《2024年了&#xff0c;如何更好的搭建Kafka集群&#xff1f;》中集群统一使用PLAINTEXT通信。Kafka通常是在内网使用&#xff0c;但也有特殊的使用场景需要…...

【大数据】Flink on YARN,如何确定 TaskManager 数

Flink on YARN&#xff0c;如何确定 TaskManager 数 1.问题2.并行度&#xff08;Parallelism&#xff09;3.任务槽&#xff08;Task Slot&#xff09;4.确定 TaskManager 数 1.问题 在 Flink 1.5 Release Notes 中&#xff0c;有这样一段话&#xff0c;直接上截图。 这说明从 …...

ES节点故障的容错方案

ES节点故障的容错方案 1. es启动加载逻辑1.1 segment和translg组成和分析1.2 es节点启动流程1.3 es集群的初始化和启动过程 2. master高可用2.1 选主逻辑2.1.1 过滤选主的节点列表2.1.2 Bully算法2.1.2 类Raft协议2.1.3 元数据合并 2.2 HA切换 3. 分片高可用3.1 集群分片汇报3.…...

【Flink】FlinkSQL实现数据从Kafka到MySQL

简介 未来Flink通用化,代码可能就会转换为sql进行执行,大数据开发工程师研发Flink会基于各个公司的大数据平台或者通用的大数据平台,去提交FlinkSQL实现任务,学习Flinksql势在必行。 本博客在sql-client中模拟大数据平台的sql编辑器执行FlinkSQL,使用Flink实现数据从Kafka传…...

Unity GC

本文由 简悦 SimpRead 转码&#xff0c; 原文地址 mp.weixin.qq.com 简略版本 在 Unity 中&#xff0c;垃圾回收&#xff08;Garbage Collection&#xff0c;GC&#xff09;采用的是基于标记-清除&#xff08;Mark and Sweep&#xff09;算法的自动内存管理机制。 基于标记-清…...

Vue源码系列讲解——变化侦测篇【下】(Array的变化侦测)

目录 1. 前言 2. 在哪里收集依赖 3. 使Array型数据可观测 3.1 思路分析 3.2 数组方法拦截器 3.3 使用拦截器 4. 再谈依赖收集 4.1 把依赖收集到哪里 4.2 如何收集依赖 4.3 如何通知依赖 5. 深度侦测 6. 数组新增元素的侦测 7. 不足之处 8. 总结 1. 前言 上一篇文…...

【机器学习笔记】贝叶斯学习

贝叶斯学习 文章目录 贝叶斯学习1 贝叶斯学习背景2 贝叶斯定理3 最大后验假设MAP(Max A Posterior)4 极大似然假设ML(Maximum Likelihood)5 朴素贝叶斯NB6 最小描述长度MDL 1 贝叶斯学习背景 试图发现两件事情的关系&#xff08;因果关系&#xff0c;先决条件&结论&#x…...

ElasticSearch之倒排索引

写在前面 本文看下es的倒排索引相关内容。 1&#xff1a;正排索引和倒排索引 正排索引就是通过文档id找文档内容&#xff0c;而倒排索引就是通过文档内容找文档id&#xff0c;如下图&#xff1a; 2&#xff1a;倒排索引原理 假定我们有如下的数据&#xff1a; 为了建立倒…...

win11安装mysql8.3.0压缩包版 240206

mysql社区版安装包版windows安装包下载地址 在系统环境变量path无点.的情况下 powershell 可以 .\ 或 ./ 开头表示当前文件夹cmd 可以直接命令或.\开头, 不能./开头 所以 .\ 在cmd和powershell中通用 步骤 在解压目录 .\mysqld --initialize-insecure root无密码初始化.\m…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用&#xff1a;作为微服务架构的网关&#xff0c;统一入口&#xff0c;处理所有外部请求。 核心能力&#xff1a; 路由转发&#xff08;基于路径、服务名等&#xff09;过滤器&#xff08;鉴权、限流、日志、Header 处理&#xff09;支持负…...

Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?

Golang 面试经典题&#xff1a;map 的 key 可以是什么类型&#xff1f;哪些不可以&#xff1f; 在 Golang 的面试中&#xff0c;map 类型的使用是一个常见的考点&#xff0c;其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

vscode(仍待补充)

写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh&#xff1f; debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...

短视频矩阵系统文案创作功能开发实践,定制化开发

在短视频行业迅猛发展的当下&#xff0c;企业和个人创作者为了扩大影响力、提升传播效果&#xff0c;纷纷采用短视频矩阵运营策略&#xff0c;同时管理多个平台、多个账号的内容发布。然而&#xff0c;频繁的文案创作需求让运营者疲于应对&#xff0c;如何高效产出高质量文案成…...

手机平板能效生态设计指令EU 2023/1670标准解读

手机平板能效生态设计指令EU 2023/1670标准解读 以下是针对欧盟《手机和平板电脑生态设计法规》(EU) 2023/1670 的核心解读&#xff0c;综合法规核心要求、最新修正及企业合规要点&#xff1a; 一、法规背景与目标 生效与强制时间 发布于2023年8月31日&#xff08;OJ公报&…...

[论文阅读]TrustRAG: Enhancing Robustness and Trustworthiness in RAG

TrustRAG: Enhancing Robustness and Trustworthiness in RAG [2501.00879] TrustRAG: Enhancing Robustness and Trustworthiness in Retrieval-Augmented Generation 代码&#xff1a;HuichiZhou/TrustRAG: Code for "TrustRAG: Enhancing Robustness and Trustworthin…...

怎么开发一个网络协议模块(C语言框架)之(六) ——通用对象池总结(核心)

+---------------------------+ | operEntryTbl[] | ← 操作对象池 (对象数组) +---------------------------+ | 0 | 1 | 2 | ... | N-1 | +---------------------------+↓ 初始化时全部加入 +------------------------+ +-------------------------+ | …...

Qwen系列之Qwen3解读:最强开源模型的细节拆解

文章目录 1.1分钟快览2.模型架构2.1.Dense模型2.2.MoE模型 3.预训练阶段3.1.数据3.2.训练3.3.评估 4.后训练阶段S1: 长链思维冷启动S2: 推理强化学习S3: 思考模式融合S4: 通用强化学习 5.全家桶中的小模型训练评估评估数据集评估细节评估效果弱智评估和民间Arena 分析展望 如果…...

JavaScript 标签加载

目录 JavaScript 标签加载script 标签的 async 和 defer 属性&#xff0c;分别代表什么&#xff0c;有什么区别1. 普通 script 标签2. async 属性3. defer 属性4. type"module"5. 各种加载方式的对比6. 使用建议 JavaScript 标签加载 script 标签的 async 和 defer …...