python menuconfig_make menuconfig详解

python menuconfig_make menuconfig详解makemenuconfig图形化的内核配置makemrproper—–删除不必要的文件和目录.1#makeconfig(基于文本的最为传统的配置界面,不推荐使用)2#makemenuconfig(基于文本选单的配置界面,字符终端下推荐使用)注意:使用makemenuconfig需要安装ncurses(sudoapt-getinstallncurses-dev…

大家好,又见面了,我是你们的朋友全栈君。

make menuconfig 图形化的内核配置make mrproper —–删除不必要的文件和目录.

1  #make config(基于文本的最为传统的配置界面,不推荐使用)

2  #make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)

注意:使用make menuconfig 需要安装ncurses( sudo apt-get install ncurses-dev)

3  #make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)

注意:如果要用make xconfig,则要先安装libqt3-compat-headers( sudo apt-get install libqt3-compat-headers)

4  #make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)

目的都是生成一个.config文件,这三个命令中,make

xconfig的界面最为友好,如果你可以使用Xwindow,你就用这个好了,这个比较方便,也好设置。如果你不能使用Xwindow,那么就使用make

menuconfig好了。界面虽然比上面一个差点,总比make config的要好多了。 选择相应的配置时,有三种选择,它们分别代表的含义如下:

Y--将该功能编译进内核 N--不将该功能编译进内核 M--将该功能编译成可以在需要时动态插入到内核中的模块

下面根据解释make menuconfig中出现的菜单的内容。

[1]、Code maturity level options:代码成熟等级。

1.1.prompt for development and/or incomplete code/drivers.

如果要试验现在仍处于实验阶段的功能,比如khttpd、IPv6等,就必须把该项选择为Y了;否则可以把它选择为N。在Linux的世界里,每天都有许多人为它发展支持的driver和加强它的核心。但是有些driver还没进入稳定的阶段。但其作者很欢迎其他人去测试这些driver并提出一些bugs。这个问题是说,有一些drive还在做测试中,问您是否要选择这些drive或支持的程序码。如果键入Y,往后将会出现一些还在测试中的东西给您做选择。(像Java的程序码和PCI

bridge),台则就键入N。

[2]、Loadable module support:对模块的支持

模块就像你特意插入核心中的某些东西,如果办公室有一个小网络并且有时想用一下(但并不经常),也许你想把网卡编译成一个模块。如果安装启动分区和网络,你需要网络系统文件,和己经编译的网卡。为什么要使用模块?

模块化使核心变的更简捷,它减少核心释放大量的受保护的空间。模块的安装和卸载使用的空间是可重复分配利用的。如果你打开机器有90%以上的时间用到一个模块,编译它。运用这类模块是浪费内存的,原因是一旦你编译了模块它们同样将占用大量的内存,核心需要一些代码来挂上模块。记住,核心在保护空间运行,但模块并不是。这么说,并不经常使用我的设备,把它编译成只支持ext2,ide和elf。而一直使用的网卡,把其它的编译成模块:如a.out,

java, floppy, iso9960, msdos, minix,

vfat,smb,nfs,smcultra(ethernetcard),serial,printer,sound,ppp,等等。它们许多只是在这或那用上那么几分钟。严格的说,这样做会使核心增大许多而降低它的执行速度。这时我们就可以把这些可能会用的驱动程序编译成一个—个的模块,在需要用的时候才用insmod这个指令加入核心,不用的时候也能rmmod把它从核心移除,或是用lsmod察看目前所载入的模块。

2.1.Enable loadable module support.

除非准备把所有需要的内容都编译到内核里面,否则该项应该是必选的。

2.2.Set version information on all module symbols.

通常,我们更新核心版本之后,模块耍重新的编译。这个选项使您不必更新编译模块而能使用以前的模块。可以不选它。但如果您选y,则按照它的说明,您必须有genksyms这个程序(可用whereis指令查看有无此程序)。

2.3.Kernel module loader.

让内核在启动时有自己装入必需模块的能力,建议选上。注意:在开机就会 mount 上来的 partition 的 FS 、device

driver 记得要 compiler 进 kernel,不能把它弄成 modules。请不要夸张到为了完全模组化而忘了把ext2fs和IDE

