色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何自行編譯一個Linux內核的詳細資料概述

Linux愛好者 ? 來源:未知 ? 作者:易水寒 ? 2018-05-27 10:12 ? 次閱讀

曾經有一段時間,升級 Linux 內核讓很多用戶打心里有所畏懼。在那個時候,升級內核包含了很多步驟,也需要很多時間。現在,內核的安裝可以輕易地通過像apt這樣的包管理器來處理。通過添加特定的倉庫,你能很輕易地安裝實驗版本的或者指定版本的內核(比如針對音頻產品的實時內核)。

考慮一下,既然升級內核如此容易,為什么你不愿意自行編譯一個呢?這里列舉一些可能的原因:

你想要簡單了解編譯內核的過程

你需要啟用或者禁用內核中特定的選項,因為它們沒有出現在標準選項里

你想要啟用標準內核中可能沒有添加的硬件支持

你使用的發行版需要你編譯內核

你是一個學生,而編譯內核是你的任務

不管出于什么原因,懂得如何編譯內核是非常有用的,而且可以被視作一個通行權。當我第一次編譯一個新的 Linux 內核(那是很久以前了),然后嘗試從它啟動,我從中(系統馬上就崩潰了,然后不斷地嘗試和失敗)感受到一種特定的興奮。

既然這樣,讓我們來實驗一下編譯內核的過程。我將使用 Ubuntu 16.04 Server 來進行演示。在運行了一次常規的sudo apt upgrade之后,當前安裝的內核版本是4.4.0-121。我想要升級內核版本到4.17, 讓我們小心地開始吧。

有一個警告:強烈建議你在虛擬機里實驗這個過程。基于虛擬機,你總能創建一個快照,然后輕松地從任何問題中回退出來。不要在產品機器上使用這種方式升級內核,除非你知道你在做什么。

下載內核

我們要做的第一件事是下載內核源碼。在Kernel.org找到你要下載的所需內核的 URL。找到 URL 之后,使用如下命令(我以4.17 RC2內核為例) 來下載源碼文件:

wget https://git.kernel.org/torvalds/t/linux-4.17-rc2.tar.gz

在下載期間,有一些事需要去考慮。

安裝需要的環境

為了編譯內核,我們首先得安裝一些需要的環境。這可以通過一個命令來完成:

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

務必注意:你將需要至少 128GB 的本地可用磁盤空間來完成內核的編譯過程。因此你必須確保有足夠的空間。

解壓源碼

在新下載的內核所在的文件夾下,使用該命令來解壓內核:

tar xv*** linux-4.17-rc2.tar.gz

使用命令 cd linux-4.17-rc2 進入新生成的文件夾。

配置內核

在正式編譯內核之前,我們首先必須配置需要包含哪些模塊。實際上,有一些非常簡單的方式來配置。使用一個命令,你能拷貝當前內核的配置文件,然后使用可靠的 menuconfig 命令來做任何必要的更改。使用如下命令來完成:

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

現在你有一個配置文件了,輸入命令make menuconfig。該命令將打開一個配置工具(圖 1),它可以讓你遍歷每個可用模塊,然后啟用或者禁用你需要或者不需要的模塊。

如何自行編譯一個Linux內核的詳細資料概述

圖 1: 運行中的make menuconfig

很有可能你會禁用掉內核中的一個重要部分,所以在menuconfig期間小心地一步步進行。如果你對某個選項不確定,不要去管它。或者更好的方法是使用我們拷貝的當前運行的內核的配置文件(因為我們知道它可以工作)。一旦你已經遍歷了整個配置列表(它非常長),你就準備好開始編譯了。

編譯和安裝

現在是時候去實際地編譯內核了。第一步是使用make命令去編譯。調用make命令然后回答必要的問題(圖 2)。這些問題取決于你將升級的現有內核以及升級后的內核。相信我,將會有非常多的問題要回答,因此你得預留大量的時間。

如何自行編譯一個Linux內核的詳細資料概述

圖 2: 回答make命令的問題

回答了長篇累牘的問題之后,你就可以用如下的命令安裝那些之前啟用的模塊:

make modules_install

又來了,這個命令將耗費一些時間,所以要么坐下來看著編譯輸出,或者去做些其他事(因為編譯期間不需要你的輸入)。可能的情況是,你想要去進行別的任務(除非你真的喜歡看著終端界面上飛舞而過的輸出)。

現在我們使用這個命令來安裝內核:

sudo make install

又一次,另一個將要耗費大量可觀時間的命令。事實上,make install 命令將比 make modules_install 命令花費更多的時間。去享用午餐,配置一個路由器,將 Linux 安裝在一些服務器上,或者小睡一會吧。

啟用內核作為引導

一旦 make install 命令完成了,就是時候將內核啟用來作為引導。使用這個命令來實現:

sudo update-initramfs -c -k4.17-rc2

當然,你需要將上述內核版本號替換成你編譯完的。當命令執行完畢后,使用如下命令來更新 grub:

sudo update-grub

現在你可以重啟系統并且選擇新安裝的內核了。

恭喜!

你已經編譯了一個 Linux 內核!它是一項耗費時間的活動;但是,最終你的 Linux 發行版將擁有一個定制的內核,同時你也將擁有一項被許多 Linux 管理員所傾向忽視的重要技能。

看完本文有收獲?請分享給更多人

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • LINUX內核
    +關注

    關注

    1

    文章

    316

    瀏覽量

    21644

原文標題:如何編譯 Linux 內核

