Linux内核配置(1)

bcache配置方法 - Linux内核之bcache 1.1 本文不再花时间介绍bcache的基本概念了,这不是本文的重点,想给出几个官方链接大家自己看吧。另外本文结尾的参考文章可以为大家提供一些其他信息。 阅读详情

General setup --->

[ ] Prompt for development and/or incomplete code/drivers

显示尚在开发中或尚未完成的代码和驱动

默认选择

会在设置界面中显示还在开发或者还没有完成的代码与驱动,也包含一些过时的驱动。大多数情况下,应该选择,许多设备的驱动可能需要这个选项才能进行配置。

( ) Cross-compiler tool prefix (NEW)

交叉编译工具前缀

默认取消

如果使用交叉编译工具,输入相关前缀。

() Local version - append to kernel release (NEW)

在内核版本后面加上自定义的版本字符串

(小于64字符),可用"uname -a"命令看到

[ ] Automatically append version information to the version string

自动在版本字符串后面添加版本信息

会尝试自动探测目前的编译树列是否是一个发行版本树列,通过寻找git标记来完成,归属于目前的树列修正版顶层。

编译时需要有perl以及git仓库支持。

Kernel compression mode (Bzip2) --->

内核压缩格式

一般默认gzip,如果用bzip2,lzma,lzo,要先安装相关解压缩工具。

相对于默认的Gzip,Bzip2 拥有更高的压缩比

() Gzip
( ) Bzip2
( ) LZMA
( ) XZ
( ) LZO

() Default hostname

指定一个默认的主机名

可以省去使用sethostname命令设置主机名称。在制作最小系统时比较有用。

[ ] Support for paging of anonymous memory (swap) (NEW)

虚拟内存页交换(swap)支持

启用交换分区或者交换文件。

推荐Y

[ ] System V IPC

System V进程间通信

为兼容使用System V IPC的UNIX程序而设的,若不考虑兼容性,可忽略这个参数。

提供相关系统调用及函数库。为进程提供通信机制,使系统中各进程有交换信息与保持同步的能力。

参考:System V 的IPC机制

某些程序以及DOS模拟环境都需要它。

推荐Y

[ ] POSIX Message Queues

POSIX消息队列

为兼容POSIX标准而设计,同样是IPC。

一个优先权,可以决定进程处理POSIX消息的连续性。若要编译和运行比如写给Solaris 的程序,他们使用了POSIX消息队列,这里需要选Y。

推荐Y

[ ] BSD Process Accounting

将进程的统计信息写入文件的用户级系统调用

使用户级别的程序可以通过特殊的系统调用方式通知内核把进程统计信息记录到一个文件。信息包括进程创建时间、创建者、命令名称、内存使用、控制终端等。对用户级程序非常有用。

使用accton命令可以开启这个功能。

嵌入式系统中通常不需要。

参考:HOWTO linux进程统计(process accounting)

推荐Y

[ ] BSD Process Accounting version 3 file format (NEW)

使用新的第三版文件格式

可以包含每个进程的PID和其父进程的PID,但是不兼容老版本(v0/v1/v2)的文件格式。所以需要升级工具软件以处理它。

V3格式是一种二进制的格式。若想明码保存,不应选择此项。

[ ] open by fhandle syscalls (NEW)

打开文件可以通过句柄子系统调用

[ ] Export task/process statistics through netlink (EXPERIMENTAL)

通过网络(netlink)接口向用户空间导出任务/进程的统计信息(实验阶段)

netlink是一种在内核与用户应用之间进行双向数据传输的非常好的方式,用户应用使用标准的socket API就可以使用netlink提供的强大功能。

与BSD Process Accounting的不同之处在于这些统计信息在整个任务/进程生存期都是可用的。可选N

[ ] Enable per-task delay accounting (EXPERIMENTAL)

统计数据包含每个任务/进程的延时(实验阶段)

允许单任务延迟统计通过任务等待系统资源的方式收集信息,这会收起时间的花销。系统的资源如CPU、同步I/O复合块和交换页面等等。这些统计信息可以帮助设置一个任务的cpu/io/iss优先级等。可选N

[ ] Enable extended accounting over taskstats (EXPERIMENTAL)

