llinux内核选项中文版(长期支持)

编译打包和其他
头像
sonixrp
帖子: 505
注册时间: 2007-03-28 12:39

llinux内核选项中文版(长期支持)

#1

帖子 sonixrp » 2007-11-28 15:26

前言:
使用linux为核心的系统没玩过自编译内核,这算不算是一种遗憾呢?不过无奈的是很多新手出于没有时间
或者对内核编译不是很熟悉,英文水平有限等种种原因无法如愿以偿。使用linux也有一段时间了,总想为开源
世界做出点贡献,现在机会来了。我决定长期的提供编译内核选项的翻译文本支持。这个东西应该会帮助更多的
人完成心愿吧。引用一句开源前辈们的老话--开源传万世,因有我参与。

编译前:
至于编译之前的准备工作,在这里暂时就提供了,如果有必要以后会陆续的增加。

说明:
下面是linux-2.6.23.8 版本的内核编译各个选项的解释翻译,木目前不是很全,未来会陆续增加。
由于水平有限所以不能保证完成表达的英文版的意思。每个选项的最后的推荐完全是我个人的建议。谨供
参考。如果有翻译不对的地方请大家多给宝贵意见。

General setup
===================================
Prompt for development and/or incomplete code/drivers EXPERIMENTAL

Some of the various things that Linux supports (such as network
drivers, file systems, network protocols, etc.) can be in a state
of development where the functionality, stability, or the level of
testing is not yet high enough for general use. This is usually
known as the "alpha-test" phase among developers. If a feature is
currently in alpha-test, then the developers usually discourage
uninformed widespread use of this feature by the general public to
avoid "Why doesn't this work?" type mail messages. However, active
testing and use of these systems is welcomed. Just be aware that it
may not meet the normal level of reliability or it may fail to work
in some special cases. Detailed bug reports from people familiar
with the kernel internals are usually welcomed by the developers
(before submitting bug reports, please read the documents
<file:README>, <file:MAINTAINERS>, <file:REPORTING-BUGS>,
<file:Documentation/BUG-HUNTING>, and
<file:Documentation/oops-tracing.txt> in the kernel source).

This option will also make obsoleted drivers available. These are
drivers that have been replaced by something else, and/or are
scheduled to be removed in a future kernel release.

Unless you intend to help test and develop a feature or driver that
falls into this category, or you have a situation that requires
using these features, you should probably say N here, which will
cause the configurator to present you with fewer choices. If
you say Y here, you will be offered the choice of using features or
drivers that are currently considered to be in the alpha-test phase.

加速发展和完善代码和驱动程序

linux内核支持很多不同的东西(比如:网卡驱动,文件系统,网络协议,其他等等。)
可以在它还处于开发/发展状态或稳定状态又或者在测试阶段被linux内核所支持。在开发者
当中使用的测试阶段版本叫做“alpha-test”.如果一个功能在当前的测试版本中(测试版指
的就是“alpha-test”),开发者通常不会告知大家使用这个处于测试阶段的功能,以此来避免
过多类似“为什么这功能不灵了?”类型的邮件信息(开源软件开发者平时与软件使用者
交流的主要方法就是邮件)。但无论如何,积极的测试和使用新功能永远是被欢迎的。
合理的去认识它可能在一般情况是文稳定的,但在特殊情况下又可能是失败的。总之要综观全面。
复杂的错误报告来源于人们熟悉的内核,这也是被开发者所欢迎的。(在您提交错误报告之前,请阅读下面的相关文档
<file:README>, <file:MAINTAINERS>, <file:REPORTING-BUGS>,
<file:Documentation/BUG-HUNTING>, 和
<file:Documentation/oops-tracing.txt>这些文档存放在内核源代码目录下,也可以通过网络获得)

这个选项可以支持一些荒废的驱动,这些驱动可能会被其他的驱动所代替,或者在未来的内核释放版本(即一个正式发布
的内核版本中被移出内核)

