首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

详解Linux内核编译配置(menuconfig)、文件系统制作

目录 详解Linux内核编译配置(menuconfig)、文件系统制作 一、Linux内核配置原理 Linux内核配置系统由三个部分组成, Linux 内核的编译菜单有3中方法: Menuconfig...配置内核原理: 二、Menuconfig主要功能选项介绍: 三、编译配置内核步骤 四、文件系统制作步骤 五、文件系统和根文件系统区别联系 博主热门文章推荐: ---- 详解Linux内核编译配置(menuconfig...)、文件系统制作 Linux内核配置原理 Menuconfig主要功能选项介绍 编译配置内核步骤 制作文件系统步骤 文件系统和根文件系统区别联系 ---- 一、Linux内核配置原理 Linux内核配置系统由三个部分组成..., 分别是: 1、Makefile:分布在 Linux 内核源代码根目录及各层目录中,定义 Linux 内核的编译规则; 2、配置文件(config.in):给用户提供配置选择的功能; 3、配置工具...Menuconfig配置内核原理: 在Linux里面我们所看到的menuconfig界面是通过配置内核顶层的Kconfig产生的,而当输入make menuconfig命令的时候系统会读取Makefile

4.7K20

linux内核编译详解

内核编译之配置内核 编译内核首先需要安装开发环境(Development Tools和Server Platform Development),配置内核之前可以查看当前系统的设备信息,了解系统详细配置。...lsusb #可用选项-v查看详细信息 查看块设备: lsblk 配置内核可选用多种方法...配置完成后,配置信息会存储于名为.config的隐藏文件,如果想方便配置,可复制/boot/config文件覆盖.config文件,直接修改即可。...,目录下便是新内核的模块了 安装内核 安装完成后会在/boot目录下生成几个新内核的文件 查看grub.conf配置文件,会发现新内核的信息已经写入了 以新内核启动 查看新内核版本 补充:...,其中麻烦的地方除了需要消耗大量时间,也就是配置内核菜单了(英文伤不起…),想详细了解每个项目的意思请自行查资料。

5.6K20
您找到你想要的搜索结果了吗?
是的
没有找到

Linux内核配置

主机设为0,路由设为1 net.ipv4.conf.all.accept_source_route = 0 #[调试信息] #允许按住Alt + PrtSc键打印内核信息,除非是调试,一般要关闭此功能...net.core.wmem_max = 16777216 #在每个网络接口接收数据包的速率比内核处理这些包的速率快时,允许送到队列的数据包的最大数目。...方法是在服务器上禁止 net.ipv4.tcp_timestamps = 0 #对于远端的连接请求SYN,内核会发送SYN + ACK数据报,以确认收到上一个 SYN连接请求包。...内核执行启发式内存过量使用处理,方法是估算可用内存量,并拒绝明显无效的请求。遗憾的是因为内存是使用启发式而非准确算法计算进行部署,这个设置有时可能会造成系统中的可用内存超载。...#1 — 内核执行无内存过量使用处理。使用这个设置会增大内存超载的可能性,但也可以增强大量使用内存任务的性能。

2.4K30

centos内核编译配置

,并没有上次的残留文件可以可以跳过: make mrproper make clean 删除大多数的编译生成文件, 但是会保留内核配置文件.config, 还有足够的编译支持来建立扩展模块...make mrproper 删除所有的编译生成文件, 还有内核配置文件, 再加上各种备份文件 make distclean mrproper删除的文件, 加上编辑备份文件和一些补丁文件。...ncurses-devel(centos6自带了,可以不用安装) 5.接下来是配置内核相关参数: make config(通过命令行配置) make menuconfig(简单的菜单命令行配置...这个配置项一定要选”y“,否则也会出现ngcc找不到命令错误,如果你已经错过了,可以到内核文件夹下找到一个.config的文件,将这个参数改为CONFIG_CROSS_COMPILE="n" 改成CONFIG_CROSS_COMPILE...1),然后reboot,不要错过启动时手动选择内核菜单,选择自己装好的内核选项,然后回车,进入终端,输入uname -r 确认是否是自己装的版本,整个centos配置内核流程就是这样。

1.8K10

linux 内核 – ioctl 函数详解

在文件 I/O 中,ioctl 扮演着重要角色,本文将以驱动开发为侧重点,从用户空间到内核空间纵向分析 ioctl 函数。 2....unsigned int, unsigned long); long (*compat_ioctl) (struct file *, unsigned int, unsigned long); 在新版内核中...unlocked_ioctl,顾名思义,应该在无大内核锁(BKL)的情况下调用;compat_ioctl,compat 全称 compatible(兼容的),主要目的是为 64 位系统提供 32 位 ioctl...的兼容方法,也是在无大内核锁的情况下调用。...但是为了确保该 “协议” 的唯一性,ioctl 命令应该使用更科学严谨的方法赋值,在linux中,提供了一种 ioctl 命令的统一格式,将 32 位 int 型数据划分为四个位段,如下图所示: 在内核

3K50

Linux内核模块详解

内核模块 实验目的 内核模块是Linux操作系统中一个比较独特的机制。...第一个实验,编写一个很简单的内核模块。虽然简单,但它已经具备了内核模块的基本要素。与此同时,初步阅读编制内核模块所需要的Makefile。 第二个实验,演示如何将多个源文件,合并到一个内核模块中。...由于引入了模块机制,Linux的内核可以达到最小,即内核中实现一些基本功能,如从模块到内核的接口,内核管理所有模块的方式等等,而系统的可扩展性就留给模块来完成。...1.1 内核模块的特点 使用模块的优点: 使得内核更加紧凑和灵活 修改内核时,不必全部重新编译整个内核,可节省不少时间,避免人工操作的错误。...装入内核的模块就成为内核的一部分,可以修改内核中的其他部分,因此,模块的使用不当会导致系统崩溃。 为了让内核模块能访问所有内核资源,内核必须维护符号表,并在装入和卸载模块时修改符号表。

