学习的意义:通过搭建"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 "文件的自动备份。