`

Linux的核心编译,kernel

 
阅读更多

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 系统的核心机理。

    Compiling_the_Linux_kernel.rar_linux kernel_linux 编译

    在Linux系统中,编译内核是一项至关重要的任务,它涉及到操作系统的核心部分,关系到系统的性能、稳定性以及硬件的支持。本指南将详细讲解如何在Linux环境下编译内核,帮助你理解和掌握这一过程。 首先,我们需要...

    compile_Linux_kernel.rar_compile linux kernel_linux 2.2.5_编译内核_进

    内核,是一个操作系统的核心。它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性...本文将以RedHat Linux 6.0(kernel 2.2.5)为操作系统平台,介绍在Linux上进行内核编译的方法。

    linux内核编译配置查看工具

    在Linux系统中,内核是操作系统的核心部分,它负责管理硬件资源、进程调度、内存管理等关键任务。为了实现特定的功能或优化性能,Linux内核可以进行编译配置。`.config`文件是记录这些配置选项的地方,包含了用户在...

    Linux Kernel核心中文手册.rar

    《Linux Kernel核心中文手册》是对这个复杂而重要的软件组件的详细解释,旨在帮助读者深入理解其工作原理和使用方法。 在Linux内核中,以下是一些关键知识点: 1. **进程管理**:内核通过调度算法来管理多个并发...

    Linux Kernel核心中文手册

    这份"Linux Kernel核心中文手册"是深入理解Linux内核的重要参考资料,它提供了全面的内核相关知识,帮助开发者、系统管理员以及对Linux感兴趣的读者深入探索这个强大的开源操作系统。 一、内核结构 Linux内核主要...

    linux内核编译.doc

    6. `lib`、`mm` 和 `kernel` 目录:分别包含内核库代码、内存管理和内核核心功能代码。 7. `Documentation` 目录:包含内核的文档资料,帮助理解和调试内核。 接下来,我们来看一下PC机上的系统引导过程: 1. ...

    Linux内核编译命令

    #### 二、核心编译命令 1. **makedep**: 该命令用于生成依赖关系文件,确保在编译过程中正确处理依赖关系。 2. **make clean**: 清理上次编译产生的临时文件,保留.config文件和其他必要的配置信息。 3. **make...

    Linux内核编译实验

    通过以上内容的学习,可以全面地掌握Linux内核编译实验的核心知识点,不仅能够深入了解内核的工作原理,还能够熟练地进行内核的定制和编译。这对于深入理解和开发基于Linux的操作系统具有重要意义。

    基于Arm的Linux内核编译指导及bootloader

    2. **获取源码**:从Linux内核官方仓库(如git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git)克隆最新或者特定版本的内核源码。 3. **配置内核**:使用`make menuconfig`或`make xconfig`命令...

    Linux-kernel.zip_linux编译内核_内核_编译内核

    本文将深入探讨“Linux-kernel.zip”中的主题,包括Linux编译内核、内核调试以及80386的分段机制,这些都是Linux系统管理员和开发者必备的知识点。 首先,让我们了解一下Linux编译内核的过程。当需要对内核进行定制...

    linux kernel编译指导.docx

    Linux内核是操作系统的核心部分,负责管理硬件资源、提供系统调用接口以及处理系统调度等任务。对于开发者和系统管理员来说,了解如何编译Linux内核是一项基础技能,特别是当需要针对特定硬件优化或者添加自定义功能...

    linux内核编译最完整过程成功案例

    - **Linux Kernel 2.6.29.4**:待编译的Linux内核版本。 确保这些软件包均被放置在`/opt`目录下,便于后续操作。 ### 二、安装编译工具链 #### 安装 GMP 1. 进入 `/opt` 目录: ``` # cd /opt ``` 2. 解压并...

    linux-kernel-v0.11.rar_kernel 0.11_kernel v0.11_linux kernel 0.1

    Linux内核是操作系统的核心部分,负责管理系统的硬件资源、提供系统调用接口以及调度进程等核心功能。Linux-kernel-v0.11是Linux内核发展史上的一个重要里程碑,标志着这个开源操作系统项目的早期阶段。本文件包含的...

    Linux-kernel.rar_Linux 实时_kernel appl_linux 内核

    在IT行业中,Linux内核是操作系统的核心部分,它负责管理硬件资源、提供系统服务、执行调度以及处理系统安全等重要任务。"Linux-kernel.rar_Linux 实时_kernel appl_linux 内核"这个压缩包文件主要关注的是Linux内核...

    Linux.Kernel核心中文手册.

    本手册“Linux.Kernel核心中文手册”旨在帮助读者理解Linux内核的基本结构和工作原理。 一、Linux内核概述 Linux内核是一个开源的操作系统内核,由林纳斯·托瓦兹于1991年首次发布。它的设计基于微内核理念,但采用...

    linux内核编译详细过程

    编译命令为`make`,而`make -jX`(X为处理器核心数量)则可利用多核优势加速编译。编译完成后,通过`make modules_install`和`make install`命令安装内核和模块。 #### 运行内核的常见问题 运行新编译的内核可能...

    Linux Kernel Programming Guide.pdf

    ### Linux Kernel Module编程指南知识点概览 #### 一、引言 《Linux Kernel Module Programming Guide》是一本关于Linux内核模块编程的专业书籍,由Peter Jay Salzman、Michael Burian和Ori Pomerantz共同编著。该...

    kernel交叉编译

    Linux内核作为操作系统的核心,其交叉编译过程尤其复杂且关键。 #### 工具链准备 在进行Linux内核或U-Boot的交叉编译前,首先需要准备**交叉编译工具链**。该工具链包含了一系列的编译器、链接器和其他工具,它们...

    Linux_Kernel核心中文手册(内核图解).pdf,linux内核结构详解,C,C++源码.zip

    《Linux_Kernel核心中文手册(内核图解).pdf》和《linux内核结构详解》是深入理解Linux内核的重要参考资料。这份资料涵盖了从基本概念到高级主题的广泛知识,包括进程管理、内存管理、文件系统、设备驱动等多个关键...

Global site tag (gtag.js) - Google Analytics