ubuntu 12.04内核升级到3.13.1

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内核编译步骤》,写的详细而且清晰,照着做就行了。这里我再把自己做的过程列一遍:

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

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

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

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

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

上一篇:HTML5 data属性


下一篇:MTK Android 读取SIM卡参数,获取sim卡运营商信息