35
Version 1.0 1/Slide numbers Linux 核核核核核核核 第第第

Linux 核心管理与定制

  • Upload
    avery

  • View
    82

  • Download
    9

Embed Size (px)

DESCRIPTION

第七章. Linux 核心管理与定制. 内容回顾. Linux 应用程序基础 RPM 包管理 应用程序编译 库管理. 本章目标. 了解 Linux 内核的作用和基本功能 获取 Linux 内核的源码包,并进行安装 掌握内核的多种配置方法 了解内核配置项的含义 掌握内核的编译方法 掌握内核模块的编译与安装 在 Linux 系统中应用新内核. 内核的概念. 内核是一个操作系统的核心,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 - PowerPoint PPT Presentation

Citation preview

Page 1: Linux 核心管理与定制

Version 1.01/Slide numbers

Linux 核心管理与定制第七章

Page 2: Linux 核心管理与定制

2/35

内容回顾 Linux 应用程序基础 RPM 包管理 应用程序编译 库管理

Page 3: Linux 核心管理与定制

3/35

本章目标 了解 Linux 内核的作用和基本功能 获取 Linux 内核的源码包,并进行安装 掌握内核的多种配置方法 了解内核配置项的含义 掌握内核的编译方法 掌握内核模块的编译与安装 在 Linux 系统中应用新内核

Page 4: Linux 核心管理与定制

4/35

内核的概念 内核是一个操作系统的核心,它负责管理系统的进程、内存、设备驱动程序、文件和网络系统,决定着系统的性能和稳定性。 Linux 内核以独占的方式执行最底层任务,保证系统正常运行,协调多个并发进程,管理进程使用的内存,使它们相互之间不产生冲突,满足进程访问磁盘的请求等等。

Page 5: Linux 核心管理与定制

5/35

为什么要升级内核 现有内核中会不断发现漏洞,需要打补丁后重新编译内核,以便系统能够更加安全的运行 新的内核版本通常会带来用户所需要的新功能 新的内核版本会支持较新的硬件设备正常工作 正确地为主机配置个性化的内核会使系统运行得更加快速、稳定

Page 6: Linux 核心管理与定制

6/35

查看系统中的设备 查看主机的 CPU 信息

# more /proc/cpuinfo

查看主机 PCI 设备信息 # lspci

查看系统中所使用的内核模块信息 # more /proc/modules

Page 7: Linux 核心管理与定制

7/35

获取 Linux 内核源代码 从发行版本中获得 Linux 内核源代码 从网络下载 Linux 的内核源代码

http://www.kernel.org

Page 8: Linux 核心管理与定制

8/35

安装 Linux 内核源代码 Linux 内核源代码以打包的形式提供, rpm 和

bz2 两种格式的源码包的安装方法不同 安装 Red Hat Linux 9 中的 RPM 内核源码包

# rpm -ivh kernel-source-2.4.20-8.i386.rpm

安装网络下载的内核源码包 # tar jxvf linux-2.4.24.tar.bz2

Page 9: Linux 核心管理与定制

9/35

配置内核前的准备工作 # cd /usr/src/linux-2.4 进入内核源码目录后,才能够正确执行所有的内核配置、编译命令。

# make mrproper 在每次配置并重新编译内核前需要先执行“ make mrproper” 命令清理源代码树,包括过去曾经配置的内核配置文件“ .config” 都将被清除。

Page 10: Linux 核心管理与定制

10/35

内核模块的概念 内核模块简称模块,是一段可执行的程序,但是它可以被动态加载到内核中,并成为内核的一部分。 加载到内核里的模块具有与内核一样的权力,可以访问任何内核中的数据结构。

Page 11: Linux 核心管理与定制

11/35

内核的配置界面 文本交互 配置界面 文本窗口配置界面 图形窗口配置界面 根据原有配置文件自动生成新的配置文件

Page 12: Linux 核心管理与定制

12/35

文本配置界面 文本交互 配置界面

# make config

根据原有配置文件自动生成新的配置文件 # make oldconfig

Page 13: Linux 核心管理与定制

13/35

文本窗口配置界面 文本窗口配置界面

# make menuconfig

Page 14: Linux 核心管理与定制

14/35

图形窗口配置界面 图形窗口配置界面

# make xconfig

Page 15: Linux 核心管理与定制

15/35

内核功能的配置方法 Y 配置某功能编译进内核 M 配置某功能作为模块编译 N 配置不使用某功能(既不编译进内核,也不作为模块编译)

Page 16: Linux 核心管理与定制

16/35

内核配置项——可装载模块支持 可装载模块支持在通常的 Linux 系统中都需要对该项进行支持,否则内核将不能使用内核模块。

Page 17: Linux 核心管理与定制

17/35

内核配置项——处理器

Page 18: Linux 核心管理与定制

18/35

内核配置项——常规设置

Page 19: Linux 核心管理与定制

19/35

内核配置项——网络设置

Page 20: Linux 核心管理与定制

20/35

退出并保存内核配置 在完成对内核的配置后,选择“ Save and

Exit” 按钮保存并退出配置界面。

Page 21: Linux 核心管理与定制

21/35

内核配置文件 .config 文件无论采用哪种方法对 Linux 内核进行配置,最终的目的都是为了生成内核配置文件“ .config” 。

内核的编译过程将完全按照“ .config” 文件中的配置内容进行编译。

Page 22: Linux 核心管理与定制

22/35

内核名称标志 “EXTRAVERSION”变量

Makefile 文件中的“ EXTRAVERSION”变量的值将被用于生成新内核的版本标志,该标志用于命名内核文件、内核模块目录等。 EXTRAVERSION = -8custom

在 Red Hat Linux 9 中预设定该变量的值为 “ -8custom” 。在编译内核前用户可以自行设定(通过编辑Makefile 文件)。

Page 23: Linux 核心管理与定制

23/35

内核与模块的编译、安装步骤 make dep:生成依赖关系 make bzImage:编译内核 make modules:编译内核模块 make modules_install:安装内核模块 make install:安装内核

Page 24: Linux 核心管理与定制

24/35

make dep

# make dep

在编译内核前,需要使用“ make dep” 命令生成内核功能间的依赖关系,为编译内核做准备。

Page 25: Linux 核心管理与定制

25/35

make bzImage

# make bzImage 使用“ make bzImage” 命令进行内核编译,编译过程将持续相当长的时间( 10 分钟以上),请耐心等候。

bzImage 文件“arch/i386/boot/ ” 目录下的 bzImage 文件是新编译生成的内核文件。

Page 26: Linux 核心管理与定制

26/35

make modules

# make modules

使用“ make modules” 命令编译内核模块,编译过程将持续相当长的时间( 10 分钟以上)。

Page 27: Linux 核心管理与定制

27/35

make modules_install

# make modules_install 内核模块编译好后需要安装到 Linux 系统的相应目录中才可以使用,使用“ make modules_install” 命令安装内核模块 。

/lib/modules/ “/lib/modules/ ” 目录用于存放 Linux 系统中的内核模块,内核的各版本都在该目录下建有子目录用于存放内核模块。

Page 28: Linux 核心管理与定制

28/35

make install

# make install 使用“ make install” 命令安装新内核到系统中 ,并且自动为使用新内核做必要的配置。

vmlinuz-2.4.20-8custom 新编译的内核被放在目录“ /boot/ ” 中,各内核版本有唯一的文件名称,与内核文件配合使用的 initrd映像文件也在此目录中。

Page 29: Linux 核心管理与定制

29/35

GRUB引导配置 /etc/grub.conf 内核安装过程已经在 GRUB启动引导器的配置文件 “ grub.conf” 中对新内核的引导进行了适当的配置:

title Red Hat Linux (2.4.20-8custom) root (hd0,0) kernel /boot/vmlinuz-2.4.20-8custom ro root=LABEL=/ initrd /boot/initrd-2.4.20-8custom.img

Page 30: Linux 核心管理与定制

30/35

使用新内核启动 # reboot

重新启动系统,并选择新内核进行引导。

Page 31: Linux 核心管理与定制

31/35

本章总结 Linux 中内核与内核模块的概念 内核源码的获取 内核的配置界面 内核的配置选项 内核及模块的编译与安装过程

Page 32: Linux 核心管理与定制

32/35

实验目标 在 Linux 系统中了解主机的硬件信息 掌握 Linux 内核的配置方法 掌握 Linux 内核及模块的编译安装过程 使用新内核引导系统运行

Page 33: Linux 核心管理与定制

33/35

实验环境要求 装有 Red Hat Linux 9 操作系统的主机 Red Hat Linux 9 的安装光盘一套 一人一台机器,一人一组

Page 34: Linux 核心管理与定制

34/35

实验完成标准 内核配置正确能够正确的生成内核配置文件“ .config”

内核及模块编译正常编译过程能够顺利完成,并正确生成内核文件

Page 35: Linux 核心管理与定制

35/35

实验完成标准(续) 内核及模块安装正确内核文件安装到“ /boot” 目录内核模块文件安装到“ /lib/modules” 目录

内核启动、工作正常在 GRUB启动菜单中选择新内核引导系统启动,启动过程正常,能够正常进行用户登陆并运行程序