在ubuntu下编译linux内核的详细说明.docVIP

  • 1
  • 0
  • 约4.36千字
  • 约 9页
  • 2018-03-09 发布于河南
  • 举报
在ubuntu下编译linux内核的详细说明

一、实验目的 学习重新编译Linux内核,理解、掌握Linux内核和发行版本的区别。 二、实验内容 在Linux操作系统环境下重新编译内核。实验主要内容: A.?查找并且下载一份内核源代码,本实验使用最新的Linux内核2.6.36。 B.?配置内核。 C.?编译内核和模块。 D.?配置启动文件。 本次实验环境是Linux2.6.35内核的环境下,下载并重新编译内核源代码(2.6.36);然后,配置GNU的启动引导工具grub,成功运行编译成功的内核。 ? 三、主要仪器设备(必填) Linux环境:utuntu10.10,待编译内核:linux3.6.9 ? 四、操作方法和实验步骤 【1】下载内核源代码 从/ 网站上下载新的Linux内核3.6.9。 ? 【2】部署内核源代码 打开终端,更改用户权限为root。具体做法是在终端输入sudo?su,然后按提示输入密码。判断是否是root用户是使用whoami命令,若输出为root则已经切换到root账户。 输入mv?linux-3.6.9.tar.gz??/usr/src,目的是把下载的内核源代码文件移到/usr/src目录。 输入cd?/usr/src切换到该目录下。 输入tar?zxvf?linux-3.6.9.tar.gz,目的是解压内核包,生成的源代码放在linux-3.6.9目录下。 输入cd?linux-3.6.9,切换到该目录下。 输入cp?/boot/config-,然后按下Tab键,系统会自动填上该目录下符合条件的文件名,然后继续输入?.config,目的是使用在boot目录下的原配置文件。 ? 【3】配置内核 配置内核的方法很多,主要有如下几种: #make?menuconfig??//基于ncurse库编制的图形工具界面 #make?config??//基于文本命令行工具,不推荐使用 #make?xconfig??//基于X11图形工具界面 #make?gconfig??//基于gtk+的图形工具界面 由于对Linux还处在初学阶段,所以选择了简单的配置内核方法,即make?menuconfig。在终端输入make?menuconfig,等待几秒后,终端变成图形化的内核配置界面。进行配置时,大部分选项使用其缺省值,只有一小部分需要根据不同的需要选择。 对每一个配置选项,用户有三种选择,它们分别代表的含义如下: *或[*]——将该功能编译进内核 []——不将该功能编译进内核 [M]——将该功能编译成可以在需要时动态插入到内核中的代码 本实验在make?menuconfig后,把ext2和ext3文件系统编译进内核。如果用户是在虚拟机下编译的,那么一般要把SCSI设备编译进内核。不是在虚拟机下编译的也可以把它编译进去,不会有什么影响的。 ? 【4】编译内核 这步是时间最长的一个步骤,一般在3个小时左右。 编译内核只需在终端输入make,然后等待编译的完成。 ? 【5】编译和安装内核模块 输入make?modules_install,这步很快能完成。 ? 【6】安装内核 输入make?install ? 【7】生成启动 依次输入: sudo?mkinitramfs?-o?/boot/initrd.img-3.6.9 sudo?update-initramfs?-c?-k?3.6.9 sudo?update-grub2??//自动修改系统引导配置,产生grub.cfg启动文件。 ? 五、实验结果和分析 把内核源代码移动到目录/usr/src,如下图 ? 在成功执行语句 sudo?mkinitramfs?-o?/boot/initrd.img-3.6.9 sudo?update-initramfs?-c?-k?3.6.9 后的boot目录,如下图 ? 在成功执行语句 sudo?update-grub2 后grub.cfg文件中增加了新内核的启动项,如下图 ? 在所有的实验步骤成功完成后,重新启动,可以发现在启动项中多了两项,分别为Linux3.6.9模式和Linux3.6.9?recovery模式,选择Linux3.6.9模式,进入新的内核,若在启动过程中没有跳出错误提示,表示已经成功了。 进入系统后,打开终端,输入uname?-a,输出如下图,表明现在已经是3.6.9的内核了 ? ? 六、讨论、心得 1、本次实验,共编译了两次内核,在第一次编译时,对内核的配置这块没有把ext2和ext3文件系统编译进内核,导致了编译完的内核无法成功启动。在第二次编译中,经过仔细的对内核的配置,把ext2和ext3已经SCSI编译进内核,终于成功了。这让我觉得内核编译后能否成功启动的关键是内核的配置。 2、编译后的每一个步骤执行后,可以通过查看相关目录是否生成了预期的文件来判

文档评论(0)

1亿VIP精品文档

相关文档