统计数据包含扩展任务读取数据和发送数据使用的时间(实验阶段)

允许通过任务状态进行扩展统计收集扩展任务统计数据,并把它们发送至用户空间,以便可以用任务状态接口进行处理。如果不清楚,选N

[ ] Enable per-task storage I/O accounting (EXPERIMENTAL)

统计数据包括I/O设备产生的字节数

允许单任务储存I/O统计收集任务引发的储存I/O上的一定数量的字节信息。如果不清楚,选N。

[ ] Auditing support

支持审计功能

允许审计的基础结构能够被其他内核子系统使用。如SELinux需要这个来进行登录时的声音和视频输出(记录avc消息输出)。使用SELinux安全模型必选

需同时选择其子项才能对系统调用进行审计。

若无需高安全需要,可选N

[ ] Enable system-call auditing support (NEW)

开启系统调用的审计功能

允许低层的系统调用审计构架,这可以独立使用,或者用于其他的内核子系统,比如SELinux要使用审计的文件系统监视特性。

需确保INOTIFY被配置。

[ ] Make audit loginuid immutable (NEW)

IRQ subsystem --->

中断子系统

-*- Support sparse irq numbering

支持稀有的中断号

RCU Subsystem --->

非对称读写锁系统

一种新的kernel 锁机制,适用于读多写少环境。

对于被RCU保护的共享数据结构,读者不需要获得任何锁就可以访问它,但写者在访问它时首先拷贝一个副本,然后对副本进行修改,最后使用一个回调(callback)机制在适当的时机把指向原来数据的指针重新指向新的被修改的数据。这个时机就是所有引用该数据的CPU都退出对共享数据的操作。

RCU Implementation (Classic RCU) --->

选择标准的RCU 系统

tree-base 是给拥有大规模CPU 集群的SMP 系统用的

[ ] Enable tracing for RCU (NEW)
(32) Tree-based hierarchical RCU fanout value (NEW)

RCU树的分支数

[ ] Disable tree-based hierarchical RCU auto-balancing (NEW)

关闭RCU自动均衡功能

[ ] Accelerate last non-dyntick-idle CPU's grace periods (NEW)

提高非休眠CPU的使用时间

<> Kernel .config support (NEW)

允许.config文件保存在内核中

提供正在运行中的或者还在硬盘中的内核的相关配置选项。

可以通过内核镜像文件kernel image file用脚本scripts/extract-ikconfig来提取出来,作为当前内核重编译或者另一个内核编译的参考。

内核在运行中,可以通过/proc/config.gz文件来读取。下一个选项提供这项支持。

[] Enable access to .config through /proc/config.gz

允许通过/proc/config.gz访问内核的配置信息

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

内核日志缓冲尺寸

使用dmesg可读取内核的环缓冲区(ring buffer),输出许多启动信息。

这个值是以2的平方取的,取值范围12-21

17=128kb、16=64kb、15=32kb、14=16kb、13=8kb、12=4kb

[] Control Group support --->

cgroups 给进程分组,以动态调控进程组的CPU 占用

如A 进程分到apple组,给予20%CPU 占用,E 进程分easy 组,给予50%CPU 占用,最高100%。

会使得像使用多CPU一样使用处理器组子系统。

若不清楚,推荐N

--- Control Group support
[ ] Example debug cgroup subsystem (NEW)

调试组控制子系统范例

这个选项开启一个简单的组控制子系统,输出有用的关于组控制框架的调试信息。如果不清楚,选N。

[] Freezer cgroup subsystem
[ ] Device controller for cgroups (NEW)

cgroups设备控制器

[] Cpuset support

创建和管理CPUSETs

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

[]Include legacy /proc//cpuset file ( (NEW)
西门子触摸屏教程wincc flexible2008 sp5 Smart V3 V4中文版软件 阅读详情

相关推荐

ADC选型实战:从参数指标到精准应用的工程指南

本文深入解析ADC(模数转换器)选型的关键参数与实战技巧,涵盖分辨率、转换误差等核心指标,并提供高精度温度测量、高速数据采集等五大应用场景的选型指南。通过实际案例和代码示例,详细讲解校准方法、功耗优化策略及常见问题排查,帮助工程师实现从参数指标到精准应用的工程实践。

