問題:我需要為我的Debian或Ubuntu下載並安裝完整樹結構的內核源碼以供編譯一個定制的內核。那麼在Debian或Ubuntu上有什麼可行的方法來下載完整的內核源碼呢?
在給你的Linux安裝完整內核源碼之前,先問問自己是否真的需要這樣做。如果你僅僅是嘗試去編譯一個內核模塊或是為內核定制驅動,你並不需要完整的內核源碼樹。你只需要安裝一些與內核對應的頭文件,這樣就足夠了。
只有在你需要生成一個定制的內核,而且內核源碼中的一些內核默認設置要被你調整了的情況下,你才需要完整的內核源碼樹。
這裡將會解答如何在Debian或Ubuntu的庫中下載並安裝完整樹結構的內核源碼。你可以在https://www.kernel.org/pub/linux/kernel/下載官方的內核源碼,不過使用發行版軟件倉庫可以允許你下載包含補丁的內核源碼。
在下載內核源碼之前,先安裝dpkg-dev,其中包含你在Debian上生成源代碼時需要的開發工具套件。不僅如此,dpkg-dev中還包含在用來解壓Debian源碼包並自動打補丁的工具dpgk-source。
然後,運行以下命令下載完整的內核源碼。
伴隨著完整內核源碼(linux_X.X.XX.orig.tar.xz)的還有一些可用的內核補丁(linux_X.X.X+XXX.debian.tar.xz)和源碼控制文件(linux_XXXX.dsc),這些都將被下載並存儲到當前目錄。在.dsc文件中會指出如何給內核源碼打補丁。
當下載完成,以上的命令將會自動調用工具dpkg-source將下載的內核源碼解壓到當前的目錄中,與此同時根據.dsc文件來下補丁。
最終完整的內核源碼樹將會以"linux-X.X.XX"的形式呈現在當前目錄中。
如果你想安裝完整內核源碼的話,以上在Debian上的那一套做法在Ubuntu上仍然奏效。
在Ubuntu上還有另一套方法安裝完整內核源碼。事實上,你可以查一下由Canonical為Ubuntu不同發行版維護的內核源碼樹。
舉個例子,如果你使用的是Ubuntu 14.04,以上的命令將會查看Git的"ubuntu-trusty"倉庫中的代碼。
一旦在你對Git倉庫的查詢結束後,使用以下的命令來安裝用來訪問生成內核源碼樹所需依賴的重要開發包。