Debian 64位内核升级步骤

1、apt-get install bzip2 libncurses5-dev kernel-package zlib1g-devgcc make kernel-package wget module-init-tools procps libncurses5-dev       

  注释:这一步是需要安装内核编译过程中的一些依赖包和依赖库

2、cd /usr/src

  注释:这步是进入到用户目录,这个目录可以自己定义

3、wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.9.tar.bz2

  注释:这步是下载内核源码包,这个用wget方式下载,也可以用其他方式下载然后放置到/usr/src 目录当中,内核版本可以根据需要下载

4、tar -xvjf linux-2.6.35.9.tar.bz2

  注释:解压内核源码包,这个是在你放置源码包的目录下面执行的。

5、cp /boot/config-`uname -r` /usr/src/linux-2.6.35.9/.config

  注释:这个是将老的配置文件复制到即将编译的内核配置文件,后面编译的时候会读取.config配置文件

6、然后就是配置内核:

  cd linux-2.6.35.9

  注释:这里是进入你刚刚解压的源码目录当中。

  make menuconfig

  注释:这个是启动配置程序

我们在内核配置里面至少有两个地方要修改。如下所示:

  File systems -> Btrfs filesystem (EXPERIMENTAL) Unstable disk format

  在"Btrfs filesystem"之前标上<*>

    注释:这里因为我们自己的系统需要用法btrfs系统,所以勾选上了

  Processor type and features -> Processor Family -> "our processor"

  删除Dell laptop supportToshiba Laptop support

  裁减sound card support

  裁减Bluetooth subsystem support

  裁减Wireless

  裁减Kernel hacking 

  注释:以上都是去掉不需要的内核模块,能达到精简内核的作用

  多次点击“ESC”退出,保存

    注释:会问你是否保存,保存即可

  在include/linux/version.h 中添加宏定义:

  #define UTS_RELEASE 2.6.35.9

    注释:2.6.39以后的版本没有要求,如果出现警告,就需要做这一步 注意后面是内核版本号

  make-kpkg linux-image linux-headers --initrd

    注释:这个是开始编译并且生成两个deb包,image和headers。

  编译成功后执行cd ..

  dpkg -i linux-image-2.6.29_2.6.35.9-10.00.Custom_i386.deb

    注释:这个是安装image包

  dpkg -i linux-headers-2.6.29_2.6.35.9-10.00.Custom_i386.deb

    注释:这个是按照headers包

    重启,用uname-a 查看内核版本

 

错误处理(这个是自己碰到的):

编译完成后生成linux deb 包,先dpkg -i装image,再装headers 

安装完成以后再update-grub 进入/boot/grub/menu.lst 中选择启动的内核项 默认的第一项为0

ps:

在编译完成内核后开机可能出现 Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)的错误

在/boot/grub/menu.lst中可以发现新加的内核可能是没有 initrd   /initrd.img-2.6.37.6 未生成的原因不明(2.6.39有的会出现这个bug),可以手动生成 :

执行命令 :

mkinitramfs -o /boot/initrd.img-2.6.34.10 2.6.34.10

(/boot/initrd.img-2.6.34.10是这个启动加载文件的生成路径 2.6.34.10是 /lib/modules/2.6.34.10)

然后update-grub 再启动新内核就没有问题了

 

卸载一个已经安装的内核包

debian卸载旧内核要先看看有哪些旧的内核,用命令:

   dpkg --get-selections |grep linux

如果你的内核是以kernel开头的就把上面的linux改成kernel,之后再用

   dpkg --purge --force-remove-essential linux-image-XXX

你可能感兴趣的:(Debian)