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 "文件的自动备份。

相关推荐
神梦流24 分钟前
GE 引擎的非标准数据流处理:稀疏张量与自定义算子在图优化中的语义保持
linux·运维·服务器
编程小白202626 分钟前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
学历真的很重要26 分钟前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
深蓝海拓35 分钟前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt
方见华Richard35 分钟前
方见华个人履历|中英双语版
人工智能·经验分享·交互·原型模式·空间计算
酒鼎36 分钟前
学习笔记(3)HTML5新特性(第2章)
笔记·学习·html5
acrelwwj1 小时前
智慧照明新引擎,ASL600 4GWJ开启城市照明精细化管理新时代
大数据·经验分享·物联网
L***一1 小时前
2026届大专跨境电商专业毕业生就业能力提升路径探析
学习
.小墨迹1 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter