今天又开始在Linux下工作了,可以我的ubuntu一直是跑在386的模式下,让我很不舒服;但是没有办法,如果用686(generic)的内核,键盘和鼠标会死掉,一直也不知道什么原因。今天决定再来研究一下这个问题。先找了ubuntu下怎么编译内核的方法,看样子也只有重新编译内核才有得救,不过以前没有在ubuntu下做过。gentoo下简单阿,一个emerge就可以了,从网上找到了相关的资料,照着做了一下,发现debian(ubuntu)的这种make-kpkg的机制其实也挺好的。很简单。不过要注意的是,从软件库里面用apt-get等直接下来的源代码,往往不能编译成功,最好是下载kernel.org的内核,上一次编译内核不成功,也是因为用了软件库中间的内核源码。如果是从pool中通过浏览器等下载的该发行版支持的内核版本,那么直接用make-dpkg编译也是不行的,源码术当中的debian/control要做修改,偷懒的办法是直接删掉debian那个文件夹,让其在make-dpkg时自动生成,这样不会有多于信息,不会提示说control文件当中有重复的条目。
两条命令就可以完成内核的编译:
make-kpkg clean
fakeroot make-kpkg --initrd --append-to-version=-custom kernel_image
kernel_headers
之后完成内核的安装,用dpkg -i。
最后一个问题是nvidia的驱动,我安装好内核之后只能用xorg的nv驱动,效果不让人满意。不过能够用P4 CPU和SMP的选项编译成功,并且得到/proc/cpuinfo中有两个CPU的信息已经让我狂喜了。我一直担心这个问题。然而,看到一篇文章上直接用从nvidia网站上下来的驱动安装的方法,让我从执着于怎么从ubuntu的代码库中搞出能用的nvidia驱动的想法解脱了出来,我原来甚至想再编译一个和6.10默认内核版本相同的内核出来,以使用它的restricted-modules。说实话,从nvidia官方网站上下驱动来直接安装我之前都不知道!被gentoo宠坏了:).不过这个方法确实很简单,并且奏效。
至此,所有问题解决:Ubuntu 6.10用支持P4 smp的内核,用nvidia驱动,再没有
键盘鼠标不响应的情况了。