操作系统课程设计报告-Linux内核裁剪与编译_第1页
操作系统课程设计报告-Linux内核裁剪与编译_第2页
操作系统课程设计报告-Linux内核裁剪与编译_第3页
操作系统课程设计报告-Linux内核裁剪与编译_第4页
操作系统课程设计报告-Linux内核裁剪与编译_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、滁州学院课程设计报告课程名称: 操作系统 设计题目: Linux内核编译与裁剪 系 别: 计算机科学与技术系 专 业: 计算机科学与技术专业 组 别: 起止日期: 2011年5月20日 2011年6月22日 指导教师: 计算机科学与技术系二九年制课程设计题目Linux内核编译和裁剪组长学号班级09计科系别计算机科学与技术专业计算机科学与技术组员项鹏程,徐鑫,周小航,钟鑫鑫指导教师马丽生课程设计目的通过该实验了解和掌握Linux内核进行裁剪和编译以及升级的主要操作方法和步骤。课程设计所需环境软件:操作系统Windows XP、Linux硬件:最低CPU速度:233MHz,推荐CPU速度:550M

2、Hz最小内存要求: 128M,推荐最小内存:256M课程设计任务要求。课程设计工作进度方案序号起止日期工 作 内 容分工情况2011-5-202011-6-12收集实现所需的资料,分析讨论所要进行的实验主要工作由徐鑫,周小航同学完成,全体参与讨论2011-6-132011-6-17该阶段主要做 Linux内核的一般编译和裁剪主要由小组全体同学协助项鹏程完成2011-6-182011-6-20实现的升级主要由小组全体同学协助杨超完成2011-6-212011-6-22实验材料整理,课程设计报告的完成主要由小组全体同学协助钟鑫鑫完成指导教师签字: 年 月 日教研室审核意见:教研室主任签字: 年 月

3、 日课程设计任务书目 录 TOC o 1-3 h z u HYPERLINK l _Toc304824314 引言 PAGEREF _Toc304824314 h 4 HYPERLINK l _Toc304824315 需求分析 PAGEREF _Toc304824315 h 4 HYPERLINK l _Toc304824316 前期准备 PAGEREF _Toc304824316 h 4 HYPERLINK l _Toc304824317 2.2 开发工具 PAGEREF _Toc304824317 h 4 HYPERLINK l _Toc304824318 3.详细设计 PAGEREF

4、_Toc304824318 h 5 HYPERLINK l _Toc304824319 3.1 Linux内核的裁剪 PAGEREF _Toc304824319 h 5 HYPERLINK l _Toc304824320 3.1.1 内核支持编译模式 PAGEREF _Toc304824320 h 5 HYPERLINK l _Toc304824321 3.1.2. 裁剪系统内核应遵循的步骤 PAGEREF _Toc304824321 h 5 HYPERLINK l _Toc304824322 3.2 配置系统内核 PAGEREF _Toc304824322 h 6 HYPERLINK l _

5、Toc304824323 3.2.1 配置内容 PAGEREF _Toc304824323 h 8 HYPERLINK l _Toc304824324 3.2.2 配制方法 PAGEREF _Toc304824324 h 9 HYPERLINK l _Toc304824325 3.3 编译系统内核 PAGEREF _Toc304824325 h 15 HYPERLINK l _Toc304824326 3.4 启用新系统内核 PAGEREF _Toc304824326 h 16 HYPERLINK l _Toc304824327 备份正在使用的系统内核 PAGEREF _Toc30482432

6、7 h 16 HYPERLINK l _Toc304824328 多配置启动的配置文件修改 PAGEREF _Toc304824328 h 16 HYPERLINK l _Toc304824329 3.5 Linux内核升级 PAGEREF _Toc304824329 h 17 HYPERLINK l _Toc304824330 查看版本 PAGEREF _Toc304824330 h 17 HYPERLINK l _Toc304824331 配置工作 PAGEREF _Toc304824331 h 18 HYPERLINK l _Toc304824332 编译工作 PAGEREF _Toc3

7、04824332 h 33 HYPERLINK l _Toc304824333 启动新内核 PAGEREF _Toc304824333 h 35 HYPERLINK l _Toc304824334 4. 课程设计总结与体会 PAGEREF _Toc304824334 h 37 HYPERLINK l _Toc304824335 总结 PAGEREF _Toc304824335 h 37 HYPERLINK l _Toc304824336 体会 PAGEREF _Toc304824336 h 37 HYPERLINK l _Toc304824337 5.致谢 PAGEREF _Toc304824

