改kernel的部分我們並不是直接地去動當前運行系統下的kernel,而是要先去下載另外的linux kernel source code,在編譯完後再替換上去,以下會演示做如何實作。
(在host為x86系統下,如果是arm64的請參考這篇https://hackmd.io/@hsbro1019/BJ9V8YdV6)
有些步驟是不用輸入指令也能完成,像生成資料夾或檔案之類的用右鍵生成也可以,以下都會有附圖可參考,而編譯(gcc …)時就要注意CMD所處位置以及檔案名稱。
vm上使用 ubuntu 22.04
linux kernel source code 版本: linux-5.15
WARNING : 輸入指令時請注意版本。
wget <https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.15.135.tar.xz>
tar -xvf linux-5.15.135 -C ~/
sudo apt update
sudo apt install build-essential libncurses-dev libssl-dev libelf-dev bison flex -y
sudo apt update
:
sudo apt install build-essential libncurses-dev libssl-dev libelf-dev bison flex -y
:
build-essential
:包含基本的編譯工具,如 gcc
、g++
、make
等,這些工具是編譯 C/C++ 程式的核心。libncurses-dev
:提供開發終端應用程序的 ncurses
庫,用於處理命令行用戶界面。libssl-dev
:OpenSSL 庫的開發文件,提供加密和 SSL/TLS 功能。libelf-dev
:與 ELF 文件格式相關的庫,通常用於編譯 Linux 核心。bison
和 flex
:分別是語法解析器生成器和詞法分析器生成器,常用於編譯器和解析器開發。y
:自動確認安裝過程中的提示,不需要手動介入。