Linux 3.4.39内核编译配置选项介绍

来源:互联网 发布:狼雨seo网络工作室 编辑:程序博客网 时间:2024/05/17 01:10

    工程项目使用了全志H3平台,make menuconfig配置内核为Linux 3.4.39版本:


    在网上参考了一些配置选项,但是每个版本都有一些差异,在总结网友提供的资料的基础上面,对3.4x版本进行归纳总结如下。

—————————————————————————————————————————————————————————————————————————————

注:内容太多,可能一两天无法写完,但是会陆续更新,如果有的地方不确定我会表上自己翻译,等待后续理解后再更新。

General setup--->

-常规设置

    prompt for development and/or incomplete code/drivers

    -显示尚在开发中或尚未完成的代码与驱动,请慎重选择此项

    Cross-comiler tool prefix 

    -交叉编译工具前缀

    Local Version - append to kernel release 

    -在内核版本后面加上自定义的版本字符串(小于64字符),可以使用uname -a 命令查看

    Automatically append version information to the version string Kernel compression mode(Gzip) --->

    -自动在版本字符串后面添加版本信息并附到内核压缩模式(自己组织的语言~),编译时需要有perl以及git仓库支持

        Gzip

        Bzip2

        LZMA

        XZ

        LZO

    (sun8i) Default hostname   默认主机名sun8i

    Support for paging of anonymous memory (swap)

    -使用交换分区或者交换文件夹来作为虚拟内存

    System V IPC

    -System V进程间通信(IPC)支持,许多程序需要这个功能,必选择项,除非自己很清楚要做的任务

    POSIX Message Queues

    -POSIX消息队列,这是POSIX IPC中的一部分

    BSD Process Accounting

    -将进程的统计信息写入文件的用户级系统调用,主要包括进程的创建时间/创建者/内存占用等信息

    open by fhandle syscalls

    -通过fhandle 系统调用打开(自己翻译)

    Export task/process statistics through netlink (EXPERIMENTAL)

    -通过netlink接口向用户空间到处任务/进程的统计信息,与BSD Process Accounting的不同之处在于这些在整个任务/进程生存起都是可用的

    Auditing support 

    -审计支持,某些内核模块(例如SELinux)需要他,只有同时选择其子项才能对系统调用进行审计

        Enable system-call auditing support

        -(使能)系统调用的审计支持

        Make audit loginuid immutable

        - 使审计loginuid不可变(自己翻译)

    IRQ subsystem -->  无二级选项

    -IRQ 子系统

    RCU Subsystem --->

    -RCU子系统

        RCU Implementation (Preemptible tree-based hierarchical  RCU) --->

        -RCU实现(可抢占的基于树的分级RCU)

            Preemptible tree-based hierarchical RCU

            -可抢占的基于树的分级RCU

        Tree-based hierarchical RCU fanout value 

        -基于树的分级分级RCU “fanout" 值 (fanout是什么?)

        Disable tree-based hierarchical RCU auto-balancing

        -禁用基于树的分级RCU自动平衡

        Accelerate last non-dyntick-idle CPU's grace periods

        -加速最后一个非合成空闲CPU的宽限期(自己翻译)

        Enable RCU priority boosting 

        -启用RCU优先级提升

    Kernel .config supprot 

    -内核.config支持

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

    -内核log的缓存大小(前面选项写16则64kb,17则对应128kb)

    Control Group / support --->

    -控制 组/支持选项

        Example debug cgroup subsystem

        -调试cgroup子系统示例(cgroup是什么?)

        Freezer cgroup subsystem

        -冻结cgroup子系统

        Device controller for cgroups

        -cgroup的设备控制器

        Cpuset support 

        -只含有大量CPU(大于16个)的SMP系统或NUMA(非一致内存访问)系统才需要此项

        Simple CPU accounting cgroup subsystem

        -简单的 CPU统计(cgroup的)子系统(自己翻译)

        Resource counters 

        -资源计数器

             Memort Resource Controller for Control Groups 

             -控制组的内存资源控制器

        Enable perf_event per-cpu per-container group (cgroup) monitoring

        -使能 perf_event per-cpu per-container的监视器( perf_event per-cpu per-container是什么东西)

        Group CPU scheduler --->

        -CPU组调度程序

            Group scheduling for SCHED_OTHER

            -SCHED_OTHER的调度程序

                CPU bandwidth provisioning for FAIR_GROUP_SCHED

                -FAIR_GROUP_SCHED的CPU带宽配置

            Group scheduling for SCHED_RR/FIFO

            -SCHED_RR/FIFO的调度

         Block IO conrtoller 

         -IO区块控制器

    Checkpoint / restore support 

    -检查/恢复点支持(自己翻译)

    Namespaces support --->

    -命名空间支持

        UTS namespace 

        -UTS命名空间支持,若不确定可以不选择

        IPC namespace 

        -~~~

        User namespace (EXPERIMENTAL)

        -用户命名空间(是还在实验使用阶段吗?)

        PID Namespaces

        -~~~

        Network namespace 

        -网络命名空间

    Automatic process group scheduling 

    -自动进程组的调度

    Enable deprecated sysfs features to support old userspace tools 

    -启用不推荐的sysfs功能用以支持旧的用户空间工具

    Kernel -> user space relay support (formerly relayfs)

    -内核---用户空间中继支持(之前的relayfs)

    Initial RAM filesystem and RAM disk (initramfs/initrd) support (选中此项则会有如下6项 )

    -初始化RAM文件系统和RAM磁盘(如果启动计算机所必需的模块都在内核里的话可以不选择此项)

        Initramfs source file(s)

        Support initial ramdisks compressed using gzip

        -支持使用gzip压缩的出事ramdisks

        Support initial ramdisks compressed using bzip2

        -~~

        Support initial ramdisks compressed using LZMA

        -~~

        Support initial ramdisks compressed using XZ

        -~~

        Support initial ramdisks compressed using LZO

        -~~

    Optimize for size 

    -优化size(是指内存大小吗?)

    Default panic timeout

    -默认的超时(时限)

    Configure standard kernel features (expert users) --- >

    -配置标准内核功能(专家用户)

        Systl syscall support

        -systl系统调用支持

        Load all symbols for debugging/ksymoops

        -加载调试/ksymoops的所有符号

            Include all symbols in kallsyms

            -包括在kallsyms的所有符号

        Support for hot-pluggable devices

        -支持热插拔设备,比如USB与pc卡等,Udev也需要此选项

        Enable support for printk 

        -(使能)支持printk(printk是内核打印方法,类似于print函数,也就是支持内核调试打印输出了)

        BUG() suport 

        -bug支持

        Enable ELF core dumps

        -内存转储支持,可以帮助调试ELF格式的程序

        Enable PC-Speaker support (NEW)

        -(使能)PC-Speaker 支持(新功能哦)

    Enable full-sized data structures for core 

    -在内核当中使用全尺寸的数据结构(禁用它将会使得某些内核的数据结构减小以节约内存,但是会将性能降低)

    Enable futex support 

    -快速用户空间互斥体可是使线程串行化以避免竞争态条件,也提高了响应速度,禁用将导致内黑不能够正确的运行基于glibc的程序

    Enable eventpoll support 

    -支持时间轮训的系统调用

    Enable signalfd() system call 

    -支持signalfd的系统调用

    Enable timerfd() system call

    -~~

    Enable eventfd() system call 

    -~~

    Use full shmem filesystem

    -完全使用shmem文件系统来代替ramfs.shmem是基于共享内存的文件系统(可能用到swap),在启用TMPFS后可以挂载为tmpfs供用户空间使用,它比简单的ramfs先进很多。

    Enabel AIO support

    -使能AIO的支持

    Embedded system

    -嵌入式系统

    Kernel Performance Event And Counters --->

    -内核性能事件和计数器

        Kernel performance counters (old config option)

        -内核性能计数器(旧配置选项)

        Debug:use vmalloc to back perf mmap() buffers 

        -调试:使用vmalloc来返回perf mmap()缓冲区(数据)

    Enable VM event counters for /proc/vmstat 

    -允许在/proc/vmstat中包含虚拟内存事件计数器

    Enable PCI quirk workarounds (NEW)

    -(使能)PCI quirk解决方法(新功能)

    Disable  heap randomization

    -禁用堆随机

    Choose SLAB allocator (SLAB) --->

    -选择SLAB分配器(SLAB)

        SLAB

        SLUB (Unqueued Allocator)

        SLOB (Simple Allocator)

    Profiling support 

    -对系统的活动进行分析,供内核开发者使用

    OProfile system profiling

    -OProfile 系统分析

    Kprobes

    -供内核开发者使用

    Optimize very unlikely/ likely branches

    -优化不太可能/可能的分支

    GCOV-based kernel profiling --->

    -基于GCOV的内核分析

        Enable gcov-based kernel profiling

        -(使能)基于gcov的内核分析




原创粉丝点击