weixin_29166013的博客 326

你对Linux下的实时性应该多点了解

本文讲述一些有利于提高xenomai实时性的配置建议,部分针对X86架构,但它们的底层原理相通,同样适用于其他CPU架构和系统,希望对你有用。希望能够帮助大家。本文来自于微信公众号嵌入式Linux ,由火龙果软件Linda编辑、推荐。本文讲述一些有利于提高xenomai实时性的配置建议,部分针对X86架构,但它们的底层原理相通,同样适用于其他CPU架构和系统,希望对你有用。一、前言1. 什么是实时“实时”一词在许多应用领域中使用,人们它有不同的解释,并不总是正确的。

usstmiracle的博客 2372

宝塔面板 python管理器2.0安装Mrdoc

自从python管理器从1.9升级2.0后,导致原教程不能使用。 故关于2.0新开教程如下。 关于python管理器2.0 最大的区别在于: python管理器2.0不再需要进入虚拟环境,直接在当前环境进行操作,但是需要指定python路径及pip路径。 1、新建mrdoc工程目录,下载源码: 新建目录【mrdoc】,进入mrdoc目录,并在宝塔ssh或或远程ssh中执行 ,下载源码 git clone https://gitee.com/yang_lite/MrDoc.git .

debj031634的专栏 5993

linux内核编译选项详解

linux内核编译选项详解(一):General setup<br />[*]Prompt for development and/or incomplete code/drivers<br />显示尚在开发中或尚未完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。这个选项同样会让一些老的驱动的可用。如果你选了Y,你将会得到更多的阿尔法版本的驱动和代码的配置菜单。<br />()Local version – append to kernel release<

lixuyuan的专栏 1万+

InsightFace(RetinaFace + ArcFace)人脸识别实战:从模型部署到Web服务构建

本文详细介绍了如何利用InsightFace框架,结合其集成的RetinaFace人脸检测与ArcFace人脸识别预训练模型,从零开始构建一个高性能的Web人脸识别服务。内容涵盖环境搭建、模型部署、核心代码解析(包括五点仿射对齐关键步骤)、FAISS向量检索集成以及基于FastAPI的Web服务开发,并提供了实战优化与常见问题排查指南,帮助开发者快速实现工业级应用。

weixin_29054245的博客 227

拆解大疆M300电池BMS:基于TI TIDA-010030方案的硬件架构深度分析

本文深度解析了大疆M300无人机电池管理系统(BMS)基于TI TIDA-010030参考设计的硬件架构。通过对比TI方案与大疆实现的差异,详细介绍了BQ7694003监控前端和BQ34Z100电量计的优化设计,以及通信架构的可靠性改进。文章还揭示了大疆在成本、空间和标准化方面的工程妥协与创新平衡,为锂电池保护方案提供了实践参考。

weixin_27066963的博客 239

Linux内核配置

基于Linux Kernel v2.6.36-gentoo-r5 General setup --->[*]Prompt for development and/or incomplete code/drivers//默认情况下是选择的,这将会在设置界面中显示还在开发或者还没有完成的代码与驱动.你应该选择它,因为有许多设备可能必需选择这个选项才能进行配置,实际上它是安全的。 () Cross-compiler tool prefix //交叉编译工具前缀,如果你要使用交叉编译工具的话输入相关前缀。默认

huabiaochen的博客 3396

LobeHub开源AI应用平台:从部署到定制的全栈实践指南

在现代AI应用开发领域,大语言模型(LLM)的集成与部署是核心技术挑战之一。其原理在于通过API或本地化部署,将预训练模型的强大能力封装为可调用的服务。这项技术的核心价值在于极大地降低了AI应用的开发门槛,使开发者能够快速构建智能对话、内容生成等场景的应用。随着模型即服务(MaaS)模式的普及,一个关键痛点是如何高效地管理多模型、设计友好的用户界面并实现功能扩展。这正是开源项目LobeHub所聚焦的领域,它通过提供可插拔的架构和配置驱动的低代码理念,解决了AI能力落地的“最后一公里”问题。本文将结合Dock

weixin_27210125的博客 756

Linux内核(4.17.10)配置项详解(x86)

