操作系统实验1(编译内核)实验指导书.doc_第1页
操作系统实验1(编译内核)实验指导书.doc_第2页
操作系统实验1(编译内核)实验指导书.doc_第3页
操作系统实验1(编译内核)实验指导书.doc_第4页
操作系统实验1(编译内核)实验指导书.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

实验一 虚拟机平台下的Linux内核编译步骤一、实验准备:将windows下的Linux-2.4.32内核复制到虚拟机中。 一般有三种方法可以实现:虚拟磁盘、文件共享、网络设置。下面介绍的是虚拟磁盘的方法:我们已经将Linux-2.4.32内核源代码的压缩文件放入虚拟磁盘,并在FTP上共享。1.请从FTP服务器上将实验指导书以及虚拟磁盘拷贝到E盘根目录下。2. windows平台下启动虚拟机VMware, VMWare中安装虚拟硬盘:1)安装前建议先把内存调大一些,这样后面编译的速度会快一些。(Memory,调到512M)2)点击Add3)点击Next上述步骤完成后点击Finish。观察发现:虚拟机中将出现两个磁盘,一个是原有的磁盘,另一个是虚拟磁盘,相当于对本机外接了一个磁盘。(请将设置完成后的虚拟机中出现两个磁盘的界面截图,一个是6G,另一个106M)。4.启动Linux操作系统 在启动过程中可以见到当前只有一个可选择内核,内核版本是Linux2.4.20。我们本次实验的目的是在虚拟机下重新编译一个新的内核,内核版本是Linux2.4.32.完成本实验后,重启虚拟机将出现两个可选择内核。5.将虚拟磁盘安装到/mnt/mydisk目录下.(mount命令),如图: 1)先用fdisk l 命令查看虚拟磁盘是否“连接”成功。记下虚拟磁盘名称(/dev/sdb)。 2)进入到mnt目录下创建mydisk目录,该目录作为访问虚拟磁盘的入口,此时该目录为空。 3)返回根目录root,并安装虚拟磁盘:mount /dev/sdb /mnt/mydisk6.安装完成后,mydisk目录下出现了虚拟磁盘中的文件,如图。其中Linux-2.4.32.tar.gz就是待编译内核的源代码。将该文件复制(cp)到本地磁盘的/usr/src目录下,并且解压缩(tar xzvf),如图。当然,这两个操作也可以通过图形用户(GUI)界面来完成。(拷贝和解压缩都需要一些时间,请耐心等待)7.解压完成后,就可以开始编译操作系统Linux-2.4.32了(见步骤二)。步骤二:Linux内核编译1.开始前先返回根目录/root,用uname a命令查看Linux当前内核信息,(并截图)2.进入到/usr/src/Linux-2.4.32目录下依次运行如下命令:(每个命令后虚拟机做相应操作需要一些时间,请耐心等待)make mrproper:完全清除上一次编译内核时的所有配置以及生成的文件(如图)。make clean:清除大部分文件。make menuconfig :基于文本选单的配置界面,选择操作系统的基本模块。2.输入make menuconfig后将出现蓝色界面,选择操作系统的模块。(完成下述配置后请截图)。 M:表示编译成模块,*表示编译进内核,表示不编译。1)选择处理器 Processor type and features-Processor family-3862)Ram Disk驱动 Block devices- RAM disk support (4096) Default RAM disk size (NEW) Initial RAM disk (initrd) support 3)文件系统 File systems- * Ext3 journalling file system support * JBD (ext3) debugging support 4)BusLogic驱动 SCSI support- SCSI low-level drivers - BusLogic SCSI support5)Ipaddr补充: Fusion MPT device support - Fusion MPT (base + ScsiHost) drivers(ipaddr注:此处一定要选M,不能是*,更不能不选,否则,make install报错No Module mptbase found for kernel) Fusion MPT misc device (ioctl) driver3. make dep (建立编译时所需的从属文件。注意:如果内核从未编译过,此步可跳过)4. make clean (清除内核编译的目标文件。注意:如果内核从未编译过,此步可跳过)5. make bzImage (注意大小写。这一步才是真正编译内核)内核编译成功后,会在/usr/src/linux/arch/i386/boot目录中生成一个新内核的映像文件bzImage。如果用make zImage编译,内核很大的话,系统会提示你使用make bzImage命令来编译,所以我直接用make bzImage来编译。6. make modules (编译可加载模块)7. make modules_install (安装可加载模块) 注意modules和install中间的下划线。安装成功后,系统会在/lib/modules目录下生成一个2.4.32子目录,里面存放着新内核的所有可加载模块。8. make install (安装新内核)注意:make install的时候可能会出现如下错误信息:No module BusLogic found for kernel 2.4.32 mkinitrd failed此问题一般只出现在SCSI硬盘VMWARE+REDHAT架构中,因为BusLogic被编译进了内核而不是一个module的形式(2.4内核的Buslogic模块即使静态编译进内核也不行)。解决方式是直接将BusLogic.o文件复制过去:#mkdir /lib/modules/2.4.32/kernel/drivers/scsi/# cp /usr/src/linux-2.4.32/drivers/scsi/BusLogic.o /lib/modules/2.4.32/kernel/drivers/scsi/不过别忘记,复制过后再执行一下make install。这一步若卡住了,下面的都无法进行。步骤三:重启虚拟机1.完成步骤二后回到根目录/root,输入reboot重启虚拟机。启动过程中会发现有两个可选择的Linux操作系统,第一个版本是原版本Linux2.

温馨提示

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

评论

0/150

提交评论