首页 存档 技术 查看内容

linux内核编译与开发

2018-3-30 13:00 |来自: 互联网 362 0

摘要: 一.Linux内核简介linux kernel map: linux 系统体系结构: linux kernel体系结构:arm有7种工作模式,x86也实现了4个不同级别RING0-RING3,RING0级别最高,这样linux用户代码运行在RING3下,内核运行在RING0,这 ...


一.Linux内核简介
linux kernel map:

linux 系统体系结构:

linux kernel体系结构:
arm有7种工作模式,x86也实现了4个不同级别RING0-RING3,RING0级别最高,
这样linux用户代码运行在RING3下,内核运行在RING0,这样系统本身就得到了
充分的保护

用户空间(用户模式)转到内核空间(系统模式)方法:
系统调用
硬件中断

linux kernel 体系结构:

虚拟文件系统VFS:
VFS(虚拟文件系统)隐藏各种文件系统的具体细节,为文件操作提供统一的接口


二.Linux内核源代码
linux内核下载www.kernel.org
目录结构:
解压linux kernel tar后目录
arch:根据cpu体系结构不同而分的代码
block:部分块设备驱动程序
crypto:加密,压缩,CRC校验算法
documentation:内核文档
drivers:设备驱动程序
fs(虚拟文件系统vfs):文件系统
include:内核所需的头文件,(与平台无关的头文件在include/linux中)
lib:库文件代码(与平台相关的)
mm:实现内存管理,与硬件体系结构无关的(与硬件体系结构相关的在arch中)
net:网络协议的代码
samples:一些内核编程的范例
scripts:配置内核的脚本
security:SElinux的模块
sound:音频设备的驱动程序
usr:cpio命令实现,用于制作根文件系统的命令(文件系统与内核放到一块的命令)
virt:内核虚拟机

linux DOC 编译生成:

linux源根目录/Documentation/00-INDEX:目录索引
linux源根目录/Documentation/HOWTO:指南
生成linux内核帮助文档:在linux源根目录(Documentation) 执行make htmldocs

ubuntu16下需要执行sudo apt-get install xmlto安装插件才可生成doc文档

后面开发中经常要改的是arch,drivers中的代码


三.Linux内核配置与编译
清理文件(在linux源码根目录):
make clean:只清理所有产生的文件
make mrproper:清理所有产生的文件与config配置文件
make distclean:清理所有产生的文件与config配置文件,并且编辑过的与补丁文件

配置(收集硬件信息如cpu型号,网卡等...):
make config:基于文本模式的交互配置
make menuconfig:基于文本模式的菜单模式(推荐使用)
make oldconfig:使用已有的.config,但会询问新增的配置项
make xconfig:图形化的配置(需要安装图形化系统)
配置方法:
1)使用make menuconfig操作方法:
1

声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部