編譯核心並替換核心

2022-01-10 05:33:15 字數 1467 閱讀 3861

以5.3.8(最新)linux 核心為例

wget
安裝核心編譯所需的環境

sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison
解壓核心原始碼

xz -d linux-5.3.8.tar.xz && tar xvf linux-5.3.8.tar
核心編譯配置檔案.config的生成

可以拷貝當前系統的核心配置檔案到原始碼目錄,也可以自己通過menuconofig選擇需要編譯的feature,當然也可以在當前系統的核心配置檔案基礎上執行menuconfig進行修改.

# 進入原始碼根目錄

# 拷貝當前系統核心配置檔案

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

# make menuconfig

編譯核心

make -j $(nproc)
安裝編譯生成的modules

sudo make modules_install
安裝新核心相關檔案

sudo make install
重啟

reboot
在重啟的grub介面選擇想要進入的核心版本即可

部分ubuntu版本在grub時預設顯示可選擇的核心版本,部分ubuntu版本在grub時需要進入ubuntu高階選項才能看到可選擇的核心版本.

附:

ubuntu18.04在編譯之後無法看到grub引導介面,而是直接以新核心啟動了系統,因此無法選擇需要啟動的核心版本問題

該問題是由grub設定導致的,需要修改grub的配置檔案

sudo vim /etc/default/grub
將檔案中的grub_timeout_style選項的值從hidden改為menu

如果grub_timeout選項的值為0,則修改為5或10,該選項在grub_timeout_stylemenu時,為grub進入預設引導項的倒計時等待時間.

修改grub配置檔案後需要允許以下命令,以更新grub設定.

sudo update grub
然後重啟即可.

reboot

Linux核心編譯和替換核心

linux核心支援多種架構。該篇小記是筆者第一次針對已有的核心配置檔案來編譯核心的,比如arm系列的博通bcm,海思hisi,恩智浦i.mx6ull 本次是針對博通bcm2709 defconfig來編譯核心的。本次是針對博通bcm2709 defconfig來編譯核心 安裝交叉編譯工具鏈 安裝nc...

了解並編譯linux核心

一 核心的功能 1 系統呼叫 2 程序控制 3 記憶體管理 4 檔案系統管理 5 裝置驅動程式 二 編譯linux核心 進入到核心源 目錄 cd usr src linux 2.6.15 make config make xconfig make menuconfig make 三 裁剪linux ...

核心 核心編譯 proc sys

單核心體系設計 但充分借鑑了微核心設計體系的優點,為核心引入模組化機制。核心組成部分 kernel 核心核心,一般為bzimage,通常在 boot目錄下,名稱為vmlinuz version release kernel object 核心物件,一般放置於 lib modules version ...