偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Linux內核編譯很簡單,6步編譯一個自己的內核

系統(tǒng) Linux
本文,我們將一步一步地介紹如何從源代碼編譯和安裝一個Linux內核。需要注意的是本指導基于Ubuntu 18.04版本編譯安裝,其它發(fā)行版可能會有差異。

 在前面文章中我們反復提到過Linux內核,知道Linux內核才是Linux操作系統(tǒng)最為核心的內容。內核實現(xiàn)了對硬件的管理,為應用軟件提供了使用硬件的接口。

對于Linux開發(fā)人員而言,內核的學習和開發(fā)才是終極目標。因此我們今天先介紹一下內核的編譯。

需要知道的是,Linux內核的編譯和安裝并非想象的那么難,那么復雜,其實只需要幾條命令就可以搞定。

本文,我們將一步一步地介紹如何從源代碼編譯和安裝一個Linux內核。需要注意的是本指導基于Ubuntu 18.04版本編譯安裝,其它發(fā)行版可能會有差異。

編譯一個Linux內核‍

整個內核編譯的過程非常簡單,但是內核編譯需要花費比較長的時間。這主要是因為內核的代碼非常多。當然,如果你​的​計算機性能強勁,時間會短很多。另外需要注意的是,建議在虛擬機環(huán)境下編譯,這樣避免錯誤導致系統(tǒng)問題。如果在虛擬機測試,建議系統(tǒng)分區(qū)和內核源代碼分區(qū)的大小大于20GB。

Step 1: 下載源代碼

1. 進入Linux 內核的官網(wǎng),下載最新版本,或者其它版本的內核代碼。這里是源代碼的壓縮包。​

​2. 假設我們現(xiàn)在在一個Linux操作系統(tǒng)中,在命令行輸入如下命令就可以下載內核了。

  • wget 鏈接(由于鏈接會被認為是廣告,本文省略鏈接,請自行復制)

在下載的過程中可以看到下載進度,下載完成后信息大致如下所示。

Step 2: 解壓源代碼

壓縮包下載完成后,可以通過tar命令解壓。

  1. tar xvf linux-5.9.6.tar.xz 

在解壓的時候可以看到文件列表,這個會很多,可能需要等一會兒。

Step 3: 安裝需要的軟件包

安裝編譯工具以及其它一下依賴的軟件包,在Ubuntu 18.04環(huán)境下執(zhí)行如下命令。

  1. sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison 

如果一切順利,大概安裝輸出信息如下所示。

Step 4: 配置內核代碼

在編譯內核之前,我們可以對內核源代碼進行配置。配置的目的主要是確定哪些模塊會編譯到內核當中。

1. 進入源代碼目錄

  1. cd linux-5.9.6 

2. 從當前機器的啟動目錄拷貝配置信息到源代碼目錄。這步操作的意思是我們編譯內核的配置采用用當前環(huán)境一致的配置。

  1. cp -v /boot/config-$(uname -r) .config 

3. 可以通過如下命令啟動配置界面

  1. make menuconfig 

該命令會運行一些腳本,然后打開一個配置界面

4. 下面是打開的配置界面??梢钥闯隼锩姘械膬群私M件,包括文件系統(tǒng),網(wǎng)絡,IO棧,虛擬化和設備驅動等等。如果你不熟悉,可以不做任何修改。

Step 5: 編譯內核

1. 通過如下命令就可以編譯內核了

  1. make -j 10 

上面參數(shù)是并發(fā)數(shù)量,通常可以是CPU的2倍。

2. 安裝模塊

  1. sudo make modules_install 

3. 安裝內核

  1. sudo make install 

安裝完成后會有如下提示信息。

Step 6: 重啟,驗證版本

當上述步驟都沒有出錯的情況下,我們重啟一下計算機,然后運行如下命令。

  1. uname -mrs 

此時就可以看到內核版本已經(jīng)是我們編譯的版本了。

結論‍

通過上面幾步,我們可以很簡單的編譯一個內核。如果后面開發(fā)內核模塊,也是要基于內核代碼樹的,因此這個是內核開發(fā)的基礎。

可能遇到的問題‍

編譯內核的時候可能會遇到這個問題:

沒有規(guī)則可制作目標

debian/certs/debian-uefi-certs.pem,由certs/x509_certificate_list需求停止

在要編譯的內核目錄下編輯一下配置文件即可。簡單的方式是執(zhí)行如下命令

  1. vim .config 

然后找到

CONFIG_SYSTEM_TRUSTED_KEYS,將其設置為空,也就是下面這個樣子。

  1. CONFIG_SYSTEM_TRUSTED_KEYS=”” 

 

責任編輯:姜華 來源: 今日頭條
相關推薦

2023-07-25 15:17:38

Linux操作系統(tǒng)開發(fā)

2010-04-20 10:12:05

2010-07-20 10:04:25

Linux內核編譯

2010-03-12 10:20:19

Fedora內核

2009-10-16 09:45:41

Linux內核操作系統(tǒng)

2017-03-27 18:05:49

Linux內核編譯與開發(fā)

2021-11-12 11:28:01

Linux 內核驅動Linux 系統(tǒng)

2023-05-08 08:05:42

內核模塊Linux

2011-01-04 17:00:32

Linux內核編譯

2010-03-02 16:13:56

Linux升級

2009-12-17 15:18:47

2023-10-05 15:47:04

Linux內核編譯

2009-12-07 09:57:06

Fedora/內核編譯

2010-05-13 09:45:26

Linux地址空間

2009-09-07 08:58:23

VMWare編譯lin

2009-12-01 12:59:50

編譯Suse Linu

2018-05-22 14:34:50

編譯Linux內核

2009-10-23 16:35:44

linux Debia

2010-02-02 13:26:53

Linux內核

2019-07-15 08:30:06

Linux 系統(tǒng) 數(shù)據(jù)
點贊
收藏

51CTO技術棧公眾號