8、337 h 37 HYPERLINK l _Toc304824338 参考文献 PAGEREF _Toc304824338 h 37引言Linux是一类Unix计算机操作系统的统称,也是自由软件和开放源代码开展中最著名的例子。Linux作为一个免费、自由软件,内核版本不断升级。新的内核修订了旧内核的bug,并增加了许多新的特性。同时也使得Linux系统更加稳定、更加平安,进一步满足用户的功能需求。Linux内核裁剪是根据用户的需要进行删除和保存相关的模块。Linux内核裁剪完成后在进行编译,使之后的Linux系统为用户所需要的操作系统。Linux内核升级是为了弥补较低版本的漏洞,使得Linux

9、系统平安系数更高;另外使Linux系统的性能更稳定;最后是增加新功能,满足用户的功能需求。本次课程设计是通过相关操作来实现将Linux内核进行裁剪和编译,并Linux2.4内核升级到2.6内核。如果用户想要使用这些新特性,或想根据自己的系统度身定制一个更高效,更稳定的内核,就需要根据自己的需要进行重新裁剪、编译内核以及内核升级。需求分析Linux2.6内核源码:linux-内核升级工具mkinitrd-lvm2-device-mapper- 2.2 开发工具Linux开发平台3.详细设计3.1 Linux内核的裁剪 内核支持编译模式 Linux对于计算机硬件、网络和文件系统等部件的驱动程序支持

10、既可以放在系统内核中,也可以作为一个可加载的模块modules使用。当驱动程序放在系统内核中时,Linux 假定该硬件是存在于系统中的;而作为可加载模块使用时,只有在知道该硬件存在于系统时才会作为系统内核的一局部,当 Linux 检测到硬件时,该模块才被参加到系统内核中。如果把驱动程序编译到内核中,在内核启动时就可以自动支持相应局部的功能,这样做的优点是方便、速度快,机器一旦启动,你就可以使用这局部功能了;缺点是会使内核变得庞大,无论是否需要这局部功能,它都会存在;这可能会增加被系统攻击者利用的漏洞。一般把经常使用的局部直接编译到内核中,比方网卡等。如果编译成模块,就会生成对应的.o模块文件,

11、系统启动时它并不在内存中,它是在使用的时候由用户执行insmod命令来动态加载,这样做的优点是不会使内核过分庞大,缺点是你得自己来调用这些模块。3.1.2. 裁剪系统内核应遵循的步骤Linux系统内核的裁减涉及到模块间的依赖关系、内核的配置和编译等多个步骤,任何一个步骤的失误都有可能导致裁减、编译失败。其根本步骤如下:检查编译器的版本删除过时的目标文件重新设置系统内核重新编译系统内核备份正在使用的系统内核试用新的系统内核 检查编译器的版本用低版本的编译器去编译高版本的内核有可能不能编译或使内核不能使用。要查看编译器版本,可以执行命令: #gcc v进入系统内核源代码目录。一般系统内核的源代码放

12、在 /usr/src/ 目录下。用 ls l 命令查看可能显示如下:#ls l /usr/srcTotal 3lrwxrwxrwx1 rootroot12 May4 14:36 linux2.4-linux-8drwxr-xr-x 15 root root 1024 May 14 11:37 linux-8drwxr-xr-x 3 root root 1024 May 4 14:38 sendmail 其中,是一个链接文件,它的链接目标是指向linux-8 目录,因此、就是进入linux-2.4.20-8 目录。 删除过时的目标文件 进入 /usr/src/linux-8 目录,运行 make

13、 mrproper 命令以去除过时、旧的目标文件。这是因为经过屡次编译后系统会留下局部目标文件,如果没有去除干净可能造本钱次编译出错。如果没有编译过或者是系统升级的新解压缩目录,那么这一步骤可以省略主要是本课题所需要的硬件设计与软件设计,包含建立设计所需的数学模型并列出必要的计算公式、计算过程及说明,硬件电路的设计与实现,写出设计计算结果;绘出计算机程序框图,写出自编的程序。 配置系统内核无论是内核裁减还是内核升级都要重新配置系统内核。共有三种方式来运行配置内核的命令:设置屏幕的类型 命令 文本 make config 窗口菜单NCurses make menuconfig X 图形 make

