搜尋此網誌

2020年7月21日 星期二

編譯你的kernel

緣起:


    前幾天啊 (很多天前),楊喵找我,他原本是想要請我寫篇教學的,可是,他 LINE 我的時候是凌晨,所以我沒讀到,等到我看到時,他也已經把教學文章給寫好了,放在 hackmd 上,不過,全是英文... ,所以我就想說,我幫忙推一下他的文章好了,翻譯他的文章,放到這篇來,順便做個學習。

我是個認真學習的好學生

教學文章連結



compile your kernel:


一開始的這個東東


    大概是他在實做時有碰到的問題吧,Nividia 的顯卡在 Linux 上使用時的問題真的是滿多的,我之前在弄機器學習的東西時也被它給搞過。反正,如果你電腦有裝 GTX 10** 這種型號的顯卡,在 compile 時可能會有問題。解決的方法就放在下面,如果之後有碰上的話,可以參考看看。


    選你要的 distro (發行版本,對吧 ?),你硬碟要夠大 (跟浴缸一樣),至少要有 40 GB (我記得 windws10 的作業系統就佔有 24 GB 的容量)。

    然後,盡量使用 Ubuntu ,因為它比較簡單,而且網路的資源多。

    Fedora (我沒聽過) 、 Gentoo (還是沒聽過) 、 Arch (比較小型的輕便的 Linux 系統) 也很推薦。

    Ubuntu 是 Debian 的分支,而 Fedora 是 Red Hat 的分支,詳情請看他給的資源,Linux 可是有滿多派別的。


    在你的文字終端輸入那些指令,它會安裝那些需要用到的東東 (要記得先連上網路)。

    如果你不是用 debian 分支的 Linux ,那你就要把 apt 這個軟體變成你的套件管理員 (ㄟ,這部份可能要自己去找一下怎麼做)。


    找最新的發行版。

    可以到 kernel.org 去看 (找有標 stable 的),下載 tarball.檔 (壓縮檔) ,載到 ~/Download 下。

    那個 ~ 就代表你家的目錄,你可以在下面創個叫 Download 的資料夾。


    接著是解壓縮,tar 這個指令可以解壓縮,那個 -xvf 是參數,有一定意義,有興趣可以 google 看看。

    解壓縮完後,就會在 ~/Download 下多個 linux-* 的資料夾 (那個 * 是萬用字元,代表任何文字) ,然後用 cd 移到那個資料夾裡。

    把 /boot 下的 config-*-generic 檔案移到目前資料夾下,並改名為 .config 。


    有兩種方法可以編輯你的版本資訊。

    用文字編輯器編輯 linux-* 下的 Makefile ,這裡是使用 vim 來做,不會 vim 的話,可以看一下教學。在 Makefile 裡找到 EXTRAVERSION = 這行,並在後面加上你的學號 (其實加什麼都可以)。

    叧一個方法是用 menuconfig ,它是個圖形化的選單介面,可以設定 kernel 那些功能的 on/off ,其實就等於是在設定 .config 檔。這我就不是很清楚了,所以... 就照著做就好了吧。

    通常都是推薦用第一個方法來做啦, Linux 的創造者, Linus torvalds 也是那樣做的。



    Make 就是一個會自動幫你編譯與安裝的工具,輸入 make -j $(nproc) 可以讓你的電腦以全力去工作,$(nproc) 會回傳你電腦的 CPU 的數量。

    然後... ,那個 modules_install 好像只是個 tag ,它那指令在做的事,我不是很清楚,之後再補充。


    安裝的指令。

    更新 Grub2 ,這東東好像是 Ubuntu 預設的開機載入跟管理程式,我也是第一次看到這個。

    重新開機,就完成了。

    雖然他的文章下面還有一些東西,不過我就不再繼續寫了,懶 XD 。


沒有留言:

張貼留言