1、背景:今天上午连接Android调试之后,突然又出现了无法识别usb的问题。具体表现为:除usb无线网卡有效外,其他usb设备包括usb鼠标、u盘、android手机插上后都没反应。dmesg一直报:hub 5-0:1.0: unable to enumerate USB device on port 1。各种折腾未果,看到有个帖子提到升级内核能够解决,引出了这篇帖子的主题。

 

2、步骤:升级的过程主要是参照这篇《ubuntu 12.04内核编译步骤》,写的详细而且清晰,照着做就行了。这里我再把自己做的过程列一遍:

 1 cd ~/Downloads
 2 su // 改变当前用户,以root执行后续命令
 3 wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.13.1.tar.xz // 下载最新的稳定版
 4 tar xvf linux-3.13.1.tar.xz -C /usr/src/    // 我理解可以随便放
 5 
 6 // 安装ncurses,不然make menuconfig时会报说找不到这个
 7 wget http://ftp.gnu.org/pub/gnu/ncurses/ncurses-5.9.tar.gz
 8 tar xvf ncurses-5.9.tar.gz
 9 cd ncurses-5.9
10 ./configuration
11 make
12 make install
13 
14 // OK,下面正式开始编译!
15 cd /usr/src/linux-3.13.1
16 make menuconfig   // 会出现一个配置界面,全用默认的就好,make dep/clean都不用执行
17 make bzImage   // 这一步我用了半小时
18 make modules   // 这一步我用了2.5小时,相信你的机器肯定比我的破本本跑的快!接下去的命令就快了
19 make modules_install   // mkinitramfs -o /boot/initrd.img-3.13.1这一步可以不做,下面会自动做的
20 make install
21 cat /boot/grub/grub.cfg   //  grub.cfg也不用手工改了,可以看到都自动做好了

 

3、清理:执行完上面的过程,重启,uname -r看到3.13.1,呵呵,说明升级成功了。然后就可以把以前的内核版本都清理掉了。

1 sudo apt-get remove linux-image-3.2.*
2 sudo apt-get remove linux-headers-3.2.*
3 sudo apt-get autoremove

清理前,我的系统里有 378492 个文件和目录,清理后只剩下110928,世界顿时清爽了!

 

4、题外话:最后不得不悲摧的提一下,升级之后,usb无效的问题仍然没有解决。如果搞定了,会再小结另外一个帖子。

 

 posted on 2014-02-04 21:13  AlexanderYao  阅读(807)  评论(0编辑  收藏  举报