分类: LINUX
2014-04-22 11:08:52
刚做了一个Ubuntu的双内核启动项,把所涉及到的步骤记录一下,免得到时候忘了。
1 去官网下载一个你想要更新的内核,
2 拿到内核之后,拷贝到Ubuntu的指定目录下,然后解压缩,如下图:
3 解压出来之后,由于不知道内核里面做了一些什么操作,所以需要make distclean
4 然后执行make bzImage,这个过程很长,完毕之后,会在x86的目录下生成bzImage文件
5 然后执行make modules,这个过程很长
6 然后执行make modules_install,这个过程很长,执行完成之后,将make modules编译的内核代码拷贝到lib/modules下面
7 上面的步骤执行完成之后,内核编译的工作就做好了,现在就剩下安装的步骤了
8 由于我的Ubuntu是安装在vm上的scsi磁盘上的,所以需要制作ramdisk文件,命令为:
mkinitramfs –o initrd-$version version,例如我制作的3.14.1的内核,我的名字如下:
在命令格式中,mkinitramfs是命令关键字(redhat中是mkinitrd),-o是制作选项,initrd-$version是制作的文件名,可以随意取,但是一般都是initrd+版本号,version部分必须是版本号,因为改名字是用来去索引make modules_install生成的lib/modules下的目录的,本文中version就必须得是3.14.1,因为lib/modules的文件名为3.14.1,该命令就是将lib/modules下的3.14.1制作成ramdisk文件。
又是会出现mkinitramfs命令找不到的情况,请安装
9 制作完成之后,需要将bzImage和initrd-3.14.1拷贝到/boot下
,拷贝之后一般重命名为vmlinuz-$version,习惯问题
拷贝之后的结果如下:
10 万事具备只欠东风,此时需要在系统启动项中加入新增的系统
由于我使用的Ubuntu12.04所以和之前的不大一样,之前的版本只修改menu.lst就行了,这个我没有弄过,我现在说一下怎么基于Ubuntu12.04增加启动项。
10.1 如何修改/boot/gtub/grub.cfg文件
在Ubuntu12.04中是不能直接修改grub.cfg文件的,只能通过修改/etc/grub.d/和/etc/default/grub文件来操作。
10.2 /etc/default/grub /etc/grub.d/部分说明
该文件的定义请参照博文http://blog.chinaunix.net/uid-29570002-id-4219982.html
需要将/etc/default/grub里面的一个注释掉,不然选项出不来,如下图:
10.3 增加启动项
如果你想在Ubuntu启动时增加你的启动项,你需要将你的menuentry
添加到40_custom中去,
10.4 编辑完之后,执行update-grub即可
10.5 Reboot,启动过程即可出现如下选项
启动之后,查看linux版本,确实已经升级了;
这样就升级好了。。。。。可惜用word编辑好了,不能粘贴图片。