14、 xconfig 第1种make config是命令行方式,使用与修改都较为不便,一般不推荐使用。第2种make menuconfig是窗口菜单方式,采用窗口菜单进行人机交互,并可随时获得帮助;它占用的内存较少,适合在字符终端下使用,如图3-1所示。图3-1 menuconfig 主屏幕第3种make xconfig是图形用户界面,采用图形窗口按钮进行人机交互,整个设置界面简洁明了、使用非常方便且帮助文件也容易获取,适合在X Windows下使用,如图3-2所示。图3-2 xconfig 主屏幕一般在 /usr/src/linux-8/ 目录下运行设置命令。在窗口菜单NCurses下,用户可以

15、利用光标键移动到选项、再用空格键或鼠标选中显示*号来进行设置并可以任意回退做修改。在X 图形下用户可以通过鼠标单击按钮来进行配置并可以任意回退做修改。在文本类型下那么不能,因为它只在整个设置过程中一直向你提问。 配置内容配置系统内核的目的是建立一个适合大小、满足需求的系统内核;因此,用户必须根据自己所设计系统的需要对Linux系统支持的硬件和软件进行适当裁减,即从配置内容中选择相应的硬件类型和适宜的设备驱动程序。不同的内核版本显示的配置内容有所不同,这里以Linux内核2-4-20版本为例说明。编号类别含义1Code maturity level options代码成熟级别2Loadable

16、module support可装载模块支持3Processor type and features处理器类型与特征4General setup一般设置5Memory Technology DeviceMTD设备支持6Parallel port support并行口支持7Plug and Play configuration即插即用支持8Block devices块设备支持9Multi-device supportRAID and LVM多设备支持10Cryptography support密码系统支持11Networking options网络选项12Telephony Support 支持1

17、3ATA/IDE/MFM/RLL support多种接口存储设备支持14SCSI supportSCSI设备的支持15Fusion MPT device supportFusion MPT 设备支持16IEEE 1394FireWiresupportIEEE 1394 防火墙设备支持17I2O device supportI2O 设备支持18Network device support网络设备支持19Amateur Radio support业余无线电支持20IrDAinfraredsupport红外线支持21ISDN subsystemISDN子系统22Old CD-ROM driversn

18、ot SCSI、not IDE非SCSI/IDE接口的CD-ROM设备23input core support输入核心支持24Character devices字符设备25Multimedia devices多媒体设备26Crypto Hardware supportCrypto 硬件支持27File systems文件系统28Console drivers控制台驱动29Sound声卡驱动30USB supportUSB支持31Additional device driver support附加设备驱动支持32Bluetooth support蓝牙支持33profiling supportPr

19、ofiling支持34Kernel hacking内核分析35Library routines库例程3.2.2 配制方法以运行xconfig 设置程序为例说明配置方法。在xconfig主屏幕上有许多设置选项,但在内核裁减中许多项选择项可以采用默认的设置。下面按配置内容类别说明主要选项的配置方法,截取的配置图供大家参考。代码成熟级别选项Code maturity level options 这里只有一项:prompt for development and/or incomplete code/drivers,如果你要试验使用还有待完善的代码,比方framebuffer、k d、IPv6等,就必

20、须把该项选择为Y;否那么可以把它选择为N。这是内核的一个内置特性,不能选择为模块。如图3-3所示。图3-3代码成熟级别选项可装载模块支持Loadable module support 这里有3项,如图3-4所示。图3-4 可装载的模块支持Enable loadable module support:除非你准备把所有需要的内容都编译到内核里面,否那么该项应该是必选的。Set version inFORMation on all module symbols:可选可不选。Kernel module loader:让内核在启动时有自己装入必需模块的能力,该选项必须在Enable loadable m

21、odule support选项激活即为“y情况下才能选择;建议选上。3. 处理器类型与特征Processor type and features 这里的选项一般不需要设置,使用默认的设置即可。例如:Processor family:系统安装时会根据你的计算机情况选择CPU类型。High Memory Support:大容量内存的支持。可以支持到4G、64G,默认为“off。Math emulation:协处理器仿真,现在的协处理器已集成在CPU内;默认为“n。MTTR support:MTTRMemory Type Range Register支持。可不选,默认为“n。Symmetric mu

