http://blog.csdn.net/searchsun/article/details/2676987
2008.07
通常编译内核的时候,网络上总会告诉你一步一步该怎么做,但是这每一步是什么意思,倒不是很清楚。特别对于现在linux内核从2.4升级到了2.6了,更是省去了很多的麻烦,所以对以前的哪些复杂的命令更是不会去了解了。简单归简单,但我想只是有不少内核固定认为我们会这样做而已了,对整个编译的了解还是需要的。
我这里主要是以uclinux的编译过程来介绍的,有些内容是从网络上copy的。
首先在2.6内核下,在把Makefile都配置好之后,只需要在最上层make menuconfig -> make 就可以了。
大多介绍的编译过程,先于make menuconfig 还有一个make mrproper -----删除不必要的文件和目录.这样可以简化内核的大小,这里先不考虑这个。
make menuconfig 是图形化的内核配置,与它平行的还有几个命令,只是配置方法不一样,效果是一样的。
#make config(基于文本的最为传统的配置界面,不推荐使用)
#make menuconfig(基于文本选单的配置界面,字符终端下推荐使用)
#make xconfig(基于图形窗口模式的配置界面,Xwindow下推荐使用)
#make oldconfig(如果只想在原来内核配置的基础上修改一些小地方,会省去不少麻烦)
目的都是生成一个.config文件,这三个命令中,make xconfig的界面最为友好,如果你可以使用Xwindow,你就用这个好了,这个比较方便,也好设置。如果你不能使用Xwindow,那么就使用make menuconfig好了。界面虽然比上面一个差点,总比make config的要好多了。 选择相应的配置时,有三种选择,它们分别代表的含义如下:
Y--将该功能编译进内核 N--不将该功能编译进内核 M--将该功能编译成可以在需要时动态插入到内核中的模块
注意选择某一选项的时候,一般不是回车键来选择,大多是用Y,或者空格,或者是选项的首字母,一般界面上面有说明。
如果使用的是make xconfig,使用鼠标就可以选择对应的选项。如果使用的是 make menuconfig,则需要使用空格键进行选取。你会发现在每一个选项前都有个括号, 但有的是中括号有的是尖括号,还有一种圆括号。用空格键选择时可以发现,中括号里要么是空,要么是"*",而尖括号里可以是空,"*"和"M"。这表示前者对应的项要么不要,要么编译到内核里;后者则多一样选择,可以编译成模块。而圆括号的内容是要你在所提供的几个选项中选择一项。
联系客服