- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Linux编译内核实验
计算机操作系统实验报告
——编译内核
学生院系:计算机科学与技术
学生姓名:刘珂男
学生学号:U200915075
实验题目
1、熟悉linux环境,了解基本指令;
2、下载新内核,并完成编译;
系统及内核介绍
实验用的虚拟机,linux版本为ubuntu10.10.原置内核为2.6.35.22,下载的新内核版本为2.6.35.13。
实验步骤及结果
1、获取权限并放入内核:在终端输入sudo apt-get,然后输入新密码,重启后选择其它用户,以用户名:root;密码:新密码登录,然后将新的内核放在/usr/src目录下,并解压,结果如下所示
2、编译内核:在终端下输入cd /usr/src/linux-source-2.6.35进入该目录下,依次输入如下:
a)make mrproper //清除内核中不稳定的目标文件,附属文件及内核配置文件
b)make clean //清除以前生成的目标文件和其他文件
c)make oldconfig // 采用默认的内核配置选项
d)make bzImage //编译内核
编译成功时结果如下
e)make modules //编译模块
f)make modules_install// 安装模块
成功后结果如下:
得知该内核版本为2.6..35.13
复制内核
首先查看一下编译好的内核版本,以便命名打开 /lib/modules里面应该多了一个纯数字不带generic的文件夹,那就是新内核版本号,如下所示:
然后复制内核cp /usr/src/linux-source-2.6.35/arch/i386/boot/bzImage /boot/vmlinuz-2.6.35.13-mykernel
4、创建 initrd 文件
在创建之前先安装必要的程序apt-get install bootcd-mkinitramfs
mkinitramfs -o /boot/initrd.img-2.6.35.13并等待创建完成。
5、更新配置GRUB 引导列表
打开/boot/grub/grub.cfg
找到下面的语句
menuentry Ubuntu, with Linux 2.6.35-22-generic --class ubuntu --class gnu-linux --class gnu --class os {
initrd /boot/initrd.img-2.6.35-22-generic
menuentry Ubuntu, with Linux 2.6.35-22-generic (recovery mode) --class ubuntu --class gnu-linux --class
echo Loading Linux 2.6.35-22-generic ...
linux/boot/vmlinuz-2.6.35-22-generic
initrd /boot/initrd.img-2.6.35-22-generic
复制一份在这些结构前粘贴,注意必须贴在
### BEGIN /etc/grub.d/10_linux ###
……
### END /etc/grub.d/10_linux ###
里面,并将粘贴出来的结构中的
linux /boot/vmlinuz-2.6.35-22-generic
initrd /boot/initrd.img-2.6.35-22-generic
改成内核文件地址和initrd 文件地址
linux /boot/vmlinuz-2.6.35.13-mykernel
initrd /boot/initrd.img-2.6.35.13
并把其余的2.6.35.22改成2.6.35.13
6、备份并修改:
cd /boot
cp initrd.img-2.6.35.11 initrd-2.6.35.11.old
以上是备份initrid,下面是修改
depmod -a
update-initramfs -k 2.6.35.11 -c
cd /tmp
gzip -dc /boot/initrd.img-2.6.35.11| cpio -id
touch lib/modules/2.6.35.11/modules.dep
find ./ | cpio -H newc -o /boot/initrd.img-2.6.35.11.new
gzip /boot/initrd.img-2.6.35.11.new
cd /boot
mv initrd.img-2.6.35.11.new.gz initrd.img-2.6.35.11
重启,能进入系统代表实验成功
结果检测
在登录时按shift键得到如下
文档评论(0)