首页
学习
活动
专区
工具
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、配置工具...---- 五、文件系统和根文件系统区别联系 很多人分不清文件系统和根文件系统区别和联系: 个人理解,所谓**根文件系统(Root Filesytem)**就是要包括linux启动时所必须目录和关键性文件

4.7K20

Linux内核设备驱动之proc文件系统笔记整理

/***************** * proc文件系统 *****************/ (1)/proc文件系统特点和/proc文件说明 /proc文件系统是一种特殊、由软件创建文件系统.../proc下面的每个文件都绑定于一个内核函数,用户读取文件时,该函数动态地生成文件内容。...也可以通过写/proc文件修改内核参数 /proc目录下文件分析 /proc/$pid关于进程$pid信息目录。每个进程在/proc 下有一个名为其进程号目录。.../proc/filesystems 列出了可供使用文件系统类型,通常是编入内核文件系统类型,但可以通过模块加入新类型 /proc/interrupts 显示使用中断号,中断名称,以及这些中断从系统启动后产生次数...供uptime使用 /proc/version 内核版本 (2)自行实现一个/proc文件 需包含头文件,函数定义在/fs/proc/generic.c a.在/proc

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

Linux 内核Linux 内核体系架构 ( 进程调度 | 内存管理 | 中断管理 | 设备管理 | 文件系统 )

包括 进程创建 , 销毁 , 线程组管理 , 内核线程管理 , 队列等待 ; 进程调度 位于 下图 Linux 内核整体架构图 中 内核空间 ; 二、内存管理 ---- 内存管理 涉及到 物理内存管理...处理器执行时 , 检测 异常条件 , 处理器需要停止当前执行栈 , 处理异常 ; 中断管理 位于 下图 Linux 内核整体架构图 中 内核空间 ; 四、设备管理 ---- Linux 内核 支持外设类型...是最多 , 设备树 PCI 总线设备 设备模型 Kobject ACPI 网络设备驱动 块设备驱动 字符设备驱动 设备管理 位于 下图 Linux 内核整体架构图 中 内核空间 ; 五、文件系统...---- 文件系统应用场景 : F2FS EXT 2/3/4 XFS Linux 内核 为了支持各种文件系统 , 抽象出一个 虚拟文件系统 VFS , 这是一个文件系统软件层 , 这样 Linux...内核可以很方便集成各种文件系统 ; 文件系统 位于 下图 Linux 内核整体架构图 中 内核空间 ;

1.8K30

Linux内核设备驱动之虚拟文件系统笔记整理

/******************** * 虚拟文件系统VFS ********************/ (1)VFS介绍 虚拟文件系统VFS作为内核子系统,为用户空间程序提供了文件系统相关接口...对于不基于磁盘文件系统,比如基于内存文件系统sysfs,linux会在使用现场创建超级块并将其保存到内存中。 超级块结构体为super_block,定义在。...在文件系统安装时,内核会调用alloc_super()函数从磁盘读取文件系统超级块,并将其信息填充到内存中超级块对象中。...b.索引节点对象inode 索引节点对象包含了内核在操作文件或目录是需要全部信息,如文件访问控制权限,大小,拥有者,创建时间等。 系统把这些信息存储在一个单独数据结构中,称为索引节点。...文件对象由file结构体表示,定义在中。file对象操作函数结构体为file_operations,定义在中。

2.1K20

Linux 内核Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

文章目录 一、下载 Linux 内核源码 二、使用 VSCode 阅读 Linux 内核源码 一、下载 Linux 内核源码 ---- 参考 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本...Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 ) 博客 , 下载 Linux 5.6.18 版本内核源码 ; 5.x 内核源码下载地址...: https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/ Linux 内核 5.6.18 版本 : https://mirrors.edge.kernel.org...参考 【错误记录】解压 Linux 内核报错 ( Can not create symbolic link : 客户端没有所需特权 | Windows 中配置 7z 命令行执行解压操作 ) 博客 ;...不同版本 Linux 内核 区别 : 系统调用 : 其系统调用是相同 , 新版本可能会增加新系统调用 ; 设备文件 : 各内核版本设备文件都是相同 , 但是 内部接口 可能不同 ; 二、使用

