linux-内核配置文件中代码的含义
Meaning of the code in the linux-kernel config file
我想为 raspberry pi 3 配置和构建内核。但是当我读取配置文件时,我不知道 linux-kernel
配置文件中的代码是什么意思。我尝试搜索它,但找不到它。
EX:
CONFIG_SYSVIPC=y
-> CONFIG_SYSVIPC
是什么意思?
CONFIG_POSIX_MQUEUE=y
-> CONFIG_POSIX_MQUEUE
是什么意思?
用于配置内核的内核配置文件,如enable/disable驱动程序。
CONFIG_PCI=y表示,内核源码中的PCI部分会被编译。如果 PCI 接口在硬件中可用,我们将在配置文件中启用 PCI。
CONFIG_SYSVIPC=y 在内核中启用消息队列、信号量集和共享内存段。
CONFIG_POSIX_MQUEUE=y 在内核中启用 posix 消息队列。
参考下面的link以便更好地理解,
http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/kconfig.html
I try search it but I can't find it.
使用 find
管道传输到 grep
以在内核源代码的 Kconfig* 文件中找到配置参数的定义:
find . -name "Kconfig*" | xargs grep "config PARM"
其中 PARM 是 CONFIG_PARM 的文本。
Kconfig* 文件的树结构和整个菜单记录在 https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt
CONFIG_SYSVIPC=y -> what does CONFIG_SYSVIPC mean?
使用搜索方法产生
/home/test/linux-4.4.1$ find . -name "Kconfig*" | xargs grep "config SYSVIPC"
./arch/x86/Kconfig:config SYSVIPC_COMPAT
./arch/mips/Kconfig:config SYSVIPC_COMPAT
./arch/powerpc/Kconfig:config SYSVIPC_COMPAT
./arch/parisc/Kconfig:config SYSVIPC_COMPAT
./arch/s390/Kconfig:config SYSVIPC_COMPAT
./arch/ia64/Kconfig.debug:config SYSVIPC_COMPAT
./arch/sparc/Kconfig:config SYSVIPC_COMPAT
./arch/tile/Kconfig:config SYSVIPC_COMPAT
./arch/arm64/Kconfig:config SYSVIPC_COMPAT
./init/Kconfig:config SYSVIPC
./init/Kconfig:config SYSVIPC_SYSCTL
/home/test/linux-4.4.1$
除了 arch 相关的条目之外,init 子系统在 init/Kconfig.[=45 中具有主要配置条目=]
如果幸运的话,"help" 部分中有一个不错的解释。
config SYSVIPC
bool "System V IPC"
---help---
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>.
CONFIG_POSIX_MQUEUE=y -> what does CONFIG_POSIX_MQUEUE mean?
使用搜索方法产生
/home/test/linux-4.4.1$ find . -name "Kconfig*" | xargs grep "config POSIX_MQUEUE"
./init/Kconfig:config POSIX_MQUEUE
./init/Kconfig:config POSIX_MQUEUE_SYSCTL
/home/test/linux-4.4.1$
检查 init/Kconfig 发现此配置条目:
config POSIX_MQUEUE
bool "POSIX Message Queues"
depends on NET
---help---
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.
当然你不应该直接编辑 .config 文件。
使用 menuconfig(或类似的)make 目标(例如 make menuconfig
)以确保满足所有依赖项并且所有自动选择将被启用。
我想为 raspberry pi 3 配置和构建内核。但是当我读取配置文件时,我不知道 linux-kernel
配置文件中的代码是什么意思。我尝试搜索它,但找不到它。
EX:
CONFIG_SYSVIPC=y
-> CONFIG_SYSVIPC
是什么意思?
CONFIG_POSIX_MQUEUE=y
-> CONFIG_POSIX_MQUEUE
是什么意思?
用于配置内核的内核配置文件,如enable/disable驱动程序。
CONFIG_PCI=y表示,内核源码中的PCI部分会被编译。如果 PCI 接口在硬件中可用,我们将在配置文件中启用 PCI。
CONFIG_SYSVIPC=y 在内核中启用消息队列、信号量集和共享内存段。
CONFIG_POSIX_MQUEUE=y 在内核中启用 posix 消息队列。
参考下面的link以便更好地理解, http://www.tldp.org/HOWTO/SCSI-2.4-HOWTO/kconfig.html
I try search it but I can't find it.
使用 find
管道传输到 grep
以在内核源代码的 Kconfig* 文件中找到配置参数的定义:
find . -name "Kconfig*" | xargs grep "config PARM"
其中 PARM 是 CONFIG_PARM 的文本。
Kconfig* 文件的树结构和整个菜单记录在 https://www.kernel.org/doc/Documentation/kbuild/kconfig-language.txt
CONFIG_SYSVIPC=y -> what does CONFIG_SYSVIPC mean?
使用搜索方法产生
/home/test/linux-4.4.1$ find . -name "Kconfig*" | xargs grep "config SYSVIPC"
./arch/x86/Kconfig:config SYSVIPC_COMPAT
./arch/mips/Kconfig:config SYSVIPC_COMPAT
./arch/powerpc/Kconfig:config SYSVIPC_COMPAT
./arch/parisc/Kconfig:config SYSVIPC_COMPAT
./arch/s390/Kconfig:config SYSVIPC_COMPAT
./arch/ia64/Kconfig.debug:config SYSVIPC_COMPAT
./arch/sparc/Kconfig:config SYSVIPC_COMPAT
./arch/tile/Kconfig:config SYSVIPC_COMPAT
./arch/arm64/Kconfig:config SYSVIPC_COMPAT
./init/Kconfig:config SYSVIPC
./init/Kconfig:config SYSVIPC_SYSCTL
/home/test/linux-4.4.1$
除了 arch 相关的条目之外,init 子系统在 init/Kconfig.[=45 中具有主要配置条目=] 如果幸运的话,"help" 部分中有一个不错的解释。
config SYSVIPC
bool "System V IPC"
---help---
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>.
CONFIG_POSIX_MQUEUE=y -> what does CONFIG_POSIX_MQUEUE mean?
使用搜索方法产生
/home/test/linux-4.4.1$ find . -name "Kconfig*" | xargs grep "config POSIX_MQUEUE"
./init/Kconfig:config POSIX_MQUEUE
./init/Kconfig:config POSIX_MQUEUE_SYSCTL
/home/test/linux-4.4.1$
检查 init/Kconfig 发现此配置条目:
config POSIX_MQUEUE
bool "POSIX Message Queues"
depends on NET
---help---
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.
当然你不应该直接编辑 .config 文件。
使用 menuconfig(或类似的)make 目标(例如 make menuconfig
)以确保满足所有依赖项并且所有自动选择将被启用。