昨天晚上折腾了两回以失败告终。。早上整好了
[失败步骤]
1、下载&解压 tar.bzip2
2、拷贝config
3、make-kpkg clean
4、make-kpkg kernel_image
-------------------------------------这里出错了
错误信息:documentation/lguest not found
我的做法:发现lguest的文件路径跑到 documentation/virtual/lguest/下面去了
find . -type f | xargs perl -e 's|documentation/lguest|documentation/virtual/lguest|g'
然后又编译了一遍,还是没有成功。这时都11点多,就睡觉了
-------------错误相关结束
早上跟一个同学请教了一下,他说把lguest考到对应目录试试或者不用make-kpkg 直接编译试试。
我觉得stable的版本,应该不能有这么路径的问题,要是尝试又是快1个多小时
是不是make-kpkg和这个版本有点冲突。就使用直接make
[成功步骤]
1、下载解压 tar包
2、cp config
3、make 根据config编译
4、make modules ----- cc [m] xxxx 这个是编译loadable modules
5 make modules_install ------- 把loadable modules安装到指定路径
6 make install ---------------看别人的技术文档,这里已经结束了。这一步会自动更新grub配置文件和引导文件。
我的情况:grub没有什么变化,没有initrd。
生成了vmlinuz和sysmap
7 mkinitramfs -o initrd.version version
8 修改grub.cfg
9 根目录下的vmlinuz和initrd.img链接指向旧的,这个不知道影响不影响,我就直接更新为新的了
[成功步骤结束]
make 和 make modules对应的是内核与内核模块,内核模块类似系统起来之后可插拔 装卸的设备驱动什么的
附注: make-kpkg 在 kernel-package包,以后还是直接make 把,不用这个了
mkinitramfs 在bootcd-mkinitramfs包中