22、lti-processing support:对称多处理器支持。单CPU系统一般不用选。4.一般设置General setup 这里是安装时对系统最根本的硬件设置。这局部内容非常多,一般在安装中Linux会根据你计算机系统的硬件自动检测并设置,使用缺省设置就可以。常用的选项简要介绍如下:Networking support:网络支持。如果有网卡默认为“y。PCI support:PCI支持。如果使用了PCI的卡,默认为“y。PCI access mode:PCI存取模式。可供选择的有BIOS、Direct和Any,默认为Any。Support for hot-pluggabel devices

23、:热插拔设备支持。如果有此类设备默认为“y。PCMCIA/CardBus support:PCMCIA/CardBus支持。用系统测试的默认选择。 System V IPCBSD Process AccountingSysctl support 以上三项是有关进程处理IPC调用的,主要就是System V和BSD两种风格。如果你不是使用BSD,就不要改变默认选择。Power Management support:电源管理支持,用系统默认选择。Advanced Power Management BIOS support:高级电源管理BIOS支持,用系统默认选择。5. MTD设备支持Memory

24、Technology DeviceMTD 设备是像闪存芯片、小型闪存卡、记忆棒等之类的设备,它们在嵌入式设备中的使用正在不断增长。PC上一般默认为“n。 6. 并行口支持Parallel port support 如果不打算使用并行口,就选“n。 7. 即插即用支持Plug and Play configuration 目前Linux对即插即用设备的支持不如Windows好,如果系统中有PNP设备,默认的选项为“y。8. 块设备支持Block devices 一般使用缺省设置就可以,主要选项简要说明如下:Normal PC floppy disk support:普通PC软盘支持。假设有软驱默

25、认为“y。XT hard disk support:早期的硬盘支持,一般默认为“n。Compaq SMART2 support:磁盘阵列控制卡,没有该设备为“n。Mulex DAC960/DAC1100 PCI RAID Controller support:RAID镜像, 没有该设备为“n。 Loopback device support:把文件当成区块设备使用,一般默认为“nNetwork block device support:网络块设备支持。如果想访问网上邻居的东西,选“y。 RAM disk support:RAM盘支持, 一般默认为“n。9多设备支持Multi-device su

26、pportRAID and LVMMultiple devices driver support:多设备驱动支持, 一般默认为“n;该项激活“y时以下两项才可以选择。 RAID support:RAID 支持,没有该设备为“n。Logical volume managerLVMsupport:逻辑卷管理支持,一般默认为“n。10密码系统支持(Cryptography support)在个人计算机PC系统上一般不用,系统默认为“n。11网络选项Networking options 这里配置的主要是网络协议,其选项很多。如果要定义TCP/IP、ATM、IPX、DECnet、Appletalk等协议

27、的支持,可以把它们编译进内核中或以模块加载。在这里还可以配置路由、防火墙、IP隐藏、IP播送、IP转发等等。不过有些配置仍然处于实验阶段,例如:IPv6、 d、Qos and/or fair queueing效劳质量公平调度等。 12 支持Telephony Support Linux下可以支持 卡,这样你就可以在IP上使用普通的 提供语音效劳了。默认选项为“n。13多种接口存储设备支持ATA/IDE/MFM/RLL support 有关各种接口的硬盘/光驱/磁带/软盘支持,一般使用默认的选项即可。 14SCSI设备的支持SCSI support 如果有SCSI设备,系统会默认选择假设干选项,

28、其他的选项可以根据情况选择。如果在PC上安装了虚拟机如VM,那么会把IDE硬盘虚拟成SCSI硬盘,局部选项会自动选中。 15Fusion MPT 设备支持Fusion MPT device support 需要Fusion MPT兼容PCI适配器,一般默认为“n。16IEEE 1394 防火墙设备支持IEEE 1394FireWiresupport该项仍在实验中,默认为“n。 17I2O 设备支持I2O device support 需要I2O接口适配器支持,在智能Input/OutputI2O体系接口中使用。默认为“n。 18网络设备支持Network device support 在网络选

29、项中选好协议后,在这项中定义使用这些网络协议的方式。有ARCnet设备、Ethernet10 or 100 Mbit、Ethernet1000Mbit、Wireless LANnon-hamradio、Token Ring device、Wan interfaces、PCMCIA network device support几大类。实际上这个选项中主要做的是网络接口卡类的设置,如10/100M的以太网网卡。如果Linux系统可以识别到网卡,那么根本无需设置;如果无法识别网卡,那么只能自己翻开Ethernet10 ro 100 Mbit选项查找了。一般都能找到自己适用的网卡型号。如果没有找到,只