https://blog.youkuaiyun.com/liao20081228/article/details/81389813 64-bit kernel——支持64位 General setup——通用设置 Cross-compiler tool prefix——交叉编译工具前缀 Local version-append to kernel release——内核显示的版本信息,填入6...

liuzq的专栏 9677

机器学习笔记之玻尔兹曼机(一)基本介绍

在受限玻尔兹曼机——模型表示(Representation)一节中以玻尔兹曼机为引,介绍了受限玻尔兹曼机。从本节开始,将正式介绍玻尔兹曼机。相比于它的表示和推断过程,我们更关注它在求解过程中出现的问题。

静静的学习就好 7924

Agisoft Metashape相机标定笔记

使用Metashape进行自动相机标定是可能的。(可选:使用打印的棋盘格图案,但需保证它是平坦的且单元格是正方形)。相机标定步骤支持全相机标定矩阵的估计,包含非线性的畸变参数。相机模型的细节请参照附录D——相机模型板块。:在通用的工作流程中,相机标定步骤可以跳过。因为Metashape会在图像定向过程中进行相机自标定。但是,如果定向结果不稳定,例如,由于影像之间缺乏连接点,额外进行单独的相机标定步骤也许是有用的。

天桥飞熊的博客 3975

内核裁剪和部分选项的意义

嵌入式驱动开发,内核开发,都避免不了的和Linux打交道,尤其是做系统移植,在编译内核的时候,我们都需要把没用的内核模块给删除掉,以减少内核的文件大小,这当然也是嵌入式的一个特性。好在现在的硬件技术已经很发达了,内存芯片,处理器速度都能满足我们正常的需求,所以,对内核的裁剪也没有之前那么严格,不过作为一个Linux开发者,这些内核的配置确实我们不得不了解的一部分内容。 一下是关于内核配置的部分说

linux 1万+

IgH EtherCAT 从入门到精通:第 4 章 网络设备驱动选型与配置

摘要:本章详细介绍了EtherCAT主站网络设备驱动的选型与配置。IgH EtherCAT Master提供Generic通用驱动和Native原生驱动两种方案:Generic驱动通过Linux Socket接口实现,兼容性强但实时性较差;Native驱动通过修改网卡驱动绕过内核协议栈,具有更低延迟和更小抖动。文章具体分析了e1000/e1000e/igb/igc等Intel网卡驱动以及r8169/8139too等Realtek驱动的配置方法,并提供了驱动选型建议。对于实时性要求高的场景,推荐使用Nativ

从事嵌入式linux android驱动开发,拥有全栈能力 304

linux内核4.1配置UVC

在menuconfig以下路径: 输入 / 搜索 UVC 打开相应选项后进行以下配置 | -> Device Drivers | -> Multimedia support (MEDIA_SUPPORT [=y]) | -> Media USB Adapters (MEDIA_USB_SUPPORT [=y]) 选择USB Video Class (UVC) 、UVC input events device ...

weixin_42431233的博客 2385

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

ELF 1开发板Linux内核时间戳配置与优化指南

时间戳是Linux系统中记录事件发生时刻的核心机制,基于从1970年1月1日开始的秒数或纳秒数计算。其实现原理依赖于内核的clocksource和时间子系统,通过硬件定时器提供基础计时能力。精确的时间戳在嵌入式开发中具有重要技术价值,特别是在系统调试、性能分析和工业控制等场景中。对于采用Cortex-A7架构的ELF 1开发板,默认配置可能未开启高精度时间戳功能,这会影响dmesg日志分析和实时性要求高的应用。通过配置CONFIG_PRINTK_TIME和CONFIG_PRINTK_TIME_MICRO等内

weixin_33795743的博客 443

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

linux 内核支持802.1q,Linux 下 802.1Q VLAN 实现配置工具

如果要使vlan之间进行通信,我们通常会使用三层交换机或者路由器子接口模式来做。Linux上关于VLAN与Cisco交换机中继连接,也是可以实现其互相之间的通信的。环境:RHEL 5.2 最小化安装,物理网卡eth1,作为VLAN交换机连接的Trunk口连接到2960的GigabitEthernet0/1。而另外一张物理网卡eth0作为上行口,连接其他网络。Cisco 2960,启用VLAN,VL...

