工程项目使用了全志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的内核分析




更多相关文章

  1. ubuntu14.04下qemu调试linux内核
  2. ATT汇编与Intel汇编的区别,摘自《深入分析linux内核源码》一书
  3. 操作系统的理念—以windows和linux为例
  4. Linux入门笔记之一:系统分区及挂载点
  5. Linux中断(interrupt)子系统之三:中断流控处理层【转】
  6. 在linux 列出 超级用户 普通用户和 系统用户
  7. Linux系统下 使用Lsof恢复误删除的文件
  8. Linux内核中的container_of函数简要介绍
  9. Linux系统中配置YUM

随机推荐

  1. 2021最新发布:迈向高级的Java面试突围课
  2. 【开发者必看】移动应用趋势洞察白皮书-
  3. 关于 Git 的 20 个面试题[每日前端夜话0x
  4. 三子棋
  5. 怎样在 Linux 中配置静态网络连接[每日前
  6. 坚持写博客的第二天,在敲代码的时候时间过
  7. 使用 TypeScript 和依赖注入实现一个聊天
  8. 分享崔庆才的一些学习经验和生活感悟
  9. 为什么要用 Node.js?[每日前端夜话0x77]
  10. pytest中print的坑