Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5634468
  • 博文数量: 922
  • 博客积分: 19333
  • 博客等级: 上将
  • 技术积分: 11226
  • 用 户 组: 普通用户
  • 注册时间: 2007-03-27 14:33
文章分类

全部博文(922)

文章存档

2023年(1)

2020年(2)

2019年(1)

2017年(1)

2016年(3)

2015年(10)

2014年(17)

2013年(49)

2012年(291)

2011年(266)

2010年(95)

2009年(54)

2008年(132)

分类: LINUX

2010-01-17 16:20:46

内核kbuild相关文档部分翻译
make help查看所有可能的配置??哪里说的?
这里简单介绍了Documentation/kbuild目录中的一些文档
主要内容:
00-INDEX
===========
kbuild.txt
===========
关于编译内核的配置信息,除了编译配置的时候(如make menuconfig)可以从其中的帮助信息中获得信息之外,还可以在目录:linux-2.6.31.6/Documentation/kbuild中获得一些信息。
00-INDEX
===========
这个文件列出了该目录下文档的大致信息,相当于一个目录。内容很短并且其中的信息可能也不重在此略过。
kbuild.txt
===========
这个文件描述了kbuild编译时候的一些环境变量选项信息。例如:
KBUILD_OUTPUT:
设置了编译内核时候的输出目录,如何make的时候使用"O=..."指定输出的话这个变量的设置将被忽略。
ARCH:
设置了编译的体系结构,结构名称一般和在arch/ 目录中的名称是一样的。
INSTALL_PATH:
指定最终生成的内核镜像文件安装位置。默认位置/boot但是,你可以指定这个变量将它们放到其他位置。
MODLIB:
指定模块的安装位置,默认值是$(INSTALL_MOD_PATH)/lib/modules/$(KERNELRELEASE)。
INSTALL_MOD_PATH:
指定模块安装位置MODLIB变量的前缀目录(见MODLIB默认值).它没在makefile中定义,可在make命令行中定义。
这里列出的这些都是一些典型的简单的变量,如果需要其他变量信息就查看这个kbuild.txt文件。
kconfig.txt
===========
这个文件包含"make *config"时候的一些帮助信息。使用"make help"可以列出所有可能的配置目标。xconfig(qconf)和menuconfig(mconf)程序中也内嵌了一些帮助信息。
1)大致的介绍:
发布新的内核版本,会引入一些新的配置变量或者将一些旧有的变量重新命名。使用一个从前的.config文件并且运行"make oldconfig"并一定能够给你生成一个可以工作的新内核,所以你应该查看一下到底新的内核引入了那些新的变量。使用"make oldconfig"的时候,想要查看新的配置变量可以使用如下的命令:
$cp user/some/old.config .config
$yes "" | make oldconfig >conf.new
这样config程序会列出一些具有未知值的新的变量有(NEW),当然.config也会被更新了,使用新的默认值来初始化。所以你如果查看新的变量的化,可以使用:
$grep "(NEW)" conf.new
或者通过比较原的.config来查看:
$diff .config.old .config | less
2)'*config'的环境变量(这里没有完全列出来)如:
KCONFIG_CONFIG:
这个环境变量用来指定默认的内核配置名称替代了'.config'.
3)'{allyes/allmod/allno/rand}config'的环境变量如:
KCONFIG_ALLCONFIG
The allyesconfig/allmodconfig/allnoconfig/randconfig variants can
所的allyesconfig/allmodconfig/allnoconfig/randconfig的变体也可以使用环境变量KCONFIG_ALLCONFIG做为一个标记或者文件名称,其中包括了一些用户需要设定为指定值的配置变量。如果KCONFIG_ALLCONFIG使用的时候没有指定文件名称,那么"make *config"会检查"all{yes/mod/no/random}.config"文件(这和你运行的*config命令相对应),从这些文件里面检查将要强制设定的标号值。如果这个文件不存在,那么它会检查"all.config"文件来包含强制设定的值。
你可以建立自己的配置文件,在配置文件里面包含你自己感兴趣的配置变量,内核会生成一个完整的.config配置文件,配置文件中包括你自己定义的配置文件中的变量。
这个'KCONFIG_ALLCONFIG'文件是一个包含预先设定的配置变量的配置文件。这些变量的设置,也是一般依赖检查所设计到的。
举例:
$KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig
或者
$KCONFIG_ALLCONFIG=mini.config make allnoconfig
或者
$make KCONFIG_ALLCONFIG=mini.config allnoconfig
这些例子将大多数项屏蔽(allnoconfig),但是会激活或者屏蔽在指定的配置文件中列出的选项。
4)-Environment variables for 'silentoldconfig'
 
阅读(1694) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~