Linux内核裁剪课程设计
Linux课程设计报告

《Linux课程设计》设计题目:shell 编程实现用户信息管理专业:软件工程指导教师:蔡照鹏王斌斌班级:学号:姓名:同组人:计算机科学与工程学院Linux是一种自由和开放源码的类Unix操作系统,存在着许多不同的Linux版本,但它们都使用了Linux内核。
Linux可安装在各种计算机硬件设备中。
Linux是一个领先的操作系统,世界上运算最快的10台超级计算机运行的都是Linux操作系统。
严格来讲,Linux这个词本身只表示Linux 内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。
Linux得名于天才程序员林纳斯·托瓦兹。
Linux操作系统是UNIX操作系统的一种克隆系统,它诞生于1991 年的10 月5 日(这是第一次正式向外公布的时间)。
以后借助于Internet网络,并通过全世界各地计算机爱好者的共同努力,已成为今天世界上使用最多的一种UNIX 类操作系统,并且使用人数还在迅猛增长。
Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX 和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。
它能运行主要的UNIX工具软件、应用程序和网络协议。
它支持32位和64位硬件。
Linux 继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。
它主要用于基于Intel x86系列CPU的计算机上。
这个系统是由全世界各地的成千上万的程序员设计和实现的。
其目的是建立不受任何商品化软件的版权制约的、全世界都能自由使用的Unix兼容产品。
一、系统环境 (1)1.1硬件环境 (1)1.2软件环境 (1)二、设计目的和要求 (1)三、课程设计内容 (2)四、总体设计 (2)4.1部分功能模块流程图 (2)4.2总体功能模块图 (4)五、详细设计 (5)5.1模块功能说明 (5)5.2系统中shell主要命令说明 (5)六、调试与测试 (7)6.1调试方法 (7)6.2测试结果的分析与讨论 (11)七、设计中遇到的问题及解决方法 (12)八、源程序清单 (13)九、总结 (21)参考文献 (22)一、系统环境1.1硬件环境CPU:Intel(R) Core(TM)********************内存:2.93 GHz,2.00GB软件:VC6.0、VMware Workstation、CentOS1.2软件环境操作系统:Windows 7、 Linux编程工具、编程语言: shell编程语言Shell编程语言简介:shell 是操作系统的最外层。
Linu系统裁减指南redkliang完整版

