Linux的核心(kernel)
1 Linux就是指kernel
2 kernel负责整个硬件的驱动,和提供各种核心功能
3 kernel是一个文件,一般放置在/boot/vmlinuz-$(uname -r)
此文件包含各项硬件侦测程序和驱动模块
4 核心模块(kernel module),有些功能没有集成在核心中,编译成模块以便核心随时加载
放置路径/lib/modules/$(uname -r)/kernel/
5 核心的版本,主版本.次版本.发布版本-修改版本
6 最新稳定版核心源代码下载地址,http://www.kernel.org/
7 建议将核心源代码放置在/usr/src/kernels/下
核心源代码编译步骤
1 清除环境,第一次编译用make mrproper,以后可以用make clean
2 选择核心功能,make XXconfig,生成.config文件,此步最复杂且重要
3 编译核心,make bzImage
4 编译模块,make modules
5 安装模块,make modules_install
6 安装核心,将核心文件bzImage和核心功能列表文件.config,移动并改名到/boot/路径下
7 新建相应的initrd文件,mkinitrd
8 编辑开机菜单,设置grub
核心源代码编译命令
make mrproper |
删除以前的目标文件,也删除以前的核心功能选择文档 只有第一此执行编译前使用此命令 |
make clean | 删除以前编译生成的目标文件 |
make XXconfig |
挑选核心功能,生成.config文件,核心功能列表文件 /boot/config-$(uname -r)就是已经设置完成的文件 |
make vmlinux | 生成未经压缩的核心 |
make modules | 生成仅核心模块 |
make bzImage | 生成经过压缩的核心(预设) |
make all | 进行make mlinux,make modules,make bzImage |
make modules_install | 将模块放置到/lib/modules/$(uname r)路径下 |
mkinitrd |
新建initrd文件 |
make XXconfig挑选核心功能多种方法
make menuconfig | 文本模式下显示类似图形接口,来选择列表 |
make oldconfig |
通过已存在的./.config,使用该文件内的设定值为默认值 只将新版本核心内的新功能选项让用户选择 |
make xconfig | 通过Qt图形接口的图形化显示,需要X window支持 |
make gconfig | 通过Gtk图形接口的图形化显示,需要X window支持 |
make config |
每个项目一条一条的列出供用户选择 如果设定错误,只能再次从头选择,不常用 |
make XXconfig具体选项
General setup | 一般性设置,可以设置核心的新版本 |
Enable loadable module | 支持动态模块 |
Enable the block layer | 支持block设备的功能 |
Processor type and features | cpu类型与功能选择 |
Power management and ACPI options | 电源管理功能 |
Bus options(PCI etc.) | 总线相关选项,支持PCI和PCI-E |
Executable file formats/Emulations | 编译后执行文件格式 |
Networking support | 核心网络功能,包括防火墙 |
Device Drivers | 硬件设备驱动 |
Firmware Drivers | 固件驱动 |
File system | 文件系统支持 |
Kernel hacking | 核心黑客,与核心开发者相关 |
Security options | 信息安全方面设定 |
Cryptographic API | 加密API的设定 |
Virtualization | 虚拟化设置 |
Library routines | 函数库设置 |
核心源代码目录
arch |
与硬件平台相关,主要指cpu类别 |
block | 与存储媒介相关,主要指磁盘分区等 |
crypto | 核心支持的加密技术 |
Documentation | 核心说明文档 |
drivers | 硬件驱动 |
firmware | 固件数据 |
fs | 核心所支持的文件系统 |
include | 头文件 |
init | 核心初始化的定义功能 |
ipc | 定义系统内各程序的沟通 |
kernel | 定义核心的程序,核心状态,线程,程序排程,程序信号等 |
lib | 函数库 |
mm | 与内存单元相关的各项数据,包括swap与虚拟内存 |
net | 与网络相关的各项协议数据,防火墙模块等 |
security | 与安全方面相关的设定 |
sound | 与音效相关的各项模块 |
virt | 与虚拟化相关的信息 |
相关推荐
Linux 内核编译文档 本文档旨在为 Linux 新手提供一个详细的 Linux 内核编译指南,帮助他们从基础开始学习 Linux 系统。...通过本文档,读者可以轻松地编译和安装 Linux 内核,从而深入了解 Linux 系统的核心机理。
在Linux系统中,编译内核是一项至关重要的任务,它涉及到操作系统的核心部分,关系到系统的性能、稳定性以及硬件的支持。本指南将详细讲解如何在Linux环境下编译内核,帮助你理解和掌握这一过程。 首先,我们需要...
内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性...本文将以RedHat Linux 6.0(kernel 2.2.5)为操作系统平台,介绍在Linux上进行内核编译的方法。
在Linux系统中,内核是操作系统的核心部分,它负责管理硬件资源、进程调度、内存管理等关键任务。为了实现特定的功能或优化性能,Linux内核可以进行编译配置。`.config`文件是记录这些配置选项的地方,包含了用户在...
《Linux Kernel核心中文手册》是对这个复杂而重要的软件组件的详细解释,旨在帮助读者深入理解其工作原理和使用方法。 在Linux内核中,以下是一些关键知识点: 1. **进程管理**:内核通过调度算法来管理多个并发...
这份"Linux Kernel核心中文手册"是深入理解Linux内核的重要参考资料,它提供了全面的内核相关知识,帮助开发者、系统管理员以及对Linux感兴趣的读者深入探索这个强大的开源操作系统。 一、内核结构 Linux内核主要...
6. `lib`、`mm` 和 `kernel` 目录:分别包含内核库代码、内存管理和内核核心功能代码。 7. `Documentation` 目录:包含内核的文档资料,帮助理解和调试内核。 接下来,我们来看一下PC机上的系统引导过程: 1. ...
#### 二、核心编译命令 1. **makedep**: 该命令用于生成依赖关系文件,确保在编译过程中正确处理依赖关系。 2. **make clean**: 清理上次编译产生的临时文件,保留.config文件和其他必要的配置信息。 3. **make...
通过以上内容的学习,可以全面地掌握Linux内核编译实验的核心知识点,不仅能够深入了解内核的工作原理,还能够熟练地进行内核的定制和编译。这对于深入理解和开发基于Linux的操作系统具有重要意义。
2. **获取源码**:从Linux内核官方仓库(如git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git)克隆最新或者特定版本的内核源码。 3. **配置内核**:使用`make menuconfig`或`make xconfig`命令...
本文将深入探讨“Linux-kernel.zip”中的主题,包括Linux编译内核、内核调试以及80386的分段机制,这些都是Linux系统管理员和开发者必备的知识点。 首先,让我们了解一下Linux编译内核的过程。当需要对内核进行定制...
Linux内核是操作系统的核心部分,负责管理硬件资源、提供系统调用接口以及处理系统调度等任务。对于开发者和系统管理员来说,了解如何编译Linux内核是一项基础技能,特别是当需要针对特定硬件优化或者添加自定义功能...
- **Linux Kernel 2.6.29.4**:待编译的Linux内核版本。 确保这些软件包均被放置在`/opt`目录下,便于后续操作。 ### 二、安装编译工具链 #### 安装 GMP 1. 进入 `/opt` 目录: ``` # cd /opt ``` 2. 解压并...
Linux内核是操作系统的核心部分,负责管理系统的硬件资源、提供系统调用接口以及调度进程等核心功能。Linux-kernel-v0.11是Linux内核发展史上的一个重要里程碑,标志着这个开源操作系统项目的早期阶段。本文件包含的...
在IT行业中,Linux内核是操作系统的核心部分,它负责管理硬件资源、提供系统服务、执行调度以及处理系统安全等重要任务。"Linux-kernel.rar_Linux 实时_kernel appl_linux 内核"这个压缩包文件主要关注的是Linux内核...
本手册“Linux.Kernel核心中文手册”旨在帮助读者理解Linux内核的基本结构和工作原理。 一、Linux内核概述 Linux内核是一个开源的操作系统内核,由林纳斯·托瓦兹于1991年首次发布。它的设计基于微内核理念,但采用...
编译命令为`make`,而`make -jX`(X为处理器核心数量)则可利用多核优势加速编译。编译完成后,通过`make modules_install`和`make install`命令安装内核和模块。 #### 运行内核的常见问题 运行新编译的内核可能...
### Linux Kernel Module编程指南知识点概览 #### 一、引言 《Linux Kernel Module Programming Guide》是一本关于Linux内核模块编程的专业书籍,由Peter Jay Salzman、Michael Burian和Ori Pomerantz共同编著。该...
Linux内核作为操作系统的核心,其交叉编译过程尤其复杂且关键。 #### 工具链准备 在进行Linux内核或U-Boot的交叉编译前,首先需要准备**交叉编译工具链**。该工具链包含了一系列的编译器、链接器和其他工具,它们...
《Linux_Kernel核心中文手册(内核图解).pdf》和《linux内核结构详解》是深入理解Linux内核的重要参考资料。这份资料涵盖了从基本概念到高级主题的广泛知识,包括进程管理、内存管理、文件系统、设备驱动等多个关键...