除非你想帮助测试或者开发一个功能或驱动或深入的研究,或者你的情况需要使用到这些功能,
否则建议您设置此选项为N,选择N会使配置器展现较少的选项(简单的说就是把一些不稳定的新功能或以后可以不被
支持的旧功能屏蔽掉)。如果在这里选择Y,你将获得可以使用更多的功能和驱动在当前的测试版本中(这些功能在未
来的发行版中可能会被其他功能所代替或者被移出内核)

推荐:N
===================================
Local version - append to kernel release LOCALVERSION

Append an extra string to the end of your kernel version.
This will show up when you type uname, for example.
The string you set here will be appended after the contents of
any files with a filename matching localversion* in your
object and source tree, in that order. Your total string can
be a maximum of 64 characters.

附加一个字符串到内核

附加一个扩展的字符串到你内核的末尾。这会使你比较容易区分。
注意你附加字符串后的内核名称不能与同一个文件目录中的任何一个
文件同名。还有内核名称的总长度不能超过64个字符。

推荐无所谓
===================================
Automatically append version information to the version string LOCALVERSION_AUTO

This will try to automatically determine if the current tree is a
release tree by looking for git tags that belong to the current
top of tree revision.

A string of the format -gxxxxxxxx will be added to the localversion
if a git-based tree is found. The string generated by this will be
appended after any matching localversion* files, and after the value
set in CONFIG_LOCALVERSION.

(The actual string used here is the first eight characters produced
by running the command:

$ git rev-parse --verify HEAD

which is done within the script "scripts/setlocalversion".)

自动的增加版本信息到版本字符串中

这选项会自动尝试判断如果当前内核是一个正是发布的版本会自动获得处于最顶端的
修正的版本号。

一个字符串格式如:- gxxxxxxxxx 将会增加到本地版本上面,如果寻找到基础的版本。
这个字符串会产生一个增加版本号并且与内核文件相同的文件,然后后增加的版本号会
被记得在CONFIG_LOCALVERSION中(这是内核配置文件中的一个字段)。

(这个字符串的前8个字符可以通过下面的命令得到:

$ git rev-parse --verify HEAD

选择一个去填写"scripts/setlocalversion"这个脚本)

推荐:N

===================================
Support for paging of anonymous memory (swap) SWAP

This option allows you to choose whether you want to have support
for so called swap devices or swap files in your kernel that are
used to provide more virtual memory than the actual RAM present
in your computer. If unsure say Y.

支持使用虚拟内存

这个选项让你决定你的内核是否支持调用虚拟内存。

虚拟内存:是一种以物理硬盘实现的增加真是物理内存的技术,虚拟内存的大小通常是物理内存的
1-1。5倍,有人说如果物理内存超过1G就可以不使用虚拟内存了,不过我个人建议不要这样做,设
置一定的虚拟内存还是比较重要的。因为你无法保证你运行的任何一个应用程序使用的内存会均小于
你的物理内存。

推荐:Y
===================================

System V IPC SYSVIPC

