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

相关推荐
BeyondESH1 分钟前
Linux线程同步—竞态条件和互斥锁(C语言)
linux·服务器·c++
鱼饼6号17 分钟前
Prometheus 上手指南
linux·运维·centos·prometheus
Asher Gu23 分钟前
Linux系统编程入门 | 模拟实现 ls -l 命令
linux
c无序40 分钟前
【Linux进程控制】进程程序替换
linux
潮汐退涨月冷风霜1 小时前
机器学习之非监督学习(四)K-means 聚类算法
学习·算法·机器学习
GoppViper1 小时前
golang学习笔记29——golang 中如何将 GitHub 最新提交的版本设置为 v1.0.0
笔记·git·后端·学习·golang·github·源代码管理
羊小猪~~1 小时前
深度学习基础案例5--VGG16人脸识别(体验学习的痛苦与乐趣)
人工智能·python·深度学习·学习·算法·机器学习·cnn
Charles Ray2 小时前
C++学习笔记 —— 内存分配 new
c++·笔记·学习
重生之我在20年代敲代码2 小时前
strncpy函数的使用和模拟实现
c语言·开发语言·c++·经验分享·笔记
我要吐泡泡了哦3 小时前
GAMES104:15 游戏引擎的玩法系统基础-学习笔记
笔记·学习·游戏引擎