weixin_33791488的博客 1101

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

3.1Linux内核的配置和编译

Linux内核的配置和编译 之所以要对内核进行配置,这是很多都是硬件的需求,和软件的需求。就是选择自己需要的,去掉自己不要的。 配置内核的方法: make config:基于文本模式的交互式配置。 make menuconfig:基于文本模式的菜单型配置。 上面有两种配置方法,但是make config是几乎不用的。他是一问一答的配置方法...

ashe9657的博客 330

1、Linux内核的配置和编译

Linux内核的配置和编译 之所以要对内核进行配置,这是很多都是硬件的需求,和软件的需求。就是选择自己需要的,去掉自己不要的。 上面有两种配置方法,但是make config是几乎不用的。他是一问一答的配置方法。很费时间。所以,都是采用make menuconfig来配置内核的。 接下来是配置的简单实例: 运行make me...

ashe9657的博客 178

linux内核漏洞利用初探(1):环境配置

主要记录一下学习muhe师傅的系列教程,记录其中的坑点。 环境说明: 内核版本2.6.32.1 busybox版本1.19.4 gcc版本4.7 实验环境ubuntu16.04 1.更新gcc 内核2.6.x只支持gcc 3.x和4.x.y,可能是较高版本的gcc不支持老版本kernel的某些语法格式。 gcc下降: sudo apt-get install -y gcc-4.7 sudo apt...

panhewu9919的博客 2362

Web爬虫系统设计:从Requests到工程化实践

Web爬虫是自动获取网页数据的程序,其核心难点并非发送请求与解析HTML,而在于URL管理、去重策略、限速控制、异常恢复与数据建模等系统化设计。本文从工程视角出发,以Python为例拆解爬虫的模块化架构,包括调度器、下载器、解析器、存储器及错误处理机制,并给出可直接运行的示例代码。同时强调robots协议与合规边界,讨论动态页面、接口优先、断点续爬及数据表去重等实践要点。无论你是初学者还是需要构建稳定采集系统的工程师,都能从中获得从一次性脚本向可维护爬虫系统进阶的完整路径。

weixin_30843605的博客 370

内核驱动1 - 配置linux驱动

一个裸机程序,为kernel启动准备环境并引导 kernel 启动启动内核后bootloader不在控制CPU,CPU的控制权转交给内个kernel。

2301_80286382的博客 1037

S3c6410 linux内核移植(1)---下载与配置

一、 下载内核及交叉编译工具 (1)http://git.kernel.org/?p=linux/kernel/git/kki_ap/linux-2.6-samsung.git;a=summary到以上地址下载linux内核的三星分支,这里选取“2.6.28-samsung”版本。 (2) 安装4.3.1-eabi-armv6编译器. http://cs.sch.ac.kr/~c

Harric 1007

戴文的Linux内核专题:05 配置内核 (1)

现在我们已经了解了内核,现在我们可以进入主要工作:配置并编译内核代码。配置内核代码并不会花费太长时间。配置工具会询问许多问题并且允许开发者配置内核的每个方面。如果你有不确定的问题或者特性,你最好使用配置工具提供的默认值。本系列教程会使读者逐步了解配置内核的整个过程。 配置代码前需要在源文件的文件夹内打开一个终端。当终端打开后,基于你喜好的配置界面,这里有几种不同的配置方法:

Eric 690

戴文的Linux内核专题:05配置内核(1)

转自Linux中国 现在我们已经了解了内核,现在我们可以进入主要工作:配置并编译内核代码。配置内核代码并不会花费太长时间。配置工具会询问许多问题并且允许开发者配置内核的每个方面。如果你有不确定的问题或者特性,你最好使用配置工具提供的默认值。本系列教程会使读者逐步了解配置内核的整个过程。 配置代码前需要在源文件的文件夹内打开一个终端。当终端打开后,基于你喜好的配置界面,这里有几种不同的配置方

メ依戀メ伱じ☆ve 964

Linux内核中内存管理相关配置项的详细解析1

Linux内核中内存管理相关配置项的详细解析1

phmatthaus的专栏 1125
上一篇: tftp、nfs配置
下一篇: Linux内核配置(2)
syshlang
博客等级 码龄12年 8粉丝 29原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值