Inter Process Communication is a suite of library functions and
system calls which let processes (running programs) synchronize and
exchange information. It is generally considered to be a good thing,
and some programs won't run unless you say Y here. In particular, if
you want to run the DOS emulator dosemu under Linux (read the
DOSEMU-HOWTO, available from <http://www.tldp.org/docs.html#howto>),
you'll need to say Y here.

You can find documentation about IPC with "info ipc" and also in
section 6.4 of the Linux Programmer's Guide, available from
<http://www.tldp.org/guides.html>.

系统交互进程通信

在程序通讯中调用的一组方法,系统调用他们使他们进行信息的同步和交互。
这项功能通常是必要的,如果你不选Y则可能有很多程序无法正常运行。
在个别情况下,如果你想运行DOS模仿程序使用dosemu在linux下(请阅读
DOSEMU-HOWTO文档, 网络支持 <http://www.tldp.org/docs.html#howto>
)那就就必须把该选项设置成Y。

你可以知道相关的文档关于IPC也可以在6.4版本的linux程序员导读中找到它。
网络支持<http://www.tldp.org/guides.html>.

推荐:Y
===================================
POSIX Message Queues POSIX_MQUEUE

POSIX variant of message queues is a part of IPC. In POSIX message
queues every message has a priority which decides about succession
of receiving it by a process. If you want to compile and run
programs written e.g. for Solaris with use of its POSIX message
queues (functions mq_*) say Y here.

POSIX message queues are visible as a filesystem called 'mqueue'
and can be mounted somewhere if you want to do filesystem
operations on message queues.

If unsure, say Y.

可移植性操作系统接口 消息队列

POSIX 变体型消息属于IPC的一部分。在POSIX消息队列中每个消息都有一个优先级
属性,这个属性决定了程序接受消息的次序。如果你想要编写和运行程序在Solaris
操作系统上使用POSIX消息队列的话那你就需要该选项为Y(Solaris是SUN公司的
UNIX操作系统)。

POSIX消息队列可以显示的表现成一个文件系统比如叫“mqueue”而且如果你想对
消息队列进行操作你还可以把它挂载在任何地方。

如果你不是很肯定它的作用那么请选择Y

推荐:Y

===================================
BSD Process Accounting BSD_PROCESS_ACCT

If you say Y here, a user level program will be able to instruct the
kernel (via a special system call) to write process accounting
information to a file: whenever a process exits, information about
that process will be appended to the file by the kernel. The
information includes things such as creation time, owning user,
command name, memory usage, controlling terminal etc. (the complete
list is in the struct acct in <file:include/linux/acct.h>). It is
up to the user level program to do useful things with this
information. This is generally a good idea, so say Y.

BSD 进程 帐号

如果这个选项为Y,一个用户级别的程序就可以通知内核(一种特别的系统调用方式)
去写入进程帐号信息到一个文件中:每当一个进程存在,那么关于该进程的信息
就会被内核以追加的方式写入到那个文件中。这个信息包括很多东西如:创建时间
,拥有者,命令名称,内存使用,控制终端等等。(它会以一个完成的列表形式的报告
存在于 <file:include/linux/acct.h>文件中)。它是一个对用户级别程序很有用的
信息。这个选项通常是个好东西,所以选择Y。

推荐:Y

===================================

BSD Process Accounting version 3 file format BSD_PROCESS_ACCT_V3

If you say Y here, the process accounting information is written
in a new file format that also logs the process IDs of each
process and it's parent. Note that this file format is incompatible
with previous v0/v1/v2 file formats, so you will need updated tools
for processing it. A preliminary version of these tools is available
at <http://www.physik3.uni-rostock.de/tim/k ... tils/acct/>.

BSD 进程 帐号 版本3文件格式

如果你选择Y,进程帐号信息会写入一种新的文件格式中,当然这种格式的文件
也会记录每个进程ID和他们的父级进程。记录用的新的文件格式与先前版本的
v0/v1/v2 的文件格式是不兼容的,所以你需要去更新你的的工具好让这个功能
正常使用。显示这个功能基本的工具可以到下面地址获得:
<http://www.physik3.uni-rostock.de/tim/k ... tils/acct/>.

推荐:Y

===================================
Export task/process statistics through netlink (EXPERIMENTAL) TASKSTATS

Export selected statistics for tasks/processes through the
generic netlink interface. Unlike BSD process accounting, the
statistics are available during the lifetime of tasks/processes as
responses to commands. Like BSD accounting, they are sent to user
space on task exit.

Say N if unsure.

导出 任务或进程 统计信息 穿越环形网络

导出选择的任务或进行的统计信息穿越 核心的环形网络接口。和BSD 进程帐号信息不同
,这个统计信息有效范围只在任务或进程的生命周期中反应命令。和BSD 帐号信息一样
它们都能够发送到用户空间当任务结束时。

如果你不是很肯定它的作用那么请选择N
===================================
User Namespaces (EXPERIMENTAL) USER_NS

Support user namespaces. This allows containers, i.e.
vservers, to use user namespaces to provide different
user info for different servers. If unsure, say N.

用户名空间

支持用户名空间。这个选项允许容器,也就是服务器,为不同的用户信息提供不
同的用户名空间服务。如果你不是很肯定它的作用那么请选择N
===================================
Auditing support AUDIT

Enable auditing infrastructure that can be used with another
kernel subsystem, such as SELinux (which requires this for
logging of avc messages output). Does not do system-call
auditing without CONFIG_AUDITSYSCALL.

审查 支持 审查

激活审查基础功能它可以使用辅助核心,如SELinux(输出需要的日志)。
不使用系统的审查功能CONFIG_AUDITSYSCALL。

推荐:Y
===================================

Enable system-call auditing support AUDITSYSCALL

Enable low-overhead system-call auditing infrastructure that
can be used independently or with another kernel subsystem,
such as SELinux. To use audit's filesystem watch feature, please
ensure that INOTIFY is configured.

激活系统调用的审查方式 支持

激活低额外消耗系统审查接口,它使用独立的其他的辅助系统,如SELinux。
用作审查文件系统观察功能,请确认它通知了配置器。

推荐:N

===================================
Kernel .config support IKCONFIG

This option enables the complete Linux kernel ".config" file
contents to be saved in the kernel. It provides documentation
of which kernel options are used in a running kernel or in an
on-disk kernel. This information can be extracted from the kernel
image file with the script scripts/extract-ikconfig and used as
input to rebuild the current kernel or to build another kernel.
It can also be extracted from a running kernel by reading
/proc/config.gz if enabled (below).

内核 配置文件 支持

这个选项允许使用完整的内核配置文件保存内核。它能提供一个文档来源于一个
正常使用的或在硬盘的内核,这些信息可以从内核镜像文件中提取(使用这个脚
本scripts/extract-ikconfig)然后使用这些信息重新构建当前内核或构建一个
新内核。它还能提取信息从一个正在运行的内核里如果这个功能开启了你能在
/proc/config.gz这个找到它。


推荐:N

===================================

Kernel log buffer size (16 => 64KB, 17 => 128KB) LOG_BUF_SHIFT

Select kernel log buffer size as a power of 2.
Defaults and Examples:
17 => 128 KB for S/390
16 => 64 KB for x86 NUMAQ or IA-64
15 => 32 KB for SMP
14 => 16 KB for uniprocessor
13 => 8 KB
12 => 4 KB

内核 日志缓冲区大小 (16 => 64K,17 => 128K)

选择一个日志缓冲大小

默认和举例:
17 => 128 KB for S/390
16 => 64 KB for x86 NUMAQ or IA-64
15 => 32 KB for SMP
14 => 16 KB for uniprocessor
13 => 8 KB
12 => 4 KB

推荐:17
===================================
Cpuset support CPUSETS

This option will let you create and manage CPUSETs which
allow dynamically partitioning a system into sets of CPUs and
Memory Nodes and assigning tasks to run only within those sets.
This is primarily useful on large SMP or NUMA systems.

Say N if unsure.

CPU设置

这个选项让你创建一个管理器,管理器可以动态的分配内存和CPU来完成任务。
这功能主要用于海量的SMP或者NUMA系统上。

如果你不是很肯定它的作用那么请选择N

推荐:Y 笔记本用户可以选择Y因为动态管理好像也包括调整CPU使用频率,我
一般平时只让CPU处于50%的功率上,有多任务才100%这样既可以省电也可以
延长硬件寿命。
===================================
Create deprecated sysfs files SYSFS_DEPRECATED

This option creates deprecated symlinks such as the
"device"-link, the <subsystem>:<name>-link, and the
"bus"-link. It may also add deprecated key in the
uevent environment.
None of these features or values should be used today, as
they export driver core implementation details to userspace
or export properties which can't be kept stable across kernel
releases.

If enabled, this option will also move any device structures
that belong to a class, back into the /sys/class hierarchy, in
order to support older versions of udev.

If you are using a distro that was released in 2006 or later,
it should be safe to say N here.

创建冲突 文件连接

这个选项会创建一些有冲突的连接如:驱动连接,辅助系统连接,“BUS”连接。
它也可以增加方向关键字在非事件环境中。
这些功能中没有一个是至今还在使用的,如导出驱动核心实现详细信息到用户空间
或导出那些不能与稳定发行版兼容的属性。

如果此功能开启,他会整理出一个框架类,退回/sys/class分级中,支持旧版本的
驱动。

如果你使用的内核是2006年的或那之后的稳定版,那你就可以放心的选择N了。

推荐:N

===================================
Kernel->user space relay support (formerly relayfs) RELAY

This option enables support for relay interface support in
certain file systems (such as debugfs).
It is designed to provide an efficient mechanism for tools and
facilities to relay large amounts of data from kernel space to
user space.

If unsure, say N.

内核到用户空间数据传递支持

这个选项激活可以支持数据转换接口支持在一些文件系统(比如调试文件系统)。
它提供了一个灵活可用的功能为工具可以转换大量的数据从内核到用户空间。

如果你不是很肯定它的作用那么请选择N

推荐:N
===================================
Initial RAM filesystem and RAM disk (initramfs/initrd) support BLK_DEV_INITRD

The initial RAM filesystem is a ramfs which is loaded by the
boot loader (loadlin or lilo) and that is mounted as root
before the normal boot procedure. It is typically used to
load modules needed to mount the "real" root file system,
etc. See <file:Documentation/initrd.txt> for details.

If RAM disk support (BLK_DEV_RAM) is also included, this
also enables initial RAM disk (initrd) support and adds
15 Kbytes (more on some other architectures) to the kernel size.

If unsure say Y.

初始化只读 文件系统 和 只读 硬盘

初始化的只读文件系统是ramfs它被一个引导程序(引导程序比如:loadlin或lilo)加载
然后加载挂载根目录之前的程序。它是典型的需要使用模块式加载而这又需要加载真正
的根文件系统和其他的东西。详细请查看<file:Documentation/initrd.txt>。

如果只读硬盘被支持,这也将增加15 Kbytes(更多相同的结构)内核大小。

如果你不是很肯定它的作用那么请选择Y
===================================
Initramfs source file(s) INITRAMFS_SOURCE

This can be either a single cpio archive with a .cpio suffix or a
space-separated list of directories and files for building the
initramfs image. A cpio archive should contain a filesystem archive
to be used as an initramfs image. Directories should contain a
filesystem layout to be included in the initramfs image. Files
should contain entries according to the format described by the
"usr/gen_init_cpio" program in the kernel tree.

When multiple directories and files are specified then the
initramfs image will be the aggregate of all of them.

See <file:Documentation/early-userspace/README> for more details.

If you are not sure, leave it blank.

由于不是选项所以暂时不翻译。
===================================

Optimize for size (Look out for broken compilers!) CC_OPTIMIZE_FOR_SIZE

Enabling this option will pass "-Os" instead of "-O2" to gcc
resulting in a smaller kernel.

WARNING: some versions of gcc may generate incorrect code with this
option. If problems are observed, a gcc upgrade may be needed.

If unsure, say N.

编译小体积核心(小心,这可能破坏掉编译)

激活这个选项将使用“-Os”代替参数“-02”来编译出一个较小的内核。

警告:一些版本的gcc编译器再使用了该选项之后可能产生错误的代码。
如果存在这重问题则,需要升级你的gcc编译器版本。

如果你不能肯定你需要它请选择N

推荐:N

===================================

Configure standard kernel features (for small systems) EMBEDDED

This option allows certain base kernel options and settings
to be disabled or tweaked. This is for specialized
environments which can tolerate a "non-standard" kernel.
Only use this if you really know what you are doing.

配置一些标准的内核功能

这个选项允许可靠的基础的内核选项,屏蔽一些废弃或过于超前的功能。下面是
一种适用于特殊情况的选项“non-standard”内核。使用这重内核的唯一情况,
就是你真正的清楚你需要它和你明白自己在做什么。

推荐:Y
===================================

Enable 16-bit UID system calls UID16

This enables the legacy 16-bit UID syscall wrappers.

激活 16位 UID

激活 16位 UID 以便被系统调用。

推荐:Y
===================================

Sysctl syscall support SYSCTL_SYSCALL

sys_sysctl uses binary paths that have been found challenging
to properly maintain and use. The interface in /proc/sys
using paths with ascii names is now the primary path to this
information.

Almost nothing using the binary sysctl interface so if you are
trying to save some space it is probably safe to disable this,
making your kernel marginally smaller.

If unsure say Y here.



===================================
目前研究自编译内核,有兴趣的朋友一起来吧~
头像
sonixrp
帖子: 505
注册时间: 2007-03-28 12:39

#2

帖子 sonixrp » 2007-11-28 15:27

预留位置0
目前研究自编译内核,有兴趣的朋友一起来吧~
头像
sonixrp
帖子: 505
注册时间: 2007-03-28 12:39

#3

帖子 sonixrp » 2007-11-28 15:27

预留位置1
目前研究自编译内核,有兴趣的朋友一起来吧~
头像
sonixrp
帖子: 505
注册时间: 2007-03-28 12:39

#4

帖子 sonixrp » 2007-11-28 15:27

预留位置2
目前研究自编译内核,有兴趣的朋友一起来吧~
头像
sonixrp
帖子: 505
注册时间: 2007-03-28 12:39

#5

帖子 sonixrp » 2007-11-28 15:28

预留位置3
目前研究自编译内核,有兴趣的朋友一起来吧~
头像
dogfox
论坛版主
帖子: 5311
注册时间: 2006-09-02 14:18
来自: 汉桑城
联系:

#6

帖子 dogfox » 2007-11-28 15:45

对于我来说目前还不能完全理解最新内核的新功能的含义和用途
一些貌似重要但只是细节的问题是系统的开机splash无法在自己编译的内核下使用?
必须重新编译显卡驱动?(这或许会导致无法继续使用compiz?)
正确的在U下编译内核的方法是什么?(以前我使用的都是在debin那看来的,而非纯正U下编译技巧)
全世界linux爱好者联合起来 !
头像
magicsky
帖子: 225
注册时间: 2007-03-30 9:46

#7

帖子 magicsky » 2007-11-28 15:51

好像不够详细阿,我大二的时候编译过内核,后来我把每个选项都记下来了,足足得写将近20页
在国外,众多程序员为了理想而夜以继日;
而在国内,程序员在为填饱自己和家人的肚子而埋头苦干。
头像
sonixrp
帖子: 505
注册时间: 2007-03-28 12:39

#8

帖子 sonixrp » 2007-11-28 15:53

陆续补充!
目前研究自编译内核,有兴趣的朋友一起来吧~
头像
windwiny
帖子: 2254
注册时间: 2007-03-13 17:26

#9

帖子 windwiny » 2007-11-28 18:50

以前好像有一个叫金步国的发过一个 2.6.19 还是什么版本的翻译,建议你在那个基础上加上新版本新的选项

搜索 作者名字肯定能找到
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#10

帖子 BigSnake.NET » 2007-11-28 18:56

^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
biosxjj
帖子: 277
注册时间: 2007-04-04 15:56

#11

帖子 biosxjj » 2007-11-28 18:56

占个广告位置 不错 最好介绍哈 block 设备 字符 设备 杂向设备 里面很多东西搞不明白
珍爱生命 请使用N卡
dedela
帖子: 90
注册时间: 2007-02-23 15:28

#12

帖子 dedela » 2007-11-28 20:55

这个工作量比较大,网上流传一个金步国的.19的版本,楼主可以参考一下,这样可能快些
头像
sonixrp
帖子: 505
注册时间: 2007-03-28 12:39

#13

帖子 sonixrp » 2007-11-29 10:13

多谢大家提供的宝贵意见,我的翻译想作的详细一些,不但会翻译原版英文的解释,以后也会加上大概意思的。
目前研究自编译内核,有兴趣的朋友一起来吧~
头像
fz420
帖子: 127
注册时间: 2007-06-18 5:23
来自: http://china.com

支持下

#14

帖子 fz420 » 2007-12-30 13:48

虽然看不懂,但是精神上支持一下, 努力吧,伙记
leowang
帖子: 29
注册时间: 2007-10-22 19:24

#15

帖子 leowang » 2007-12-31 23:46

呵呵,这个要是能翻译好了,好多人都会受益的,尤其是想编译内核却又不懂英文的,楼主好伟大呀!
回复