附录 2 如何编译linux 内核

附录 2 如何编译linux 内核

ID:14195769

大小:33.00 KB

页数:4页

时间:2018-07-26

附录 2 如何编译linux 内核_第1页
附录 2 如何编译linux 内核_第2页
附录 2 如何编译linux 内核_第3页
附录 2 如何编译linux 内核_第4页
资源描述:

《附录 2 如何编译linux 内核》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、附录2如何编译Linux内核:Linux内核源码的组织结构Linux内核作为一个特殊的程序,同样需要经过编译、链接之后才能运行,仅仅是它执行时拥有特殊的权限,位于特定的空间,并且不会也不可能依赖其他的软件罢了。Linux发展至今(笔者在书写本书时的版本为2.4),其内核的组织结构日渐清晰,层次日渐分明。一旦基本系统安装完毕,具有系统管理员权限的用户即可编译内核。一般来说,Linux系统内核的源码放置在/usr/src/linux目录下,它将依赖于体系结构的代码和独立于体系结构的代码分离开来(前者仅占5%,通常是一些汇编代码和局部的,针对于不同体系结构的局部处理

2、细节,如时钟定时器频率),为了帮助你理清内核结构,下面列出了几个重要的源代码目录:arch/目录:该目录存放具体的依赖于体系结构实现的代码,在这个目录下,针对不同体系结构所移植的版本都有三个子目录:kernel/,lib/和mm/。kernel/子目录包含依赖于体系结构实现的一般内核功能,例如信号处理、时钟处理等等。lib/子目录包含库函数的本地实现,如果从依赖于体系结构的源代码编译,则运行的更快。mm/子目录包含存储管理实现的代码。drivers/目录:这个目录拥有50%以上的内核源码,所有的驱动程序源代码均位于该目录之下。fs/目录:该目录存放所有的系统支

3、持的文件系统的实现代码。include/目录:一些重要的头文件。ipc/目录:处理进程间通信的全部所需的代码都放在ipc/目录下。init/目录:该目录存放所有系统的初始化代码,许多重要的文件,例如main.c就位于该目录下,该文件包含了许多核心代码——比如实现fork()的代码和最常执行的代码——cpu-idle()循环。lib/目录:该目录放置内核其它部分经常所需要的代码。例如,inflate.c就放在这里,它能够在引导时解压内核并装入内存,它也知道如何解压标准PKZIP8位压缩算法。kernel/目录:许多最常调用的内核函数放在该目录下。调度器fork(

4、)和timer.c就放在这里。你还能在这个目录下找到printk.c。mm/目录:该目录包含所有linux实现虚拟内存管理的源代码。net/目录:所有提供网络支持的代码都放在这个目录下。Documention/目录:该目录存放了大量的内核代码相关文档,用户开发/维护手册。如何配置及编译Linux内核在能够实际的编译内核之前,必须告诉编译程序你需要那些功能,还必须告诉它是将这些功能模块编到内核中去还是将其配制成动态可装载的模块。下表列出了配置内核的命令:类型命令(必须具有管理员权限)文本提示makeconfig文本菜单makemenuconfigGUI(需要运行

5、X-Window)makexconfig如上表,makeconfig将打开一个字符模式的对话框,在终端上一个接一个的问问题直到回答了所有的问题。对每一问题有三种可能的答案:Yes,No和Module。Module告诉内核配置在运行时使用动态可装载模块,而不是静态地将功能连接到内核中。makemenuconfig和makexconfig分别打开一个文本图形对话框和一个GUI对话框,功能显然和makeconfig相同,但是可以只配置自己关心的部分,显然比makeconfig方便的多。另外,如果你不希望对原始配置做过多的修改,可以选用makeoldconfig选项。

6、makeconfig命令中各个选项的意义如下:lCodematurityleveloptions代码成熟等级。此处只有一项:promptfordevelopmentand/orincompletecode/drivers,如果你要试验现在仍处于实验阶段的功能,比如khttpd、IPv6等,就必须把该项选择为Y了;否则可以把它选择为N。lLoadablemodulesupport对模块的支持。这里面有三项:Enableloadablemodulesupport:除非你准备把所有需要的内容都编译到内核里面,否则该项应该是必选的。Setversioninformat

7、iononallmodulesymbols:可以不选它。Kernelmoduleloader:让内核在启动时有自己装入必需模块的能力,建议选上。lProcessortypeandfeatures:CPU类型。lGeneralsetup 这里是对最普通的一些属性进行设置。这部分内容非常多,一般使用缺省设置就可以了。下面介绍一下经常使用的一些选项:Networkingsupport:网络支持。必须,没有网卡也建议你选上。PCIsupport:PCI支持。如果使用了PCI的卡,当然必选。PCIaccessmode:PCI存取模式。可供选择的有BIOS、Direct和

8、Any。 Supportforhot-

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。