30、好到厂商那里去要驱动了。一般把该类编译到内核里,不选“m而选“y。19业余无线电支持Amateur Radio support 配置业余无线电播送,一般默认选项为“n。 20红外线支持IrDAinfraredsupport 没有红外设备,默认选项为“n。 21ISDN子系统ISDN subsystem 如果你使用ISDN上网,这个选项选“y。 22非SCSI/IDE接口的CD-ROM设备Old CD-ROM driversnot SCSI、not IDE现在的计算机一般都没有这样的设备了,默认的选项就是“n。 23输入核心支持input core support该选项下有假设干USB 人机接口

31、设备如鼠标、键盘和游戏杆等选项。如果你要使这些设备驱动编译进内核或以模块加载,那么在选择前先使“input core support选项为“y。24字符设备Character devices 这个选项的内容包括以下几个大类: I2C support:I2C是Philips竭力推动的微控制应用中使用的低速串行总线协议。如果你要选择下面的Video For Linux,该项必选。Mice:鼠标。现在可以支持总线、串口、PS/2、C&T 82C710 mouse port、PC110 digitizer pad等,实际上在安装Linux时就根据自己的鼠标类型选择了。Joysticks:手柄。设置在L

32、inux下手柄驱动。Watchdog Cards:“看门狗卡虽然称为Cards,这个可以用纯软件来实现,当然也有硬件的。如果你把这个选中,那么就会在你的/dev下创立一个名为watchdog的文件,它可以记录你的系统的运行情况,一直到系统重新启动的1分钟左右。有了这个文件,系统可以恢复到重启前的状态。Video For Linux:在Linux下支持有关的音频/视频卡,可根据需要选择。Ftape, the floppy tape device driver:磁带设备驱动支持。没有设备默认为“n。PCMCIA character device support:PCMCIA 字符设备支持。没有设备

33、默认为“n。25多媒体设备Multimedia devices该选项下有Video For Linux和 Radio Adapters 两个子选项。其中Radio Adapters无线电适配器选项一般默认为“n。如果你需要摄像头等视频设备时需要配置Video For LinuxLinux视频选项。如video4linux为视频采集设备提供了编程接口。 26Crypto 硬件支持Crypto Hardware support没有该类设备时,默认配置为“n。27文件系统File systems 这个选项的内容包括以下几个大类:Quota support:用Quota支持可以限制每个用户可用的硬盘空

34、间的上限,在多用户共同使用一台主机的情况中十分有效。DOS FAT fs support:DOS FAT文件格式的支持,可以支持FAT16、FAT32。ISO 9660 CD-ROM file system support:CD-ROM使用的就是ISO 9660的文件格式。NTFS file system support:ntfs是NT使用的文件格式。/proc file system support:/proc文件系统是Linux提供应用户和系统进行交互的通道,建议选上,否那么有些功能没法正确执行。 Virtual memory file system support:虚拟内存文件系统支持,

35、一般用默认配置。Network File Systems网络文件系统:如果要进行嵌入式系统开发,那么可以对它配置,也可以通过在终端下执行setup命令设置模块加载方式;如果配置SMB效劳器Linux和Windows相互以网络邻居的形式访问对方,那么可以对它配置。Partition Types分区类型:一般用默认配置。Native Language Support本地语言支持:系统根据安装时对语言支持的选择配置。28控制台驱动Console drivers一般使用VGA text console就可以了,标准的80*25的文本控制台。 如果要使用某些特殊的显示模式,如帧缓冲等可以配置其中的Vid

36、eo mode selection support、Frame-buffer support等局部子选项。 29声卡驱动Sound 如果你的系统有声卡,那么安装中Linux会检测它并设置Sound card support和相应的声卡驱动程序为“y,如果系统检测不到声卡,那么你只能在声卡驱动列表中看看能否找到适合的了。 30USB支持USB supprot很多USB设备,比方鼠标、摄像头、调制解调器、打印机、扫描仪等,在Linux都可以得到支持,可以根据需要自行选择。31附加设备驱动支持Additional device driver support如果你的系统中有一些像AEP SSL Acc

37、elerator等附加的设备,那么可以在该选项中进行选择,如果没有,那么默认为“n。 32蓝牙支持Bluetooth support如果你的系统中有蓝牙设备,那么可以在该选项的子选项中进行选择,如果没有,那么默认为“n。 33Profiling支持profiling support这个选项用来开启系统内核做效率统计,并会提供其他在为系统检错时有用的信息。这些功能的开启会付出一些时间代价,并造成系统执行得较为缓慢,如果你在研究或测试系统内核的某些问题,那么可以选择“y;否那么默认为“n。普通用户是用不着这个功能的。34内核分析Kernel hacking 该选项是为优化或增强功能而对系统内核进行

