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

相关推荐

  1. linux 一台自己的DNS服务器

    2024-02-11 09:20:02       35 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-11 09:20:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-11 09:20:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-11 09:20:02       87 阅读
  4. Python语言-面向对象

    2024-02-11 09:20:02       96 阅读

热门阅读

  1. 数据备份和恢复

    2024-02-11 09:20:02       44 阅读
  2. STL演讲比赛流程管理系统

    2024-02-11 09:20:02       35 阅读
  3. python如何用glob模块匹配路径

    2024-02-11 09:20:02       44 阅读
  4. LeetCode //C - 1137. N-th Tribonacci Number

    2024-02-11 09:20:02       45 阅读
  5. 【算法竞赛题目 & 题解收集】状压DP

    2024-02-11 09:20:02       49 阅读
  6. Jupyter的全面探索:从入门到高级应用

    2024-02-11 09:20:02       41 阅读
  7. 深入了解 MySQL 数值型函数

    2024-02-11 09:20:02       47 阅读
  8. 网络术语、接口和协议简介

    2024-02-11 09:20:02       44 阅读
  9. 云原生之基石-容器Docker

    2024-02-11 09:20:02       53 阅读
  10. 在gtkmm4 中检索子控件 (children)

    2024-02-11 09:20:02       49 阅读