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服务器”学习图形化配置工具
学习的意义:通过搭建“DNS服务器”,来学习“图形化配置工具”。“DNS服务器”,我们用不到,但为后期移植linux系统服务,因为在移植系统时,需要用到这个“图形化配置工具”。 1、“menuconfig图形化配置工具…...
【Linux取经路】探寻shell的实现原理
文章目录 一、打印命令行提示符二、读取键盘输入的指令三、指令切割四、普通命令的执行五、内建指令执行5.1 cd指令5.2 export指令5.3 echo指令 六、结语 一、打印命令行提示符 const char* getusername() // 获取用户名 {return getenv("USER"); }const char* geth…...
【MATLAB】使用随机森林在回归预测任务中进行特征选择(深度学习的数据集处理)
1.随机森林在神经网络的应用 当使用随机森林进行特征选择时,算法能够为每个特征提供一个重要性得分,从而帮助识别对目标变量预测最具影响力的特征。这有助于简化模型并提高其泛化能力,减少过拟合的风险,并且可以加快模型训练和推理…...
2024Node.js零基础教程(小白友好型),nodejs新手到高手,(六)NodeJS入门——http模块
047_http模块_获取请求行和请求头 hello,大家好,那第二节我们来介绍一下如何在这个服务当中来提取 HTT 请求报文的相关内容。首先先说一下关于报文的提取的方法,我在这个文档当中都已经记录好了,方便大家后续做一个快速的查阅。 …...
【数据结构与算法】(5)基础数据结构之队列 链表实现、环形数组实现详细代码示例讲解
目录 2.4 队列1) 概述2) 链表实现3) 环形数组实现 2.4 队列 1) 概述 计算机科学中,queue 是以顺序的方式维护的一组数据集合,在一端添加数据,从另一端移除数据。习惯来说,添加的一端称为尾,移除的一端称为头…...
(注解配置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中,imshow函数默认情况下是不支持滚动条的。如果想要显示滚动条,可以考虑使用其他库或方法来进行实现。 一种方法是使用Qt库,使用该库可以创建一个带有滚动条的窗口,并在其中显示图像。具体步骤如下: 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上同样会出现该问题,笔者用了4年的MBP上周刚拿去修了,就是因为长期不拔电源的充电,开始还是电量一半的时候不接电源会黑屏无法开机,最后连着电源都无法…...
春晚刘谦魔术——约瑟夫环
昨晚,刘谦在春晚上表演了一个魔术,通过对四张撕成两半的纸牌连续操作,最终实现了纸牌的配对。 这个魔术虽然原理不是很难,但是通过刘谦精湛的表演还是让这个魔术产生了不错的效果(虽然我感觉小尼的效果更不错ÿ…...
itextpdf使用:使用PdfReader添加图片水印
gitee参考代码地址:https://gitee.com/wangtianwen1996/cento-practice/tree/master/src/test/java/com/xiaobai/itextpdf 参考文章:https://www.cnblogs.com/wuxu/p/17371780.html 1、生成带有文字的图片 使用java.awt包的相关类生成带文字的图片&…...
如何为Kafka加上账号密码(二)
认证策略SASL/PLAIN 上篇文章中我们讲解了Kafka认证方式和基础概念,并比较了不同方式的使用场景。 我们在《2024年了,如何更好的搭建Kafka集群?》中集群统一使用PLAINTEXT通信。Kafka通常是在内网使用,但也有特殊的使用场景需要…...
【大数据】Flink on YARN,如何确定 TaskManager 数
Flink on YARN,如何确定 TaskManager 数 1.问题2.并行度(Parallelism)3.任务槽(Task Slot)4.确定 TaskManager 数 1.问题 在 Flink 1.5 Release Notes 中,有这样一段话,直接上截图。 这说明从 …...
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 转码, 原文地址 mp.weixin.qq.com 简略版本 在 Unity 中,垃圾回收(Garbage Collection,GC)采用的是基于标记-清除(Mark and Sweep)算法的自动内存管理机制。 基于标记-清…...
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 贝叶斯学习背景 试图发现两件事情的关系(因果关系,先决条件&结论&#x…...
ElasticSearch之倒排索引
写在前面 本文看下es的倒排索引相关内容。 1:正排索引和倒排索引 正排索引就是通过文档id找文档内容,而倒排索引就是通过文档内容找文档id,如下图: 2:倒排索引原理 假定我们有如下的数据: 为了建立倒…...
win11安装mysql8.3.0压缩包版 240206
mysql社区版安装包版windows安装包下载地址 在系统环境变量path无点.的情况下 powershell 可以 .\ 或 ./ 开头表示当前文件夹cmd 可以直接命令或.\开头, 不能./开头 所以 .\ 在cmd和powershell中通用 步骤 在解压目录 .\mysqld --initialize-insecure root无密码初始化.\m…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
AI-调查研究-01-正念冥想有用吗?对健康的影响及科学指南
点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...
国防科技大学计算机基础课程笔记02信息编码
1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制,因此这个了16进制的数据既可以翻译成为这个机器码,也可以翻译成为这个国标码,所以这个时候很容易会出现这个歧义的情况; 因此,我们的这个国…...
OpenLayers 可视化之热力图
注:当前使用的是 ol 5.3.0 版本,天地图使用的key请到天地图官网申请,并替换为自己的key 热力图(Heatmap)又叫热点图,是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
【Go】3、Go语言进阶与依赖管理
前言 本系列文章参考自稀土掘金上的 【字节内部课】公开课,做自我学习总结整理。 Go语言并发编程 Go语言原生支持并发编程,它的核心机制是 Goroutine 协程、Channel 通道,并基于CSP(Communicating Sequential Processes࿰…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
GitFlow 工作模式(详解)
今天再学项目的过程中遇到使用gitflow模式管理代码,因此进行学习并且发布关于gitflow的一些思考 Git与GitFlow模式 我们在写代码的时候通常会进行网上保存,无论是github还是gittee,都是一种基于git去保存代码的形式,这样保存代码…...
LLMs 系列实操科普(1)
写在前面: 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容,原视频时长 ~130 分钟,以实操演示主流的一些 LLMs 的使用,由于涉及到实操,实际上并不适合以文字整理,但还是决定尽量整理一份笔…...
