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

相关推荐
tntxia7 小时前
linux curl命令详解_curl详解
linux
扛枪的书生9 小时前
Linux 网络管理器用法速查
linux
顺风尿一寸12 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
XIAOHEZIcode18 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫20 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
努力的小雨1 天前
我用 QClaw 做了个 Web3 陪学助手,专治 Java 程序员的“概念劝退”
经验分享·ai智能
AlfredZhao3 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐4 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux
用户805533698035 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式