编译内核时每个模块的编译选项有4种:
1.built-in
2.excluded
3.module
4.module capable
第1,2,3种很好理解,请问第3种和第4种有什么区别。
请问编译选项module和module capable的区别
-
- 帖子: 1
- 注册时间: 2011-04-05 19:34
- c43035
- 帖子: 724
- 注册时间: 2008-10-22 14:29
- 联系:
- qwertelnet
- 帖子: 2
- 注册时间: 2013-02-15 14:10
- 系统: windows 7
Re: 请问编译选项module和module capable的区别
「 [ ] 」(excludes)表示该选项没有被选取,编译后的kernel 将不会有此功能。
「 < > 」(module capable)表示该选项没有被选取,而且是可以被当做是module,可以在开机之后另外载入的。
「 [*] 」(built-in)表示该选项有被选取,编译后的kernel 包含此功能,而且该功能会被编入kernel image 中,这意味着在kernel 被载入时该功能就已经存在,有些功能是一定要在kernel 被载入时就存在的,例如读取filesystem,因为kernel 无法从它认不出的filesystem 里读取档案。 虽然将各能选成内建可以将整个kernel 的功能包成一个kernel image 档,但它也会造成执行时一些不必要的记忆体以及初始化时间的浪费。
「 <M> 」(module)表示该选项有被选取,而且是被编译成module 的形式,它会存放在filesystem中,并在kernel 被载入后才动态地载入。 编译成module 的优点是减少kernel image 的空间、加快开机时间,以及方便开发kernel 功能,因为module 是在开机后才被载入,每次修改该功能时只需要重新编译并载入module ,而不需要重新编译整个kernel 并且重新开机
「 < > 」(module capable)表示该选项没有被选取,而且是可以被当做是module,可以在开机之后另外载入的。
「 [*] 」(built-in)表示该选项有被选取,编译后的kernel 包含此功能,而且该功能会被编入kernel image 中,这意味着在kernel 被载入时该功能就已经存在,有些功能是一定要在kernel 被载入时就存在的,例如读取filesystem,因为kernel 无法从它认不出的filesystem 里读取档案。 虽然将各能选成内建可以将整个kernel 的功能包成一个kernel image 档,但它也会造成执行时一些不必要的记忆体以及初始化时间的浪费。
「 <M> 」(module)表示该选项有被选取,而且是被编译成module 的形式,它会存放在filesystem中,并在kernel 被载入后才动态地载入。 编译成module 的优点是减少kernel image 的空间、加快开机时间,以及方便开发kernel 功能,因为module 是在开机后才被载入,每次修改该功能时只需要重新编译并载入module ,而不需要重新编译整个kernel 并且重新开机