- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
详细教程:编译 Linux 最新内核
一、实验目的
学习重新编译Linux 内核,理解、掌握Linux 内核和发行版本的区别。
二、实验内容
在 Linux 操作系统环境下重新编译内核。实验主要内容:
查找并且下载一份内核源代码,本实验使用最新的Linux 内核 2.6.36。
配置内核。
编译内核和模块。
配置启动文件。
本次实验环境是Linux2.6.35 内核的环境下,下载并重新编译内核源代码(2.6.36);然后,配置GNU 的启动引导工具grub,成功运行编译成功的内核。
三、主要仪器设备(必填)
Linux 环境:utuntu10.10,linux 内核 2.6.35
待编译内核:linux2.6.36
四、操作方法和实验步骤
【1】下载内核源代码
从 /newlinux/files/jijiangmin 网站上下载最新的Linux 内核 2.6.36。
【2】部署内核源代码
打开终端,更改用户权限为 root。具体做法是在终端输入 sudo su,然后按提示输入密码。判断是否是 root 用户是使用 whoami 命令,若输出为 root 则已经切换到 root 账户。
输入 mv linux-2.6.36.tar.gz /usr/src,目的是把下载的内核源代码文件移到/usr/src 目录。输入 cd /usr/src 切换到该目录下。
输入 tar zxvf linux-2.6.36.tar.gz,目的是解压内核包,生成的源代码放在linux-2.6.36 目录下。
输入 cd linux-2.6.36,切换到该目录下。
输入 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-2.6.36 sudo update-initramfs -c -k 2.6.36
sudo update-grub2 //自动修改系统引导配置,产生 grub.cfg 启动文件。
五、实验结果和分析
把内核源代码移动到目录/usr/src,如下图
在成功执行语句
sudo mkinitramfs -o /boot/initrd.img-2.6.36 sudo update-initramfs -c -k 2.6.36
后的 boot目录,如下图
在成功执行语句
sudo update-grub2
后 grub.cfg文件中增加了新内核的启动项,如下图
在所有的实验步骤成功完成后,重新启动,可以发现在启动项中多了两项,分别为Linux2.6.36 模式和 Linux2.6.36 recovery 模式,选择 Linux2.6.36 模式,进入新的内核,若在启动过程中没有跳出错误提示,表示已经成功了。
进入系统后,打开终端,输入 uname -a,输出如下图,表明现在已经是 2.6.36 的内核了
六、讨论、心得
1、本次实验,共编译了两次内核,在第一次编译时,对内核的配置这块没有把ext2 和ext3 文件系统编译进内核,导致了编译完的内核无法成功启动。在第二次编译中,经过仔细的对内核的
文档评论(0)