38、的调整。如果你正在开发驱动程序或试图调试内核找出问题可以选“y,否那么默认为“n。普通用户是用不着这个功能的。 35库例程Library routines 该选项下有两个子选项 zlib discompression support和zlib compression support分别为zlib库解压缩和压缩的支持;默认为“n。设置选项及子选项很多,这里只是介绍35个大项和局部子选项,其目的是让大家了解内核裁剪时内核的配置包含哪些内容。在做完选项的选择后,不要忘记保存设置后退出,保存按钮如图3-5所示。当然、你也可以不保存退出,或者保存到系统配置文件中以便以后装载再配置。图3-5 配置保存3.

39、3 编译系统内核当配置完成并保存退出后就要重新编译系统内核。系统一般会在配置结束时提示要进make dep操作。 运行带有 clean 和 dep 选项的 make 文件以去除过时的目标文件并建立适宜的独立性如果要正确编译代码,必须要满足该要求。命令为:make depmake clean如果没有出现错误提示,就可以运行 make zImage 命令,该命令将在 /usr/src/linux-8/arch/i386/boot 目录下生成一个全新的内核。该内核文件名称为 zImage ,使用中注意大小写。如果给内核添加了许多驱动程序或各种各样的支持,可能需要使用 make bzImage 命令,

40、该命令可以制作出一个很大的内核映象文件,该文件可以带所有的选项进行启动。一般当编译的内核较大时系统会推荐内核命名为bzImage。内核编译完成后,由于有些模块并没有编译进内核、而是通过加载的选择“m;所以需要编译、安装模块。命令为:make modulesmake modules_install 重新编译内核的过程,会花费比拟多的时间;具体的时间取决于你选择内核的大小、处理器的速度等因数。一般在嵌入式系统中内核比拟精悍,编译过程会比拟快;另外、如果没有运行其他的负载密集型的应用程序如 X 图形程序,编译过程会更快。 启用新系统内核以上各个步骤完成之后,就可以准备启用新的系统内核来工作了。如果你

41、没有采用GRUB或LILO等引导程序进行多培、配置启动,那么一定要备份正在使用的系统内核。备份正在使用的系统内核在启用新的系统内核前,作好正在使用的系统内核备份是非常重要的!一旦新系统内核崩溃,用应急启动盘进入 Linux 系统,恢复旧系统内核。制作步骤如下:cd /bootmv vmlinuz-8 vmlinuz.old #现有的内核更名 -8/arch/i386/boot/zImage/boot #复制新内核到/boot目录多配置启动的配置文件修改如果你用 GRUB或 LILO 配置文件启动,那么要修改该文件。以文件为例default=0timeout=10splashimage=(hd0

42、,1)/boot/grub/splash.xpm.gztitle Red Hat Linux (-8)root (hd0,1)kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/initrd /boot/initrd-2.4.20-8.imgtitle WinXProotnoverify (hd0,0)chainloader +1第1种方案,不增加启动选项:把 grub.conf 文件中的以下行:kernel /boot/vmlinuz-8 ro root=LABEL=/改为:kernel /boot/zImage ro root=LABEL=/第2种方案

43、,增加一个启动选项;文件修改为:default=0timeout=10splashimage=(hd0,1)/boot/grub/splash.xpm.gztitle Red Hat Linux (-8)root (hd0,1)kernel /boot/vmlinuz-2.4.20-8 ro root=LABEL=/initrd /boot/initrd-2.4.20-8.imgtitle Red Hat Linux-new (2.4.20-8)root (hd0,1)kernel /boot/bzImage ro root=LABEL=/initrd /boot/initrd-2.4.20-

44、8.imgtitle WinXProotnoverify (hd0,0)chainloader +1修改后保存文件,如果是用LILO一定要在超级用户提示符下执行lilo 或lilo v 令以使配置文件生效;如果用GRUB那么无须执行命令。重启系统后那么可以用 Linux 新的内核启动了。如果是嵌入式系统开发,那么可以把裁剪过的内核 3.5 Linux内核升级查看版本首先说明,下面带 * 符号的行都是要输入的命令行,且本文提到的所有命令行都在终端里输入。启动Linux虚拟操作系统,并用根用户登录,进入终端模式下。输入* uname a命令来查看Linux内核版本 图3-6 查看当前Linux版本

