以文本方式查看主题 - 中文XML论坛 - 专业的XML技术讨论区 (http://bbs.xml.org.cn/index.asp) -- 『 操作系统原理 』 (http://bbs.xml.org.cn/list.asp?boardid=63) ---- [原创]用debian的方式编译内核 (http://bbs.xml.org.cn/dispbbs.asp?boardid=63&rootid=&id=34843) |
-- 作者:binaryluo -- 发布时间:6/24/2006 1:04:00 PM -- [原创]用debian的方式编译内核 写在前 大家如果看了参考文章【1】可能会觉得我接下来要写的跟它里面写的很像啊,怎么还用“原创”??我之所以在标题前加上“原创”,首先,参考文章【1】里介绍的内容我确实自己实践过;其次,在实施的过程中,有些地方按照它的方法是不行的,或者说是按照它的方法我没有成功,还有些地方它说的不是很清楚的,我又尝试了其他方法,最终搞定,也算是有自己的结论。 本文假设你已经安装了基本系统,主要介绍debian下的内核编译,关于基本系统和桌面的安装网络上有很多资源可以参考,这里将不再赘述。 入题 apt-get update 2.系统升级完后,先安装等下需要用到的工具软件。按理说升级的时候这些软件大多都已经装好了,如果没装的,输入下面命令安装: apt-get install kernel-package ncurses-dev fakeroot wget bzip2 module-init-tools initrd-tools procps 3.然后是下载最新的内核源码。最新的内核源码可以在http://www.kernel.org/上下载。你可以在其他机子或系统上下好后将其拷贝到/usr/src目录;也可以在命令行下用wget下载: cd /usr/src 我安装的时候最新内核是2.6.16.20,现在已经有2.6.17.1了。 4.检查/usr/src目录下是否有linux-2.6.16.20.tar.bz2或你下载的最新版内核存在,解压: tar jxvf linux-2.6.16.20.tar.bz2 5.制作配置文件,在这里我按照的是参考文章【1】中的方法,直接将现有内核的配置文件考过来用: cp /boot/config-2.6.8.2 /usr/src/linux-2.6.16.20/.config 6.加载nvidia最新驱动。参考文章【1】中所说的是在testing里有nvidia的源码包,但是我装的时候testing里根本没有,只好又在sources.list里面添加入unstable的源: deb http://mirror.vmmatrix.net/debian unstable main non-free contrib 添加好后,重新更新软件库并安装nvidia源码包: apt-get update 在安装这两个包的时候由于依赖关系,可能会额外的安装其他包,但由于此时使用的是unstable的源,而原来系统用的是testing的源,混合安装可能会出问题,所以我的处理方法是记录下要额外安装的那些包,先到testing里将这些包都安装了,最后又回到unstable下安装上面两个包。我的这种方法有点麻烦,但比较安全,也可能还有其他的方法也能解决这个问题。在下载好nvidia-kernel-source后,在/usr/src下会有一个nvidia-kernel-source.tar.gz包。解压缩: tar -zxf nvidia-kernel-source.tar.gz 7.现在基本工作已就绪。进入 linux-2.6.16.20目录,先要配置内核: cd linux-2.6.16.20 配置内核是比较麻烦的,一个小的错误就可能功亏一篑。所以我也按照参考文章【1】里的方法,只是修改了几个可能出现问题的地方,取消下面的选项: Block Devices -> Low Performance USB Block driver (BLK_DEV_UB) 另外就是选择了适合自己的处理机类型。 8.配置内核开始编译。命令比较简单: make-kpkg clean 编译过程差不多要1个半小时,结束后,你可以在/usr/src下看到两个deb包:kernel-image-*.deb nvidia-kernel-*.deb。 9.下面就是安装新内核: dpkg -i kernel-image-*.deb nvidia-kernel-*.deb 10.修改启动项文件。首先制作initrd: cd /boot 我使用的是grub管理器,还要修改/boot/grub/menu.lst,正常情况下你会发现menu.lst中已经加入了你的新内核的信息,但是你对照着老内核的信息你会发现有点出入——新内核的位置不对,所以要手动修改: title Debian GNU/Linux, kernel 2.6.16.20 title Debian GNU/Linux, kernel 2.6.16.20 (recovery mode) 说明:(hd0, 6)的意思是我的第一块硬盘(我只有一块硬盘)的第六个分区(我的linux装在该分区)。 11.使用新内核启动后,需要安装nvidia-glx,要保证nvidia-glx的版本跟nvidia-kernel-source的版本是相同的,所以nvidia-kernle-source用的是什么源nvidia-glx也用什么源。因为刚才下载nvidia-kernel-source的时候我的sources.list是unstable的源,后面没有被修改过,所以直接安装: apt-get install nvidia-glx 之后,修改/etc/X11/xorg.conf,注释掉dri模块: 12.安装桌面环境(别忘了修改sources.list为testing源)。 apt-get install x-window-system-core gnome gdm 再重启,gdm加载成功后应该可以看见nvidia的标志,说明nvidia驱动安装也成功了。 13.遗留问题。如果进入系统后如果发现刷新频率调不高,继续修改/etc/X11/xorg.conf: HorizSync 30.0 - 81.0 将水平扫描频率和垂直扫描频率调到你的显示器范围,这两个参数可以在你的显示器说明书上找到。整个编译过程到此也告一段落。 结语 参考文章 |
-- 作者:with0out -- 发布时间:7/11/2006 11:43:00 AM -- 多谢,才用虚拟机装了debian跃跃欲试呢... :-) |
W 3 C h i n a ( since 2003 ) 旗 下 站 点 苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》 |
46.875ms |