dirver compiler 进 kernel 里。

经验谈:

a.可加载模块是指内核代码(kernel

code)的一些片断,比如驱动程序,当编译内核的时候它们也被单独编译。因此,这些代码不是内核的一部分,但是当你需要它的时候,它可以被加载并使用。

通常的建议是如果可能,将内核代码编译成可加载模块,因为这样可以使内核更小,而且更稳定。警告!千万不要将文件系统(File

System)部分的代码编译为可加载模块,如果你犯了这个错误,将文件系统(File

System)部分的代码编译为可加载模块,结果将是内核无法读取它自己的文件系统。

然后内核无法加载它自己的配置文件——一些很明显是在正常启动Linux时所必需的东西。

我很少使用可加载模块:我喜欢我的内核能够直接和硬件对话,但这只是我自己的偏好。0b1331709591d260c1c78e86d0c51c18.png

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/130418.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 随机数算法 java_最全的java随机数生成算法[通俗易懂]

    随机数算法 java_最全的java随机数生成算法[通俗易懂]最全的java随机数生成算法java随机数生成算法是怎么样的?下面yjbys小编为大家分享最新最全的java随机数生成算法,希望对大家学习有所帮助!一个最全的随机数的生成算法,最代码的找回密码的随机数就是用的这个方法:1Stringpassword=RandomUtil.generateString(10);源码如下:001packagecom.javaniu.core.util;00…

  • 转行学习3D游戏建模,你需要了解的职业分类及发展

    转行学习3D游戏建模,你需要了解的职业分类及发展王者荣耀、LOL、梦幻西游,近几年在线人数破千万,带动了越来越多的企业在游戏上的开发,3D游戏建模将游戏的画面感、真实感高度还原,给游戏者更强烈的体验感,更加身临其境。游戏模型师是目前非常热的职业岗位,目前国内动漫游戏产业已经非常成熟,需要大量优质青年加入游戏美术行业,在游戏企业里可以成为优秀的次世代场景模型师,次世代角色模型师,底模手绘贴图模型师。成功进入游戏企业之后经过项目的锻炼,薪资也会逐年有所提升。游戏建模职业分类及发展:进入游戏模型行业你可以选择不同的发展方向,比如:(1)手绘3D美术设

  • 扫描web漏洞的工具_系统漏洞扫描工具有哪些

    扫描web漏洞的工具_系统漏洞扫描工具有哪些十大Web漏洞扫描工具AcunetixWebVulnerabilityScanner[(简称AwVS)AwVS是一款知名的Web网络漏洞扫描工具,它通过网络爬虫测试你的网站安全,检测流行安全漏洞。a)、自动的客户端脚本分析器,允许对Ajax和Web2.0应用程序进行安全性测试b)、业内最先进且深入的SQL注入和跨站脚本测试c)、高级渗透测试工具,例如HTTPEditor和HTTPFuzzerd)、可视化宏记录器帮助您轻松测试web表格和受密码保护的区域e)、支持含有CAPT

  • Window server 2012 R2 AD域的组策略设置

    Window server 2012 R2 AD域的组策略设置1.AD域的组策略添加有助于管理AD域中的用户使用的client端的环境。2.组策略依附于AD域的OU构成3.使用“gpmc.msc”在运行里面打开,或者是在“开始—管理工具”里面打开4.在打开的组策略管理界面里面,林kaka下的DefaultDomainPolicy为全局策略,而只对计算机做了配置。 一、简单组策略的建立实现:来做一个实例说明组策略的简单实现:要求:

  • batchsize和数据量设置比例_(3条消息) batch size设置技巧 谈谈batchsize参数「建议收藏」

    深度学习中经常看到epoch、iteration和batchsize,下面按自己的理解说说这三个的区别:(1)batchsize:批大小。在深度学习中,一般采用SGD训练,即每次训练在训练集中取batchsize个样本训练;(2)iteration:1个iteration等于使用batchsize个样本训练一次;(3)epoch:1个epoch等于使用训练集中的全部样本训练一次;举个例子,训练集…

  • sprintf、fprintf和printf这三个函数有什么区别?

    sprintf、fprintf和printf这三个函数有什么区别?

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号