如何在Debian或Ubuntu上安裝完整的Linux核心原始碼
如果我需要為我的Debian或Ubuntu下載並安裝完整樹結構的核心原始碼以供編譯一個定製的核心。那麼在Debian或Ubuntu上有什麼可行的方法來下載完整的核心原始碼呢?
在給你的Linux安裝完整核心原始碼之前,先問問自己是否真的需要這樣做。如果你僅僅是嘗試去編譯一個核心模組或是為核心定製驅動,你並不需要完整的核心原始碼樹。你只需要安裝一些與核心對應的標頭檔案,這樣就足夠了。
只有在你需要生成一個定製的核心,而且核心原始碼中的一些核心預設設定要被你調整了的情況下,你才需要完整的核心原始碼樹。
這裡將會解答如何在Debian或Ubuntu的庫中下載並安裝完整樹結構的核心原始碼。你可以在https://www.kernel.org/pub/linux/kernel/下載官方的核心原始碼,不過使用發行版軟體倉庫可以允許你下載包含補丁的核心原始碼。
在Debian上安裝完整的核心原始碼
在下載核心原始碼之前,先安裝dpkg-dev,其中包含你在Debian上生成原始碼時需要的開發工具套件。不僅如此,dpkg-dev中還包含在用來解壓Debian原始碼包並自動打補丁的工具dpgk-source。
$ sudo apt-get install dpkg-dev
然後,執行以下命令下載完整的核心原始碼。
$ apt-get source linux-image-$(uname -r)
伴隨著完整核心原始碼(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”的形式呈現在當前目錄中。
在Ubuntu上安裝完整核心原始碼
如果你想安裝完整核心原始碼的話,以上在Debian上的那一套做法在Ubuntu上仍然奏效。
在Ubuntu上還有另一套方法安裝完整核心原始碼。事實上,你可以查一下由Canonical為Ubuntu不同發行版維護的核心原始碼樹。
$ sudo apt-get install git $ git clone git://kernel.ubuntu.com/ubuntu/ubuntu-$(lsb_release --codename | cut -f2).git
舉個例子,如果你使用的是Ubuntu 14.04,以上的命令將會檢視Git的”ubuntu-trusty”倉庫中的程式碼。
一旦在你對Git倉庫的查詢結束後,使用以下的命令來安裝用來訪問生成核心原始碼樹所需依賴的重要開發包。
$ sudo apt-get build-dep linux-image-$(uname -r)
相關文章
- 如何在Ubuntu 22.04上安裝Linux 核心 詳細教程!UbuntuLinux
- 如何在 Ubuntu Linux 上安裝 IntelliJ IDEAUbuntuLinuxIntelliJIdea
- 如何在 Linux 上安裝 MariaDB 或 MySQLLinuxMySql
- 教你在Ubuntu上安裝Linux核心6.1UbuntuLinux
- 如何在 Debian/Ubuntu 上手動安裝安全更新?Ubuntu
- 如何在ubuntu[linux] 上用docker安裝SqlserverUbuntuLinuxDockerSQLServer
- 如何在 Ubuntu 和其他 Linux 上安裝 NetbeansUbuntuLinuxBean
- 如何在 Ubuntu 上安裝 VirtualBoxUbuntu
- 如何在 Ubuntu 上安裝 MongoDBUbuntuMongoDB
- 在 Ubuntu 上使用原始碼安裝 OpenRestyUbuntu原始碼REST
- 如何在Ubuntu/Debian Linux編寫C程式UbuntuLinuxC程式
- 在 Debian 和 Ubuntu 上安裝 Cutefish 可愛魚Ubuntu
- 如何在 Ubuntu 上安裝 Python 3.8UbuntuPython
- 如何列出 Ubuntu 和 Debian 上已安裝的軟體包Ubuntu
- 如何在CentOS 7、Ubuntu 16.04和Debian 9中安裝Golang 1.8.3CentOSUbuntuGolang
- 如何在 Debian/Ubuntu 系統中檢查程式包是否安裝?Ubuntu
- Linux Debian安裝教程Linux
- 如何在 Ubuntu 22.04 上安裝 Python Pip?UbuntuPython
- 如何在Ubuntu 16.10上安裝ResourceSpace程式Ubuntu
- 如何在Ubuntu24.04上安裝ELKUbuntu
- 如何在 Linux 上安裝 JavaLinuxJava
- 如何在ubuntu上安裝virtualbox的driver module vboxdrvUbuntu
- 在Debian上安裝freeswitch
- 如何在Linux上安裝Intel微程式碼韌體LinuxIntel
- 如何在 Linux 上安裝/更新 Intel 微碼韌體LinuxIntel
- 如何在 VirtualBox 上安裝 Kali LinuxLinux
- 如何在 Ubuntu 上安裝和使用 R 語言Ubuntu
- 如何在Ubuntu 20.04上安裝Unity桌面環境UbuntuUnity
- 如何在 Ubuntu 上安裝 EMQX MQTT 伺服器UbuntuMQQT伺服器
- 如何在 Ubuntu 上安裝最新版本的 GitUbuntuGit
- Termux安裝完整版Linux(Ubuntu)詳細步驟LinuxUbuntu
- 怎樣在 Ubuntu Linux 上安裝 MySQLUbuntuLinuxMySql
- 如何在 Rocky Linux 上安裝 Apache Kafka?LinuxApacheKafka
- 如何在 Linux 上安裝 Elasticsearch 和 KibanaLinuxElasticsearch
- 如何在 Linux 上安裝應用程式Linux
- ubuntu安裝debian包的命令dpkg和apt的詳解UbuntuAPT
- 在 Ubuntu 上安裝 .NET SDK 或 .NET 執行時Ubuntu
- 如何在 Debian Linux 上設定和配置網橋Linux
- 如何在Ubuntu裡安裝HelmUbuntu