首先使用下面的方法编译Ubuntu Linux内核:
编译内核和驱动:
安装声卡和显卡驱动:(可选)
# apt-get install alsa-source
(可能会建议安装 kernel-source-2.4.**, 选择不安装这个 kernel-2.4.**)
该命令会在目录下生成一个 alsa-driver.tar.bz2 文件。
# cd /usr/src
# tar xvjf alsa-driver.tar.bz2
该命令会在 /usr/src/modules 目录下生成 alsa-driver 目录
# dpkg-reconfigure
(选择你机器上有的声卡)
因为我的显卡是 nvidia 所以我就只介绍如何安装 nvidia 的驱动
# apt-get install nvidia-new-kernel-source
# cd /usr/src
# tar xvzf nvidia-new-kernel-source.tar.gz
在 /usr/src/modules 目录下生成了 nvidia-new-kernel 目录
# cd /usr/src/linux
# make-kpkg clean
# fakeroot make-kpkg –initrd –append-to-version=-core2-smp
–rev=1.0 kernel_image modules_image
说明:initrd 选项是为了生成 initrd.img 用的。 另外的 -core2-smp 和1.0 可以是任何别的一些字符串。
如果一切顺利,该命令结束以后会在 /usr/src 目录下生成三个 deb 文件,
分别是 kernel-image-2.6.17-ck1_1.0_i386.deb,nvidia-kernel-****.deb 和 alsa-****.deb
安装:
# cd /usr/src
# dpkg -i kernel-***.deb nvidia-***.deb alsa-***.deb
系统会自动安装内核,生成 initrd 境象,配置 grub 菜单。
最后的说明:
a. 如果因为某些原因使得新装的内核不能正常工作而需要对内核作一些小修改,则只需要进入 /usr/src/linux 后 make menuconfig,然后不用
# make-kpkg clean 而直接
# fakeroot make-kpkg –initrd –append-to-version=*** –rev=**
这里 rev 和 append-to-version 的参数要和原来的一样。
这样可以节省很多重新编译的时间。
b. 新的内核的第一次运行时,图形界面有可能不能正常工作,只需进入root 帐户,执行 depmod ,然后再 /etc/init.d/gdm restart 。
执行完上面的步骤后,在我的系统里面还是不能进入图形界面,发现是模块没正确加载。
# insmod /lib/modules/2.6.23.1-core2/nvidia/nvidia.ko
然后在运行/etc/init.d/gdm restart就进入图形界面并可以开3D桌面。