Ubuntu 16.04 安装 4.8 内核与相关问题解决
这个方法已经过时,可以使用具有官方支持的最新方法,点击这里查看
https://plumz.me/archives/5013/
虽然 yakkety ,也就是 16.10 已经发布了,但是 Ubuntu 16.04 的官方源里还是没有增加这玩意。
妈的只能自己装了。
首先先装 Linux-firmware 新版,来自 16.10.
然后添加官方测试源安装新内核。
sudo add-apt-repository ppa:canonical-kernel-team/ppa
sudo apt update
sudo apt install linux-image-generic-lts-yakkety
如果你是 ThinkPad 用户,会遇到 tp-smapi 的模块编译失败问题,解决方法很简单,还是安装 16.10 的 tp-smapi
然后你如果安装了 Vmware ,还会遇到模块编译失败……
那么依然有解决方案
sudo -s
cd /usr/lib/vmware/modules/source
tar xf vmmon.tar
mv vmmon.tar vmmon.old.tar
sed -r -i -e 's/get_user_pages(_remote)*/get_user_pages_remote/g' vmmon-only/linux/hostif.c
sed -r -i -e 's/NR_ANON_PAGES/NR_ANON_MAPPED/g' vmmon-only/linux/hostif.c
tar cf vmmon.tar vmmon-only
rm -r vmmon-only
tar xf vmnet.tar
mv vmnet.tar vmnet.old.tar
sed -r -i -e 's/get_user_pages(_remote)*/get_user_pages_remote/g' vmnet-only/userif.c
sed -i -e 's/dev->trans_start = jiffies/netif_trans_update\(dev\)/g' vmnet-only/netif.c
tar cf vmnet.tar vmnet-only
rm -r vmnet-only
然后再运行就可以成功编译模块了。
最后就可以愉快的享受全新的 4.8 内核了。
参考:
How can I use 16.10 Yakkety kernel in 16.04 Xenial?
https://wiki.archlinux.org/index.php/VMware#Linux_kernel_4.8
tp-smapi-dkms 0.41-1: tp-smapi kernel module failed to build
https://mirrors.kernel.org/ubuntu/pool/main/l/linux-firmware/