8.1K20

Linux内核编译过程详解

内核编译之配置内核 编译内核首先需要安装开发环境(Development Tools和Server Platform Development),配置内核之前可以查看当前系统的设备信息,了解系统详细配置...配置完成后,配置信息会存储于名为.config的隐藏文件,如果想方便配置,可复制/boot/config文件覆盖.config文件,直接修改即可。 ?...查看grub.conf配置文件,会发现新内核的信息已经写入了 ? 以新内核启动 ? 查看新内核版本 ?...补充: 如果前面多次编译过,在编译开始之前可进行清理 make clean #清理编译的文件,但保留配置文件 make mrproper #移除所有编译生成的文件、配置文件和备份文件...,其中麻烦的地方除了需要消耗大量时间,也就是配置内核菜单了(英文伤不起…),想详细了解每个项目的意思请自行查资料。

9.4K100

【Linux 内核】编译 Linux 内核 ④ ( 打开 Linux 内核编译 菜单配置 |菜单配置中的光标移动与选中状态 | 保存配置 | 配置项帮助文档 )

文章目录 一、打开 Linux 内核编译 菜单配置 二、菜单配置中的光标移动与选中状态 三、保存配置 四、配置项帮助文档 一、打开 Linux 内核编译 菜单配置 ---- 执行 make menuconfig...命令 , 弹出菜单配置 ; 二、菜单配置中的光标移动与选中状态 ---- 其中左侧的 * 表示选中状态 , 通过 上下箭头 按键 , 可以上下移动光标 , 按下 空格 按键 , 可以切换 选中 / 取消选中...状态 , 选中状态下 , 条目左侧会显示 * 符号 ; 按下 左右 箭头按键 , 会切换下面的 选项 ; 三、保存配置 ---- 选择 底部的 Save 选项 , 然后按回车 , 即可保存配置 ,...点击 OK , 继续下一步 , 保存完成 , 选择 Exit 退出 ; 内核的编译配置保存在了 .config 文件中 ; 四、配置项帮助文档 ---- 在菜单配置中 , 可以选择裁剪一些内核模块..., 内核越小 , 运行速度越快 ; 上面的内核编译选项 , 如果不清楚细节 , 暂时按照默认配置编译即可 ; 如果想要了解某一项配置的具体作用 , 选中指定的项 , 如 : 按下 " Shift +

2.2K20

【Linux 内核】编译 Linux 内核 ⑤ ( 查看 .config 编译配置文件 | 正式编译内核 )

文章目录 一、查看 .config 编译配置文件 二、正式编译内核 一、查看 .config 编译配置文件 ---- 在上一篇博客 【Linux 内核】编译 Linux 内核 ④ ( 打开 Linux...内核编译 菜单配置 |菜单配置中的光标移动与选中状态 | 保存配置 | 配置项帮助文档 ) 中 , 已经将编译配置保存到了 .config 文件中 ; 查看 .config 编译配置文件 , 在 linux...内核源码根目录中 , 执行 gedit .config 命令 , 查看 .config 编译配置文件 : ( 也可以使用 vi , vim 等文本编辑器查看 ) 在 .config 配置中 , #...CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set # # CPU/Task time and stats accounting # 二、正式编译内核...---- 在 Linux 内核源码根目录 , 执行 sudo make j4 开始编译 Linux 内核 ;

11.8K40

详解Linux内核内存管理架构

直接内存动态分配地址空间:因为访问效率等原因,内核对内存采用简单的线性映射,但是因为32位CPU的寻址能力(4G大小)和内核地址空间起始的设置(3G开始),会导致内核的地址空间资源不足,当内存大于1GB...高端内存动态分配地址空间:高端内存分配的内存是虚拟地址连续而物理地址不连续的内存,一般用于内核动态加载的模块和驱动,因为内核可能运行了很久,内存页面碎片情况严重,如果要申请大的连续地址的内存页会比较困难...持久映射地址空间:内核上下文切换会伴随着TLB刷新,这会导致性能下降。但一些使用高端内存的模块对性能也有很高要求。...为了解决这个问题,内核又划分出固定映射,其接口不会休眠。固定映射空间通过kmap_atomic接口来映射。...内存管理软件架构 内核内存管理的核心工作就是内存的分配回收管理,其内部分为2个体系:页管理和对象管理。

3K42

MySQL内核InnoDB存储引擎详解

启动配置 InnoDB合理的规划方法是在创建数据库实例之前就定义好数据文件,日志文件和数据页大小等相关属性 指定配置文件位置 MySQL实例启动需要依赖my.cnf配置文件, 而配置文件可以存在于多个操作系统目录下...my.cnf文件的默认查找路径,从上到下找到的文件先读,但优先级逐级提升 系统表空间数据文件配置 可以通过innodb_data_file_path和innodb_data_home_dir来配置系统表空间数据文件...配置大小 InnoDB buffer pool的大小可以在启动时配置,也可以在启动之后配置。...在数据库运行期间动态配置buffer pool数据页保留占比的方式是: SET GLOBAL innodb_buffer_pool_dump_pct=40; 而在配置文件中的配置方法为: [mysqld...此属性通过innodb_file_per_table配置。 此配置的主要优势: 当删除表或者truncate表的时候,意味着对磁盘空间可以回收。

2.7K31
领券