23.2K32

Linux 内核Linux 内核源码结构 ( 下载 Linux 内核源码 | 使用 VSCode 阅读 Linux 内核源码 )

文章目录 一、下载 Linux 内核源码 二、使用 VSCode 阅读 Linux 内核源码 一、下载 Linux 内核源码 ---- 参考 【Linux 内核】编译 Linux 内核 ① ( 下载指定版本...Linux 内核源码 | Linux 内核版本号含义 | 主版本号 | 次版本号 | 小版本号 | 稳定版本 ) 博客 , 下载 Linux 5.6.18 版本内核源码 ; 5.x 内核源码下载地址...参考 【错误记录】解压 Linux 内核报错 ( Can not create symbolic link : 客户端没有所需特权 | Windows 中配置 7z 命令行执行解压操作 ) 博客 ;...不同版本 Linux 内核 区别 : 系统调用 : 其系统调用是相同 , 新版本可能会增加新系统调用 ; 设备文件 : 各内核版本设备文件都是相同 , 但是 内部接口 可能不同 ; 二、使用...按钮 , 此时就可以在 VSCode 中阅读 Linux 内核源码 ;

21.2K30

赵晨雨:从文件系统数据结构看Linux内核设计

作者简介 赵晨雨:西安邮电大学2018级陈莉君教授研究生,天真无邪小白一枚,已经爱上linux内核而不能自拔,正在成长为内核狂热爱好者?...跟随陈老师学习linux内核两个月了,对linux内核产生了极大兴趣,最近学习文件系统,有一些自己看法,很荣幸能在linux内核之旅进行分享^_^ 本篇文章使用尽量通俗语言来说明linux内核文件系统中各个数据结构之间关系...由于linux内核足够复杂,就会有多种解释方式,我认为所有关于linux内核书籍,都是不同作者对内核不同看法,说不定这些看法对于linus本人来说都是很巧妙,所以我在这里也大胆地提出自己对linux...首先,每一种文件系统都需要符合VFS规定和内核标准套路,我是一个文件系统,那么我条条框框就很多,也就是字段特别多,为了融入内核,我需要通过图中第3个结构体file_system_type来进行注册...所以,我们在学习内核时候,心中有这些基本部分概念,再来看内核就是另一种角度了。 由于自己接触linux内核时间不长,才疏学浅,班门弄斧了,如果有错误地方欢迎大家指正,小赵万分感谢:-D

1.3K30

​聊聊内核虚拟文件系统

