linux内核编译详细教程_1.docx

上传人:安*** 文档编号:18973528 上传时间:2022-06-03 格式:DOCX 页数:7 大小:189.39KB
返回 下载 相关 举报
linux内核编译详细教程_1.docx_第1页
第1页 / 共7页
linux内核编译详细教程_1.docx_第2页
第2页 / 共7页
点击查看更多>>
资源描述

《linux内核编译详细教程_1.docx》由会员分享,可在线阅读,更多相关《linux内核编译详细教程_1.docx(7页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、linux内核编译详细教程具体教程:编译Linux最新内核一、实验目的学习重新编译Linux内核,理解、把握Linux内核和发行版本的区别。二、实验内容在Linux操作系统环境下重新编译内核。实验主要内容:A.查找并且下载一份内核源代码,本实验使用最新的Linux内核2.6.36。B.配置内核。C.编译内核和模块。D.配置启动文件。本次实验环境是Linux2.6.35内核的环境下,下载并重新编译内核源代码2.6.36;然后,配置GNU的启动引导工具grub,成功运行编译成功的内核。三、主要仪器设备必填Linux环境:utuntu10.10,linux内核2.6.35待编译内核:linux2.6

2、.36四、操作方法和实验步骤【1】下载内核源代码从httpdocsj/doc/b48c0208650e52ea551898e6./newlinux/files/jijiangmin网站上下载最新的Linux内核2.6.36。【2】部署内核源代码打开终端,更改用户权限为root。详细做法是在终端输入sudosu,然后按提示输入密码。判定能否是root用户是使用whoami命令,若输出为root则已经切换到root账户。输入mvlinux-2.6.36.tar.gz/usr/src,目的是把下载的内核源代码文件移到/usr/src目录。输入cd/usr/src切换到该目录下。输入tarzxvfli

3、nux-2.6.36.tar.gz,目的是解压内核包,生成的源代码放在linux-2.6.36目录下。输入cdlinux-2.6.36,切换到该目录下。输入cp/boot/config-,然后按下Tab键,系统会自动填上该目录下符合条件的文件名,然后继续输入.config,目的是使用在boot目录下的原配置文件。【3】配置内核配置内核的方法很多,主要有如下几种:#makemenuconfig/基于ncurse库编制的图形工具界面#makeconfig/基于文本命令行工具,不推荐使用#makexconfig/基于X11图形工具界面#makegconfig/基于gtk+的图形工具界面由于对Linu

4、x还处在初学阶段,所以选择了简单的配置内核方法,即makemenuconfig。在终端输入makemenuconfig,等待几秒后,终端变成图形化的内核配置界面。进行配置时,大部分选项使用其缺省值,只要一小部分需要根据不同的需要选择。对每一个配置选项,用户有三种选择,它们分别代表的含义如下:或*将该功能编译进内核不将该功能编译进内核 M将该功能编译成能够在需要时动态插入到内核中的代码本实验在makemenuconfig后,把ext2和ext3文件系统编译进内核。假如用户是在虚拟机下编译的,那么一般要把SCSI设备编译进内核。不是在虚拟机下编译的可以以把它编译进去,不会有什么影响的。【4】编译内

5、核这步是时间最长的一个步骤,一般在3个小时左右。编译内核只需在终端输入make,然后等待编译的完成。【5】编译和安装内核模块输入makemodules_install,这步很快能完成。【6】安装内核输入makeinstall【7】生成启动依次输入:sudomkinitramfs-o/boot/initrd.img-2.6.36sudoupdate-initramfs-c-k2.6.36sudoupdate-grub2/自动修改系统引导配置,产生grub.cfg启动文件。五、实验结果和分析在所有的实验步骤成功完成后,重新启动,能够发如今启动项中多了两项,分别为Linux2.6.36形式和Linu

6、x2.6.36recovery形式,选择Linux2.6.36形式,进入新的内核,若在启动经过中没有跳出错误提示,表示已经成功了。进入系统后,打开终端,输入uname-a,输出如下列图,表明如今已经是2.6.36的内核了六、讨论、心得1、本次实验,共编译了两次内核,在第一次编译时,对内核的配置这块没有把ext2和ext3文件系统编译进内核,导致了编译完的内核无法成功启动。在第二次编译中,经过仔细的对内核的配置,把ext2和ext3已经SCSI编译进内核,终于成功了。这让我觉得内核编译后能否成功启动的关键是内核的配置。2、编译后的每一个步骤执行后,能够通过查看相关目录能否生成了预期的文件来判定经

7、过的正确与否。3、Linux通过在系统引导后从/boot目录下读取内核映像到内存中来完成启动。4、initrd.img是Linux启动经过中很重要的一个文件,假如你编译内核时将一部分功能编译为可加载模块。假如系统的一些设备的驱动编译为可加载模块,那么启动时假如没有指定INITRD=/path_to_initrd.img,那么系统启动或者会失败,或者启动后会有设备无法使用像网卡或者其它设备。假如没指定initrd.img或者指定的initrd.img中并没有包含正确的驱动模块,则系统启动时会挂起,并报告kernelpanic:VFS:Unabletomountrootfson08:06的错误。5、grub.cfg文件保存着系统引导配置信息,记录着系统的启动项。新编译后的内核信息必须包含到该文件中,这样在系统启动时才会出现新的启动项的选项。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 合同协议

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