Debian升级内核到3.2的方法

最近用上华为的3G网卡,型号是E353,可能是设备太新,我的蝶变(Debian)死活不支持,后来google到3.2.0-rc5的kernel changelog,里面有一行说添加了HUAWEI E353的支持,这回妥了,毫不犹豫赶紧上吧!

方法一:(这个方法不推荐于是,按着网上找到的步骤:

首先,修改/etc/apt/sources.list,如果其中有含cdrom这行,用“#”号注释掉该行。

然后,打开终端Terminal,运行

#apt-get update

#apt-get install build-essential

这步将装上如gcc等的所有基本软件工具,由于打算使用X-Window中的xconfig界面来配置内核,所以,需要安装qt3,运行命令

#apt-get install pkg-config qt3-dev-tools libqt3-headers libqt3-mt-dev qt3-qtconfig qt3-doc

然后在http://www.kernel.org/上下载最新的Linux Kernel。

我升级时,最新内核文件是linux-3.2-rc7.tar.bz2

#tar -jxvf linux-3.2-rc7.tar.bz2

#cd linux-3.2-rc7

#make xconfig

X-Window下的内核配置命令,在出现的页面中,我没有修改任何参数,直接保存&退出 的。网友可以根据自己的实际情况修改,不过一定要确定没有错误。

#make dep //这步应该是检查依赖关系

#make clean //如果是第一次编译新下载的内核,这步可省略

#make bzImage //生成新内核的镜像,这里时间比较长

#make modules //编译外挂模块,这时间最长

#make modules_install //安装模块

#depmod –a //创建模块的链接

-------------------------------------------------------------------------------------------------

#make install //这步创建System.map与vmlinuz。

若不成功,需要手动创建,进入/boot文件夹下,执行

#cd /boot

#cp /usr/src/linux/System.map System.map-2.6.36.2

#cp /usr/src/linux//arch/i386/boot/bzImage vmlinuz-2.6.36.2

不过,正常情况下,上三步不用执行,make install已经创建好了链接。

---------------------------------------------------------------------------------------------------

最后
mkinitramfs -o /boot/initrd.img-2.6.36.2

#sudo update-grub


//如果出现

Generating grub.cfg ...
Found Debian background: linuxdeepin.png
Found linux image: /boot/vmlinuz-2.6.36.2
Found initrd image: /boot/initrd-2.6.36.2.img
Found linux image: /boot/vmlinuz-2.6.35-24-generic-pae
Found initrd image: /boot/initrd.img-2.6.35-24-generic-pae
Found memtest86+ image: /boot/memtest86+.bin
说明成功了。

#sudo reboot //重新启动机器体验新的内核吧!

-----------------------------------------------------------------------

到此为止,整个内核的编译就全部完成啦。

不过也许你重启系统时,虽然启动菜单中增加了新内核2.6.34的启动项,但极可能会启动失败,出现以下提示:

warning:can't open directory /lib/modules/2.6.34/modules.dep,no such files or directory

选择从旧内核启动登录系统,然后执行以下命令(为了避免输入错误,最好复制下面的命令)修改后就能成功启动新内核了。

######################################
sudo su (保证获得root权限,否则会提示权限不够,不能成功完成任务哦)
cd /boot
cp initrd.img-2.6.36 initrd-2.6.36.old (先做一个备份以防万一,哈哈)
depmod -a
update-initramfs -k 2.6.36 -c
cd /tmp
gzip -dc /boot/initrd.img-2.6.36| cpio -id
touch lib/modules/2.6.36/modules.dep
find ./ | cpio -H newc -o > /boot/initrd.img-2.6.36.new
gzip /boot/initrd.img-2.6.36.new
cd /boot
mv initrd.img-2.6.36.new.gz initrd.img-2.6.36

######################################

重新启动后,发现可以成功的进入,不放心的话,可以确定一下:

进入终端

#uname -a 查看结果


按照这个步骤之后,我的内核就编译完成了,其中可能会遇到不能通过uuid识别设备,导致无法挂载到/root的问题,这里再重新mkinitramfs一下就行了。

有些情况是重启后停止在黑屏左上角光标不停闪烁的地方,这个情况大多是因为显卡驱动的问题,你可以进入恢复模式,重装显卡驱动。


装好后,对华为e353的支持几乎完美,个人感觉比在windows下的强多了!爽啊:D

上靓图一张(注意左下角的图标就是连上3G的样子):

 



方法二:(推荐

编辑/etc/apt/sources.list文件,然后添加一个向后兼容的源:

deb http://ftp.cn.debian.org/debian-backports squeeze-backports main

然后:

aptitude update

aptitude -t squeeze-backports install linux-image-3.2.0-0.bpo.1-686-pae

如果编译NVDIA的官方驱动的话,还要装:

aptitude -t squeeze-backports install linux-headers-3.2.0-0.bpo.1-686-pae

然后重启安装NV驱动,然后再重启就行了!

 

posted @ 2012-01-08 00:29  周柯文  阅读(7630)  评论(1编辑  收藏  举报