linux会实现多种基于磁盘文件系统,比如ext4/xfs等,为了支持不同磁盘文件系统,且多个磁盘文件系统互相访问,Linux内核在用户进程和磁盘文件系统系统之间引入一个臭小抽象层,这个就是虚拟文件系统...vfs一方面用来提供操作文件、目录以及其他对象统一方法;另外一方面,它必须能够与各种给出具体磁盘文件系统实现达成妥协。 文件系统分为哪些类型?...目前文件系统基本可以分为三类,第一类是基于磁盘文件系统,例如xfs.第二类是内核虚拟文件系统,是一种使用应用程序与用户进程通信方法,内核proc文件系统就是典型实现;第三种是网络文件系统,计算机通过网络连接到本地计算机...,具体数组组织和处理都是由远程计算机内核进行。...文件描述符是在打开文件时候内核给进程分配,有效期仅仅是在该进程生命周期内;对于内核而言,处理文件核心是inode,每个文件和 目录都有唯一一个对应inode,其中包含元数据(访问时间、修改时间

72610

linux内核编程_linux内核是什么

fs:支持各种文件系统,如EXT、FAT、NTFS、JFFS2 等。 include:头文件,与系统相关头文件被放置在include/linux 子目录下。 init:内核初始化代码。...进程调度(SCHED)、内存管理(MM)、虚拟文件系统(VFS)、网络接口(NET)和进程间通信(IPC) Linux内核组成部分之间有什么关系? 进程调度与内存管理之间互相依赖。...Linux 每个进程享有4GB内存空间,0~3GB属于用户空间,3~4GB属于内核空间 虚拟文件系统有什么作用?...Linux 虚拟文件系统(VFS)隐藏各种了硬件具体细节,为所有设备提供了统一接口。而且,它独立于各个具体文件系统,是对各种文件系统一个抽象 虚拟文件系统如何描述文件相关信息?...只能通过系统调用和硬件中断完成 Linux内核编译及加载 内核配置系统由哪既部分组成? Makefile:分布在Linux 内核源代码中Makefile,定义Linux 内核编译规则。

18.8K30

深入理解 Linux 启动过程 | QEMU 启动 linux 内核和自制根文件系统

跟我一起来到故事开始地方,深入 Linux 系统启动流程,自己编译内核并制作根文件系统,并使用 QEMU 模拟启动。 前置知识# 昨天看到阮老师两篇文章 《计算机是如何启动?》...说明:本文介绍方法同样可用于内核调试,但侧重于介绍 使用 QEMU 模拟 Linux 启动流程 。...4.2.1 (Debian 1:4.2-3ubuntu6.18) 实验内核: 4.9.263 busybox: busybox-1.32.1 模拟启动# 下面介绍使用 QEMU 模拟启动内核和根文件系统方法...为了模拟启动,需要准备编译好内核 bzImage 和根文件系统,下面分别介绍。...root=/dev/ram init=/init" # 注意指定正确内核和根文件系统位置 使用 busybox 制作 rootfs 提供了一些基础命令可供使用。

1.7K30

LINUX内核

一、Linux内核2.6特点: 1.新调度器 2.内核抢占 3.改进线程模型 4.虚拟内存 5.文件系统 6.音频:音频体系结构ALSA.支持USB音频和MIDI设备,并支持全双工重放功能。...二、LINUX内核组成 1.LINUX内核源代码目录结构 1)arch:包含和硬件体系结构相关代码,每种平台占一个相应目录。如i386,arm,powerpc,mips等。...模块 16)sound:ALSA,OSS音频中设备核心代码和常用设备驱动 17)usr:实现了用于打包和压缩CPIO等 2.LINUX内核组成部分 2.1 LINUX主要用进程调度,虚拟文件系统,...2)内存管理:控制多个内存安全使用主内存区域,当CPU提供内存管理单元时,Linux内存完成每个虚拟内存到物理内存转换过程 ? 3)虚拟文件系统 4)网络接口 ?...3.Linux内核空间与用户空间 Linux只能通过系统调用和硬件中断来完成用户空间到内核空间控制转移

13.9K30

Linux 内核Linux 操作系统结构 ( Linux 内核在操作系统中层级 | Linux 内核子系统及关系 | 进程调度 | 内存管理 | 虚拟文件系统 | 网络管理 | 进程间通信 )

文章目录 一、Linux 内核在操作系统中层级 二、Linux 内核子系统 三、Linux 内核子系统之间关系 一、Linux 内核在操作系统中层级 ---- Linux 内核 所在层级 : 整个计算机系统中..., 由下到上介绍 : 计算机硬件 处于最底层 ; 计算机硬件 上面一层是 Linux 内核 , 计算机所有硬件操作都要经过内核 , 内核是 抽象资源操作 与 具体硬件操作细节 之间接口 ; Linux...; 最上层是 应用程序 , 应用程序 是 运行于操作系统上 软件集合 ; 如下图所示 : 二、Linux 内核子系统 ---- Linux 内核 5 个子系统 : 进程调度 ( Process...Virtual File System ) : 为所有类型 设备/逻辑文件系统 ( EXT2/3/4 , NTFS ) 提供统一接口 ; 该子系统可以分为 设备驱动程序 和 逻辑文件系统 ; 网络管理...网络硬件通信 ; 进程间通信 ( Inter-Process ommunication ) : 支持 进程间 通信机制 ; 三、Linux 内核子系统之间关系 ---- 进程调度 依赖于 内存管理

