1 / 35

Linux 核心管理与定制

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

avery
Download Presentation

Linux 核心管理与定制

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第七章 Linux核心管理与定制 Version 1.0

  2. 内容回顾 • Linux应用程序基础 • RPM包管理 • 应用程序编译 • 库管理 2/35

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

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

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

  6. 查看系统中的设备 • 查看主机的CPU信息 # more /proc/cpuinfo • 查看主机PCI设备信息 # lspci • 查看系统中所使用的内核模块信息 # more /proc/modules 6/35

  7. 获取Linux内核源代码 • 从发行版本中获得Linux内核源代码 • 从网络下载Linux的内核源代码 http://www.kernel.org 7/35

  8. 安装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 8/35

  9. 配置内核前的准备工作 • # cd /usr/src/linux-2.4 进入内核源码目录后,才能够正确执行所有的内核配置、编译命令。 • # make mrproper 在每次配置并重新编译内核前需要先执行“make mrproper”命令清理源代码树,包括过去曾经配置的内核配置文件“.config”都将被清除。 9/35

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

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

  12. 文本配置界面 • 文本交互 配置界面 # make config • 根据原有配置文件自动生成新的配置文件 # make oldconfig 12/35

  13. 文本窗口配置界面 • 文本窗口配置界面 # make menuconfig 13/35

  14. 图形窗口配置界面 • 图形窗口配置界面 # make xconfig 14/35

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

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

  17. 内核配置项——处理器 17/35

  18. 内核配置项——常规设置 18/35

  19. 内核配置项——网络设置 19/35

  20. 退出并保存内核配置 • 在完成对内核的配置后,选择“Save and Exit”按钮保存并退出配置界面。 20/35

  21. 内核配置文件 • .config文件 无论采用哪种方法对Linux内核进行配置,最终的目的都是为了生成内核配置文件“.config”。 内核的编译过程将完全按照“.config”文件中的配置内容进行编译。 21/35

  22. 内核名称标志 • “EXTRAVERSION”变量 Makefile文件中的“EXTRAVERSION”变量的值将被用于生成新内核的版本标志,该标志用于命名内核文件、内核模块目录等。 • EXTRAVERSION = -8custom 在Red Hat Linux 9 中预设定该变量的值为“-8custom”。在编译内核前用户可以自行设定(通过编辑Makefile文件)。 22/35

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

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

  25. make bzImage • # make bzImage 使用“make bzImage”命令进行内核编译,编译过程将持续相当长的时间(10分钟以上),请耐心等候。 • bzImage 文件 “arch/i386/boot/ ”目录下的bzImage 文件是新编译生成的内核文件。 25/35

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

  27. make modules_install • # make modules_install 内核模块编译好后需要安装到Linux系统的相应目录中才可以使用,使用“make modules_install”命令安装内核模块 。 • /lib/modules/ “/lib/modules/ ”目录用于存放Linux系统中的内核模块,内核的各版本都在该目录下建有子目录用于存放内核模块。 27/35

  28. make install • # make install 使用“make install”命令安装新内核到系统中 ,并且自动为使用新内核做必要的配置。 • vmlinuz-2.4.20-8custom 新编译的内核被放在目录“/boot/ ”中,各内核版本有唯一的文件名称,与内核文件配合使用的initrd映像文件也在此目录中。 28/35

  29. 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 29/35

  30. 使用新内核启动 • # reboot 重新启动系统,并选择新内核进行引导。 30/35

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

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

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

  34. 实验完成标准 • 内核配置正确 能够正确的生成内核配置文件“.config” • 内核及模块编译正常 编译过程能够顺利完成,并正确生成内核文件 34/35

  35. 实验完成标准(续) • 内核及模块安装正确 内核文件安装到“/boot”目录 内核模块文件安装到“/lib/modules”目录 • 内核启动、工作正常 在GRUB启动菜单中选择新内核引导系统启动,启动过程正常,能够正常进行用户登陆并运行程序 35/35

More Related