L i n u系统裁减指南r e d k l i a n gHEN system office room 【HEN16H-HENS2AHENS8Q8-HENH1688】《Linux 系统裁减指南 (LiPS)》目录1 引言编写目的说明Linux系统裁减的过程及解决的主要技术问题。
本文档的编写是为了说明Li PS的详细设计过程,也可以作为构造一个小型化Linux系统的指南。
本文档内容的组织如下所述:这一部分是引言,第2部分是对项目软、硬件环境和需求的总体描述,第3部分说明了裁减LINUX的相关基本概念。
后面几个部分是具体实现方法的详细说明,4~6分别详细描述了创建内核、创建根文件系统和引导系统的方法。
最后的内容可以看作附录,其中7说明了一般Linux系统安装光盘的创建方法,8列出了相关的配置文件和源代码。
背景华中科技大学计算机存储系统国家专业实验室,NAS项目(——)。
定义O boot loader: 引导器O kernel: 内核O root filesystem: 根文件系统O USB: 通用串行总线参考资料[1] DIY:自己动手做一个迷你 Linux 系统. IBM developerWorks 中国网站.httcn/linux/embed/diy/[2] Linux From Scratch.[3] Linux启动过程综述.i=15750[4] The Linux Bootdisk HOWTO (中译版).[5] Using the initial RAM disk (initrd). /usr/src/Documentation/. (译文:d-boot/cdboot_refer/)[6] Quickmouse于发表于白云黄鹤BBS (Linux讨论区的帖子“裁减Linux”。
[7] Filesystem Hierarchy Standard. .[8] LINUX ALLOCATED DEVICES. /usr/src/Documentation/. 或者最新的列表在[9] Karim Yaghmour. Building Embedded Linux Systems. O'Reilly, April 200 3.[10] Alessandro Rubini. Take Command: Init.cs/init/ , November 1998.[11] 深入 Linux PAM 体系结构. IBM developerWorks 中国网站.2 总体描述硬件环境开发主机:Intel 845芯片组主板,P4赛扬 CPU,256M内存,60G IDE硬盘,RTL8139网卡。
linux课程设计体会

linux 课程设计体会一、教学目标本章节的教学目标包括以下三个方面:1.知识目标:使学生掌握Linux操作系统的基本概念、原理和常用命令;理解Linux操作系统的工作原理和特点;了解Linux操作系统在实际应用中的地位和作用。
2.技能目标:培养学生能够熟练使用Linux操作系统,进行基本的管理和维护;能够使用Linux命令行进行文件操作、权限设置等;能够使用Linux常用软件和工具。
3.情感态度价值观目标:培养学生对Linux操作系统的兴趣,认识其在我国软件产业发展中的重要性;培养学生勇于探索、积极实践的精神,提高学生的创新能力和团队协作能力。
二、教学内容本章节的教学内容主要包括以下几个部分:1.Linux操作系统的基本概念:介绍Linux操作系统的起源、发展历程和版本特点。
2.Linux操作系统的工作原理:讲解Linux操作系统的架构、进程管理、文件系统、内存管理等核心概念。
3.Linux操作系统的常用命令:介绍Linux命令行的基本操作、文件操作、权限设置、网络配置等常用命令。
4.Linux操作系统的应用场景:讲解Linux操作系统在服务器、嵌入式、桌面等领域的应用实例。
5.Linux操作系统的维护与管理:讲解Linux操作系统的日常维护、系统优化、安全防护等方法。
三、教学方法为了提高教学效果,本章节将采用以下几种教学方法:1.讲授法:通过讲解Linux操作系统的基本概念、原理和常用命令,使学生掌握相关知识。
2.案例分析法:通过分析实际应用场景,使学生了解Linux操作系统在实际工作中的应用。
3.实验法:安排实验室实践环节,让学生亲自动手操作,加深对Linux操作系统的理解和掌握。
4.讨论法:学生进行小组讨论,分享学习心得,提高学生的沟通能力和团队协作能力。
四、教学资源为了支持本章节的教学,我们将准备以下教学资源:1.教材:选用权威、实用的Linux操作系统教材,为学生提供系统性的学习资料。
linux课程设计大全

linux课程设计大全一、教学目标本课程的教学目标旨在让学生掌握Linux操作系统的基本知识、命令行操作、文件系统管理、用户和权限管理以及常见的Linux服务配置。
通过本课程的学习,学生将能够:1.理解Linux操作系统的基本概念和架构;2.熟练使用Linux命令行进行日常操作;3.掌握Linux文件系统的结构和权限管理;4.了解Linux中的用户管理和组管理;5.配置常见的Linux服务,如Apache、Nginx、MySQL等;6.掌握基本的安全防护措施,提高Linux系统的安全性。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Linux概述:介绍Linux的发展历程、内核架构以及常见的Linux发行版;2.命令行操作:学习Linux命令行的基本操作,如文件导航、文件操作、文本处理等;3.文件系统管理:了解Linux文件系统的结构,学习文件权限管理、磁盘空间分配等;4.用户和权限管理:学习用户和组的创建、权限设置、默认权限设置等;5.Linux服务配置:掌握Apache、Nginx、MySQL等常见服务的配置和管理;6.系统安全:学习Linux系统安全的基本知识,如防火墙、SELinux等。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式,包括:1.讲授法:讲解Linux的基本概念、原理和命令;2.讨论法:学生针对实际问题进行讨论,提高解决问题的能力;3.案例分析法:分析实际案例,让学生了解Linux在实际应用中的操作和配置;4.实验法:设置实验环节,让学生动手操作,巩固所学知识。
四、教学资源为了支持本课程的教学内容和教学方法的实施,我们将准备以下教学资源:1.教材:选用权威、实用的Linux教材,为学生提供系统的学习资料;2.参考书:提供丰富的参考书籍,方便学生课后自主学习;3.多媒体资料:制作课件、教学视频等,提高课堂效果;4.实验设备:准备足够的实验设备,确保每个学生都能动手实践。
linix课程设计

linix课程设计一、教学目标本课程旨在通过学习Linux操作系统的基本概念、原理和技术,使学生掌握Linux操作系统的使用和管理方法,具备在Linux环境下进行软件开发和系统管理的能力。
具体目标如下:1.知识目标:–掌握Linux操作系统的基本概念、原理和架构;–了解Linux操作系统的内核、文件系统、进程管理、网络通信等关键技术和组件;–熟悉Linux命令行操作和常用shell脚本编程。
2.技能目标:–能够在虚拟机或实体机上安装和配置Linux操作系统;–熟练使用Linux命令行工具进行文件管理、进程控制、网络配置等操作;–编写简单的shell脚本进行自动化任务处理。
3.情感态度价值观目标:–培养学生的团队合作意识和解决问题的能力;–培养学生对开源软件和开源文化的尊重和认同;–培养学生在面对技术挑战时的自信心和坚持不懈的精神。
二、教学内容本课程的教学内容主要包括以下几个部分:1.Linux操作系统的基本概念和原理:介绍Linux操作系统的历史、特点和应用场景,理解Linux操作系统的内核、文件系统、进程管理等基本组件。
2.Linux环境的搭建:学习如何在虚拟机或实体机上安装和配置Linux操作系统,熟悉Linux操作系统的启动过程和基本设置。
3.Linux命令行操作:学习Linux命令行工具的使用,包括文件管理、进程控制、网络配置等,掌握基本的文件操作命令、文本处理命令和网络通信命令。
4.shell脚本编程:学习编写简单的shell脚本进行自动化任务处理,理解脚本编程的基本概念和语法规则。
5.Linux系统管理:学习Linux操作系统的用户管理、文件系统管理、进程管理等,掌握系统性能监控和故障排查的方法。
6.Linux网络通信:学习Linux操作系统的网络配置和网络管理,理解网络协议和网络服务的工作原理。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法相结合的方式:1.讲授法:通过讲解和演示,使学生掌握Linux操作系统的基本概念和原理。
操作系统课程设计Linux

操作系统课程设计Linux一、教学目标本课程的教学目标是使学生掌握Linux操作系统的核心概念、原理和应用技能。
通过本课程的学习,学生将能够:1.理解操作系统的基本原理,包括进程管理、内存管理、文件系统和输入/输出系统。
2.掌握Linux操作系统的安装、配置和管理方法。
3.熟练使用Linux命令行界面,进行日常操作和系统管理。
4.掌握Linux常用命令、 shell脚本编写和系统监控工具的使用。
5.了解Linux操作系统在服务器、嵌入式设备和云计算等领域的应用。
二、教学内容本课程的教学内容分为五个部分:1.操作系统概述:介绍操作系统的定义、功能和分类,以及Linux操作系统的历史和发展。
2.进程管理:讲解进程的基本概念、进程控制、进程同步和互斥、死锁及其解决方法。
3.内存管理:介绍内存分配与回收策略、内存保护、虚拟内存和分页分段机制。
4.文件系统:讲解文件和目录结构、文件访问控制、文件系统性能优化和磁盘空间分配策略。
5.输入/输出系统:介绍I/O设备管理、中断和DMA机制、设备驱动程序和I/O调度策略。
三、教学方法本课程采用多种教学方法相结合的方式,以提高学生的学习兴趣和主动性:1.讲授法:教师讲解操作系统的核心概念和原理,引导学生掌握基本知识。
2.讨论法:学生针对实际案例和问题进行讨论,培养学生的思考和分析能力。
3.案例分析法:分析Linux操作系统的实际应用案例,使学生了解操作系统的应用场景。
4.实验法:安排实验室课时,让学生亲自动手进行系统安装、配置和调试,提高学生的实践能力。
四、教学资源本课程的教学资源包括:1.教材:选用权威、实用的Linux操作系统教材,如《Linux操作系统原理与应用》。
2.参考书:提供相关的学术论文、技术博客和在线文档,供学生拓展阅读。
3.多媒体资料:制作课件、教学视频和演示文稿,辅助学生理解和记忆。
4.实验设备:提供Linux服务器、虚拟机和实验室环境,让学生进行实际操作。
第4章 Linux内核裁剪与移植 Linux系统移植(第2版) 教学课件

4.1 Linux内核结构 4.2 内核配置选项 4.3 内核裁剪及编译 4.4 内 核 升 级
4.1.2 内核源码目录介绍
Linux内核代码以源码树的形式存放,如 果在安装系统的时候已经安装了源码树, 其源码树就在/usr/src/linux下。
1.arch目录
禁用随机heap(heap堆是一个应用层的概念,即堆对CPU是不可见的,它 的实现方式有多种,可以由OS实现,也可以由运行库实现,也可以在一个 栈中来实现一个堆)
Choose SLAB allocator Profiling support Kprobes
选择内存分配管理器,建议选择 支持系统评测,建议不选 探测工具,开发人员可以选择,建议不选
5.init目录
init子目录包含核心的初始化代码(注意, 不是系统的引导代码)。它包含两个文件 main.c和version.c,这是研究核心如何工 作的一个非常好的起点。
6.ipc目录
ipc子目录包含核心进程间的通信代码。 Linux下进程间通信机制主要包括管道、 信号、消息队列、共享内存、信号量、套 接口。
Physical 选择XIP后,内核存放的物理地址
Kexec system call
Kexec系统调用
4.2.4 网络协议支持相关选项
菜单选项(Networking Support)的子菜 单中包含一些网络协议支持的选项。
选项名 Networking options Amateur Radio support
arch子目录包括了所有和体系结构相关的 核心代码。它的每一个子目录都代表一种 支持的体系结构,例如arm子目录是关于 ARM平台下各种芯片兼容的代码。
操作系统内核课程设计

操作系统内核课程设计一、课程目标知识目标:1. 让学生理解操作系统内核的基本概念、结构和功能,掌握操作系统的进程管理、内存管理、文件系统等核心模块的工作原理。
2. 使学生掌握操作系统内核编程的基本方法,学会使用相关工具和接口进行系统调用和驱动程序开发。
3. 帮助学生了解操作系统安全性、稳定性的重要性,掌握基本的系统调试和优化技巧。
技能目标:1. 培养学生具备分析操作系统内核源代码的能力,能够阅读和理解常见的操作系统内核模块。
2. 培养学生具备设计、编写和调试简单的操作系统内核模块的能力,能够实现特定功能并进行性能优化。
3. 提高学生运用所学知识解决实际问题的能力,能够针对具体场景提出合理的操作系统内核设计方案。
情感态度价值观目标:1. 培养学生热爱操作系统内核技术,树立积极探索、持续学习的信念。
2. 培养学生的团队协作意识,学会与他人共同分析问题、解决问题,形成良好的沟通与协作能力。
3. 引导学生关注操作系统内核技术的发展趋势,认识到技术进步对社会发展的重要性,树立社会责任感。
本课程针对高年级学生,课程性质为专业核心课。
在教学过程中,需充分考虑学生的认知特点,注重理论与实践相结合,引导学生主动探究、动手实践。
通过本课程的学习,期望学生能够掌握操作系统内核的基本知识和技能,为未来从事相关领域的研究和工作打下坚实基础。
二、教学内容本课程教学内容围绕以下三个方面展开:1. 操作系统内核基础理论- 深入讲解操作系统内核的基本概念、结构、功能和设计原理。
- 分析进程管理、内存管理、文件系统、设备管理等核心模块的工作机制。
2. 操作系统内核编程实践- 介绍操作系统内核编程的基本方法,包括系统调用、驱动程序开发等。
- 结合教材示例,指导学生阅读和分析操作系统内核源代码。
教学大纲安排:1)第1-4周:操作系统内核基础理论2)第5-8周:进程管理、内存管理编程实践3)第9-12周:文件系统、设备管理编程实践3. 操作系统内核优化与调试- 讲解操作系统内核安全性、稳定性方面的知识,分析常见漏洞和防护措施。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Linux程序设计课程设计报告题目:linux内核裁剪的设计与实现姓名:xx学号:123专业:院系:指导老师:完成时间:目录⒈引言 (1)⒉需求分析 (1)2.1前期准备 (1)2.2 开发工具 (2)3.详细设计 (2)3.1 内核和交叉编译环境的搭建 (2)1.内核版本的选择 (2)2.交叉编译环境的搭建 (2)3.2导入内核并解包 (3)3.3建立符号链接并进入工作目录 (5)3.4启动内核编辑图形界面 (5)3.5 配置系统内核 (5)3.6编译内核 (13)3.7建立文件目录 (15)3.8编译动态载入内存的模块 (15)3.9拷贝到/lib/modules/2.6.10中 (16)3.10安装新内核 (17)3.11解决BusLogic错误 (17)3.12生成initrd.img文件 (17)3.13升级内核 (18)4. 课程设计总结与体会 (19)参考文献 (19)⒈引言Linux是一类Unix计算机操作系统的统称,也是自由软件和开放源代码发展中最著名的例子。
Linux作为一个免费、自由软件,内核版本不断升级。
新的内核修订了旧内核的bug,并增加了许多新的特性。
同时也使得Linux系统更加稳定、更加安全,进一步满足用户的功能需求。
Linux内核裁剪是根据用户的需要进行删除和保留相关的模块。
Linux内核裁剪完成后在进行编译,使之后的Linux系统为用户所需要的操作系统。
Linux 内核升级是为了弥补较低版本的漏洞,使得Linux系统安全系数更高;另外使Linux系统的性能更稳定;最后是增加新功能,满足用户的功能需求。
本次课程设计是通过相关操作来实现将Linux内核进行裁剪和编译,并Linux2.4内核升级到2.6内核。
如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要根据自己的需要进行重新裁剪、编译内核以及内核升级。
⒉需求分析2.1前期准备本次实验所需使用的系统是Red Hat Linux,而Red Hat Linux是安装在威睿工作站中的。
如图1.1所示:图2.1 虚拟机中的Red Hat Linux2.2 开发工具Linux开发平台3.详细设计3.1 内核和交叉编译环境的搭建1.内核版本的选择本次实验选择的是2.6.10的内核2.交叉编译环境的搭建将gcc添加到Red Hat Linux中去,如图2.2.1和图2.2.2所示:图3.1 添加gcc到系统中(一)图3.2 添加gcc到系统中(二)3.2导入内核并解包先将带有内核的U盘切换到虚拟机中,在mnt目录下新建一个文件夹并命名为usb,利用fdisk -l命令查看U盘设备名,然后利用mount命令将U盘挂载到/mnt/usb中,将U盘中的内核复制到/usr/src目录下。
在利用tar -xjvf对内核进行解压操作。
具体操作如图3.1.1、图3.1.2和图3.1.3所示:图3.3 挂载U盘图3.4 内核解压(一)图3.5 内核解压(二)3.3建立符号链接并进入工作目录建立内核解压后的linux-2.6.10的符号链接并命名为linux,进入到linux中。
具体操作如图3.2.1所示:图3.6 进入工作目录3.4启动内核编辑图形界面利用make mrproper来清理旧的编译生成的文件及其他配置等文件,利用make menuconfig来启动图形界面。
具体操作如图3.3.1所示:图3.7 清理环境并启动图形界面3.5 配置系统内核无论是内核裁减还是内核升级都要重新配置系统内核。
共有三种方式来运行配置内核的命令:设置屏幕的类型命令文本make config窗口菜单(NCurses)make menuconfigX 图形make xconfig第1种make config是命令行方式,使用与修改都较为不便,一般不推荐使用。
第2种make menuconfig是窗口菜单方式,采用窗口菜单进行人机交互,并可随时获得帮助;它占用的内存较少,适合在字符终端下使用,如图3-1所示。
第3种make xconfig是图形用户界面,采用图形窗口按钮进行人机交互,整个设置界面简洁明了、使用非常方便且帮助文件也容易获取,适合在X Windows 下使用。
这里使用第二种方式进行操作;图3.8 进入配置内核界面接下来在该界面上进行相关操作。
⑴通过上下左右键来选择Loadable Module support选项,enter。
图3.9 选择Loadable Module support选项选上“Module unloading”和“Automatic kernel module loading”这两项。
图3.10 选择Loadable Module support选项然后退出。
⑵①在Device Drivers--->Block Devices中选上“Loopback device support”;图3.11 选择Loopback device support选项②在Device Drivers--->Multi-device support(RAID and LVM)处要选上“device mapper support”;图3.12 选择device mapper support选项③Device Drivers--->Graphics support,一定要选上“Support for frame buffer devices”;图3.13 选择Support for frame buffer devices选项device mapper support④Device Drivers --->USB support --->选上“USB Mass Storage support”;图3.14 选择USB Mass Storage support选项⑤Device Drivers --->;Network device support --->Ethernet (10 or 100Mbit) ---><*> AMD PCnet32 PCI support图3.15 选择AMD PCnet32 PCI support选项⑶①File system--->(以下9个选项是关于ext2和ext3文件系统配置,全部选上) Second extended fs supportExt2 extended attributesExt2 POSIX Access Control ListsExt2 Security LabelsExt3 journalling file system supportExt3 extended attributesExt3 POSIX Access Control ListsExt3 Security LabelsJBB (ext3) debugging support图3.16 ext2和ext3文件系统配置②File system--->DOS/FAT/NT Filesystems --->选上“NTFS file system support”;图3.17 进入DOS/FAT/NT Filesystems图3.18 选择NTFS file system support选项⑷vmware下编译Linux内核,硬盘用的是scsi的,需选择以下三个选项:①Device Drivers ---><*>SCSI device support ---><*>SCSI disk support;图3.19 选择SCSI disk support t选项②Device Drivers---><8>SCSI device support--->SCSI low-level drivers---><*>;BusLogic SCSI support图3.20 选择BusLogic SCSI support选项3.6编译内核利用make bzImage来生成新的内核文件bzImage。
具体操作如图3.5.1、图3.5.2和图3.5.3所示:图3.21 编译内核图3.22 内核编译成功图3.23 查找内核所在位置3.7建立文件目录在/usr/src中新建一个文件夹fs,在fs中分别建立与Red Hat Linux相同的目录结构,详细建表如表3.6.1所示。
具体操作步骤如图3.6.2所示:目录名目录名boot devetc libmnt procroot sbintmp usrvar表3.24 详细建立的目录图3.25 详细建立的目录3.8编译动态载入内存的模块利用make modules将动态载入内存的模块编译成.o,然后再将多个模块链接为.ko。
具体操作如图3.7.1和图3.7.2所示:图3.26 编译动态载入内存的模块图3.27 编译的结果3.9拷贝到/lib/modules/2.6.10中利用make modules_install命令,将7中生成的.ko文件拷贝到/lib/modules/2.6.10中。
如图3.8.1和图3.8.2所示:图3.28 拷贝文件图3.29 拷贝结果3.10安装新内核利用make install命令来安装新的内核文件,但出现如图3.9.1所示的错误。
图3.30 BusLogic错误3.11解决BusLogic错误根据查阅参考文献,BusLogic错误主要是因为/lib/modules/2.6.10/drivers/scsi中缺少BusLogic.o所致,若/usr/src/linux/drivers/scsi中存在BusLogic.o则直接拷贝到/lib/modules/2.6.10/drivers/scsi中即可,若不存在则执行gcc -O2 -MODULE-D__KERNEL__ -I /usr/src/linux/include -c BusLogic.c命令生成BusLogic.o文件再拷贝。
3.12生成initrd.img文件解决掉10中的问题后可以利用mkinitrd /boot/initrd-2.6.10.img/lib/modules/2.6.10命令来生成新的initrd.img。
具体操作如图3.11.1所示:图3.31 生成initrd.img文件3.13升级内核利用new-kernel-pkg --install --mkinitrd /usr/src/linux/2.6.10命令来升级系统内核,具体操作如图3.12.1所示:图3.32 升级Red Hat Linux的内核4.课程设计总结与体会本次的课程设计是分组进行的,实验内容是对Linux内核进行裁剪,定制一个适合自己的内核。