3.3K20

一文让你彻底了解Linux内核文件系统(大总结)

一,文件系统特点 文件系统要有严格组织形式,使得文件能够以块为单位进行存储。 文件系统中也要有索引区,用来方便查找一个文件分成多个块都存放在了什么位置。...Linux内核要在自己内存里面维护一套数据结构,来保存哪些文件被哪些进程打开和使用。...在Linux操作系统里面,想要创建一个新文件,会调用open函数,并且参数会有O_CREAT。这表示当文件找不到时候,我们就需要创建一个。...四,Linux文件缓存 4.1ext4文件系统层 对于ext4文件系统来讲,内核定义了一个ext4_file_operations const struct file_operations ext4...先将分配好页面调用kmap_atomic映射到内核里面的一个虚拟地址,然后将用户态数据拷贝到内核页面的虚拟地址中,调用kunmap_atomic把内核里面的映射删除。

66610

内核文件系统挂载和Open文件

ext4挂载 在linux 5.x内核中,实际文件系统挂载采用新挂载API,引入了struct fs_context用于内部文件系统挂载信息。...path *path, const char *fstype, int sb_flags, int mnt_flags, const char *name, void *data) { // 根据文件系统类型名称获取文件系统内核...} // 新内核引入fs_context_operations,vfs层mount是是如何和真实文件系统mount函数挂钩,这里就是调用fs_context_operations.get_tree...用户进程调用open函数,传入文件名称、打开文件flags、文件权限等信息,进入内核do_sys_open函数 进入do_sys_open函数,首先是执行get_unused_fd_flags...如果正常执行 fd_install 函数把fd和当前进程打开struct file数组关联起来,把索引为fd struct file数组和struct file进行关联 最后释放了内核filename

91730

Linux文件系统实现

比如cat可以打开文件,读取数据,最后在终端显示: $cat test.txt 对于Linux程序员来说,了解文件系统底层组织方式,是深入进行系统编程所必备。...即使是普通Linux用户,也可以根据相关内容,设计出更好系统维护方案。 存储设备分区 文件系统最终目的是把大量数据有组织放入持久性(persistant)存储设备中,比如硬盘和磁盘。...分区表说明了对应分区起始位置和分区大小。 我们在Windows系统常常看到C分区、D分区等。Linux系统下也可以有多个分区,但都被挂载在同一个文件系统树上。 数据被存入到某个分区中。...要注意是进程fork之后情况,子进程将只复制文件描述符数组,而和父进程共享内核维护文件表格和inode。此时要特别小心程序编写。 总结 这里概括性总结了Linux文件系统。...Linux以inode方式,让数据形成文件。 了解Linux文件系统,是深入了解操作系Linux原理重要一步。

1.7K60

Linuxproc文件系统

proc,用户空间和内核空间能够通过该接口通信, 与普通文件不同是。这些虚拟文件内容都是动态创建。 proc文件系统是一个伪文件系统,它仅仅存在内存其中,而不占用外存空间。...它以文件系统方式为訪问系统内核数据操作提供接口。用户和应用程序 能够通过 proc得到系统信息。并能够改变内核某些參数。 proc 文件系统能够被用于收集实用关于系统和执行中内核信息。...对此文件系统訪问同一般文件同样。...计算每一个 cpu 内核数 cat /proc/cpuinfo | grep’physical id’|awk -F’:’ ‘{count[$2]++;}END{sum=0;for(a in count...内核运行上下文转换次数 cat /proc/stat|grep ctxt|awk'{print $2}’ 6.系统创建进程数 cat /proc/stat|grep processes|awk

2.8K10
领券