文章出處:【微信號:LinuxHub,微信公眾號:Linux愛好者】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    Linux內核編譯主要過程

    Linux內核編譯主要過程: 配置、編譯、安裝 。
    發表于 08-08 16:02 ?728次閱讀
    <b class='flag-5'>Linux</b><b class='flag-5'>內核</b>的<b class='flag-5'>編譯</b>主要過程

    Linux內核編譯詳談

    Linux內核編譯詳談
    發表于 10-30 09:51 ?7次下載
    <b class='flag-5'>Linux</b><b class='flag-5'>內核</b><b class='flag-5'>編譯</b>詳談

    基于Arm的Linux內核編譯指導

    基于Arm的Linux內核編譯指導
    發表于 10-30 10:13 ?15次下載
    基于Arm的<b class='flag-5'>Linux</b><b class='flag-5'>內核</b><b class='flag-5'>編譯</b>指導

    如何在Linux中使用SIM7100模塊的詳細資料概述

    本文檔的主要內容詳細介紹的是如何在Linux中使用SIM7100模塊的詳細資料概述
    發表于 06-14 08:00 ?10次下載
    如何在<b class='flag-5'>Linux</b>中使用SIM7100模塊的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    構建嵌入式開發平臺簡明指導編譯內核鏡像的詳細資料概述

    本文檔的主要內容詳細介紹的是構建嵌入式開發平臺簡明指導編譯內核鏡像的詳細資料概述
    發表于 06-19 08:00 ?10次下載

    Linux 0.01版本內核的源碼和注釋的詳細資料免費下載

    對于學習linux內核很有幫助,能學到很多基礎性的知識。本文檔的主要內容詳細介紹的是linux 0.01版本內核的源碼和注釋的
    發表于 07-30 08:00 ?0次下載

    如何使用Linux設計網絡聊天室詳細資料免費下載

    本文檔的作用內容詳細介紹的是如何使用Linux設計網絡聊天室詳細資料免費下載。
    發表于 09-11 15:46 ?11次下載
    如何使用<b class='flag-5'>Linux</b>設計<b class='flag-5'>一</b><b class='flag-5'>個</b>網絡聊天室<b class='flag-5'>詳細資料</b>免費下載

    C語言編譯器MINGW的使用說明詳細資料概述

    本文檔的主要內容詳細介紹的是C語言編譯器MINGW的使用說明詳細資料概述,在mingw環境中生成和使用dll都是十分方便的。
    發表于 11-13 17:55 ?15次下載
    C語言<b class='flag-5'>編譯</b>器MINGW的使用說明<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    如何在Linux下如何刪除大量文件的詳細資料概述

    本文檔的主要內容詳細介紹的是如何在Linux下刪除大量文件的過程詳細資料概述免費下載。
    發表于 11-14 17:10 ?7次下載

    ARM處理器內核詳細資料概述

    本文檔的主要內容詳細介紹的是ARM處理器內核詳細資料概述包括了:ARM7TDMI 處理器內核系列,ARM9TDMI 處理器
    發表于 10-14 17:14 ?15次下載
    ARM處理器<b class='flag-5'>內核</b>的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    如何才能編譯Linux內核

    內核的bug ,并增加了許多新的特性。如果用戶想要使用這些新特性, 或想根據自己的系統度身定制更高效, 更穩定的內核, 就需要重新編譯
    發表于 11-04 18:04 ?8次下載

    Linux進行內核編譯詳細資料講解

     內核簡介內核,是操作系統的核心。它負責管理系統的進程、內存、設備驅動程序、文件和網絡系統,決定著系統的性能和穩定性。
    發表于 11-04 18:04 ?4次下載

    使用TDA2030設計低音放大器電路的詳細資料概述

    電子發燒友網站提供《使用TDA2030設計低音放大器電路的詳細資料概述.pdf》資料免費下載
    發表于 11-26 14:50 ?29次下載
    使用TDA2030設計<b class='flag-5'>一</b><b class='flag-5'>個</b>低音放大器電路的<b class='flag-5'>詳細資料</b><b class='flag-5'>概述</b>

    動手編譯Linux內核的教程免費下載

    本文檔的主要內容詳細介紹的是動手編譯Linux內核的教程免費下載。
    發表于 11-26 17:01 ?14次下載

    Linux內核編譯與運行

    本文檔的主要內容詳細介紹的是Linux內核編譯與運行免費下載。
    發表于 03-25 13:48 ?11次下載
    主站蜘蛛池模板: 国产精品色欲AV亚洲三区软件| 妻子的妹妹在线| 亚洲精品高清AV在线播放| 成人精品亚洲| 欧美91精品久久久久网免费| 在线 中文字幕| 黑人特黄AA完整性大片| 性吧 校园春色| 国产跪地吃黄金喝圣水合集| 日本久久久久久久做爰片日本| 99久久婷婷国产麻豆精品电影| 恋夜影院安卓免费列表uc| 一本道dvd久久综合高清免费| 国偷自产视频一区二区99| 小色哥影院| 国产午夜精品久久久久九九| 午夜国产精品视频| 国产免费变态视频网址网站| 同桌上课把奶露出来给我玩| 国产成人免费高清在线观看| 沙发上小泬12P| 国产超嫩一线天在线播放| 三级黄色在线看| 观看免费做视频| 失禁 调教 刺激 哭喊男男| 囯产精品久久久久久久久蜜桃| 日韩欧美精品有码在线播放免费| 成人国产亚洲精品A区天堂蜜臀| 求个av网站| 处初女处夜情视频在线播放| 日韩人妻双飞无码精品久久| 成 人 免费 黄 色 网站无毒下载| 人与人特黄一级| 电影 qvod| 无人区乱码区1卡2卡三卡在线| 国产乱辈通伦影片在线播放亚洲 | 99久久综合精品免费| 女人张腿让男人桶免费| 芭乐草莓樱桃丝瓜18岁大全| 日韩精品无码久久一区二区三| 国产高清亚洲|