45、从中可以看出当前Linux版本是-8配置工作/usr/src文件夹下。 具体步骤:先通过共享将该4个升级工具和Linux2.6内核源码包共享到/mnt/hgfs文件下,然后在剪贴到/usr/src文件夹下。拷贝完毕后,开始解压新内核,具体操作依次执行以下命令* cd /usr/src (进入到/usr/src目录下)* tar jvxf linux-(解压Linux新内核) 图3-7 输入内核解压命令解压过程中图3-8内核解压过程一图3-9 内核解压过程二解压结束后,然后输入* ln -s linux- linux (重新生成linux文件夹)3. 安装module-init-tools工具具

46、体步骤如下:在/usr/src目录下,依次执行以下命令:首先输入命令* tar jvxf module-init-tools-3.2.tar.bz2 (解压module-init-tools) 图3-10解压module-init-tools工具解压结束后在输入:* cd module-init-tools-3.2 (由/usr/src目录进入module-init-tools目录下)* ls查看该目录下的文件图3-11 module-init-tools目录下然后输入:* ./configure -prefix=/ 结果如下:图3-12相关命令结果接下来输入:* make moveold结果

47、如下:图3-13 旧文件移除过程一图3-14 旧文件移除过程二紧接着输入:* make all install结果如下:图3-15安装过程一图3-16安装过程二图3-17安装过程三最后输入:* ls查看该目录下的文件查看之后,再输入:* 根据下面显示,因为没有报错,所以安装成功!图3-18安装成功mkinitrd-386升级工具在终端中输入* cd /sur/src然后再输入* rpm -ivh -nodeps mkinitrd-图3-19安装mkinitrd-mkinitrd-386升级工具安装成功!lvm2-386升级工具输入* rpm -ivh -nodeps lvm2-.rpm图3-2

48、0安装 lvm2-.工具图3-21 lvm2-.工具安装成功lvm2-386升级工具安装成功!device-mapper-386升级工具输入* rpm -ivh -nodeps device-mapper-图3-22安装 lvm2-.工具device-mapper-386升级工具安装成功!7.配置内核选项首先通过输入* cd /usr/src/ 然后再输入* cd linux-图3-23进入linux-目录输入* make mrproper 该命令可确保该目录下没有不正确的.o文件。输入* make menuconfig 命令来(配置内核各选项。出现如下界面:图3-24进入配置内核界面接下来在

49、该界面上进行相关操作。通过上下左右键来选择Loadable Module support选项,enter。图3-25选择Loadable Module support选项选上“Module unloading和“Automatic kernel module loading这两项。图3-26选择Loadable Module support选项然后退出。在Device DriversBlock Devices中选上“Loopback device support;图3-27选择Loopback device support选项在Device DriversMulti-device suppor

50、t(RAID and LVM)处要选上“device mapper support;图3-28选择device mapper support选项Device DriversGraphics support,一定要选上“ Support for frame buffer devices;图3-29选择Support for frame buffer devices选项device mapper supportDevice Drivers USB support 选上“USB Mass Storage support;图3-30选择USB Mass Storage support选项Device

51、Drivers ;Network device support Ethernet (10 or 100Mbit) AMD PCnet32 PCI support 图3-31选择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 ex

52、tended attributesExt3 POSIX Access Control ListsExt3 Security LabelsJBB (ext3) debugging support图3-32 ext2和ext3文件系统配置 File systemDOS/FAT/NT Filesystems 选上“NTFS file system support;图3-33 进入DOS/FAT/NT Filesystems图3-34选择NTFS file system support选项 vmware下编译Linux内核,硬盘用的是scsi的,需选择以下三个选项:Device Drivers SCS

53、I device support SCSI disk support;图3-35选择SCSI disk support t选项 Device DriversSCSI device supportSCSI low-level drivers; BusLogic SCSI support图3-36选择BusLogic SCSI support选项编译工作以下步骤均在在/usr/src/linux-目录下执行相关命令来实现编译。* make bzImage命令图3-37输入make bzImage命令图3-38编译内核内核编译成功!* make modules用于编译可加载模块;* make modules_install 用于安装可加载模块;图3-39安装可加载模块安装成功后,系统会在/lib/modules目录下生成一

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论