Surface系列電腦運(yùn)行Linux操作系統(tǒng)的小毛舱┟蟆:
微軟出的Surface pro和Surface Book系列電腦運(yùn)行Linux系統(tǒng),都會(huì)出現(xiàn)很多問題管宵。
個(gè)人情況:Surface pro3前痘,安裝Ubuntu、Deepin系統(tǒng)都有毛部补铡:Wifi不穩(wěn)定烦磁,而且一斷就再也連不上了养匈,之后再重啟都會(huì)卡死在logo界面,只能長(zhǎng)按電源鍵強(qiáng)制關(guān)機(jī)都伪。網(wǎng)不穩(wěn)定的時(shí)候Wifi最容易斷呕乎。
解決記錄:
一、
參考資料:https://winaero.com/blog/how-to-install-linux-on-surface-pro-3/
以為是網(wǎng)卡驅(qū)動(dòng)的問題陨晶,于是更換新的網(wǎng)卡驅(qū)動(dòng)猬仁,如下:
$ git clone git://git.marvell.com/mwifiex-firmware.git
$ mkdir -p /lib/firmware/mrvl/
$ cp mwifiex-firmware/mrvl/* /lib/firmware/mrvl/
失敗。依然沒解決Wifi的毛病先誉。
二湿刽、
參考資料:
https://www.zhihu.com/question/28193155
https://github.com/jakeday/linux-surface
https://wiki.archlinux.org/index.php/Talk:Microsoft_Surface_Pro_3
如果不是網(wǎng)卡驅(qū)動(dòng),那么就應(yīng)該是內(nèi)核問題(Linux內(nèi)核對(duì)Surface系列的硬件支持不太好褐耳?)诈闺。于是在網(wǎng)上尋找專為surface整理的Linux內(nèi)核,換一個(gè)專用內(nèi)核即可:
見:https://github.com/jakeday/linux-surface
步驟如下:
(1) 準(zhǔn)備工作:
clone下Linux的源代碼(大概20多G)铃芦,我這里使用的中國(guó)科技大學(xué)的鏡像:
> mkdir ~/fix
> cd ~/fix
> mkdir linux && cd linux
> git init
#fetch比clone要好雅镊,因?yàn)槠渲С謹(jǐn)帱c(diǎn)續(xù)傳
> git fetch --tags git://mirrors.ustc.edu.cn/linux.git
> git checkout FETCH_HEAD
> git checkout v4.15.10
clone下網(wǎng)上大神整理好的patch:
> cd ~/fix
> git clone https://github.com/jakeday/linux-surface.git
(2)
自己打patch并編譯內(nèi)核(我編譯了大概兩個(gè)小時(shí)):
> cd ~/fix/linux
> sudo apt-get install build-essential binutils-dev libncurses5-dev libssl-dev ccache bison flex
> for i in ~/fix/linux-surface/patches/[VERSION]/*.patch; do patch -p1 < $i; done
> cp ~/fix/linux-surface/config .config
#注:這里不知道為什么必須要用sudo,我第一次沒有用sudo杨帽,在編譯完成整理成.deb安裝包時(shí)異常中斷了漓穿,提示什么權(quán)限不夠只能再重新來過。
> sudo make -j `getconf _NPROCESSORS_ONLN` deb-pkg LOCALVERSION=-linux-surface
(3)
安裝編譯好的kernel和header:
> cd ~/fix
> sudo dpkg -i linux-headers-[VERSION].deb linux-image-[VERSION].deb
然后重啟即可注盈。
可以看一下已經(jīng)是新的內(nèi)核了:
> uname -r
4.15.10-surface-linux-surface
結(jié)果:
成功修好了Wifi晃危,再也不斷了。但是出現(xiàn)了一個(gè)新問題:一睡眠就睡死過去了老客,無法喚醒僚饭,只能強(qiáng)制關(guān)機(jī)重啟才可以。只好把Linux調(diào)成了永不睡眠狀態(tài)胧砰。
其他:
Arch好像有人整理了surface的package來解決Linux kernel對(duì)surface系列硬件的東西鳍鸵,貌似不用自己編譯了?見:https://aur.archlinux.org/packages/linux-surfacepro3-git/