1. 檢視系統核心版本(ubuntu 12.04)
uname –a或者cat /proc/version
將壓縮包linux-4.2.6.tar.gz 放至 /usr/src中後解壓:
sudo cp linux-4.2.6.tar.gz /usr/src
tar -zxvf linux-4.2.6.tar.gz
並確認系統自帶基本的編譯器套件(gcc g++ gdb make),安裝ncurses庫(apt-get即可)。
3. 開始配置核心
由於配置核心時需要根據系統選擇配置,我們可以選擇複製/boot目錄下的配置檔案到核心根目錄
進入核心根目錄後輸入命令make menuconfig配置核心
看到該介面後選擇,輸入剛剛複製的配置檔案,選擇回到上一介面,再選擇,輸入另存為檔名.config儲存檔案。退出後輸入命令ls –a 檢視如果有.config 檔案則配置成功
4. 編譯核心
輸入sudomake命令編譯核心
輸入sudo
make modules_install編譯核心模組
5. 載入核心模組
sudo make install
該命令會自動把linux核心的映象檔案還有system.map考入到/boot下,然後會自動生成引導選單。
重啟即可切換到新核心。
6. 新增系統呼叫
實現系統呼叫函式
增加系統呼叫號
宣告系統呼叫函式
重新編譯(詳見前面的步驟)
測試程式:
測試結果:
輸入dmesg命令檢視printk結果
了解並編譯linux核心
一 核心的功能 1 系統呼叫 2 程序控制 3 記憶體管理 4 檔案系統管理 5 裝置驅動程式 二 編譯linux核心 進入到核心源 目錄 cd usr src linux 2.6.15 make config make xconfig make menuconfig make 三 裁剪linux ...
Linux 核心編譯 新增系統呼叫
主機 ubuntu 11.04 現在核心版本 2.6.38.9 編譯的目標核心版本 2.6.39 編譯成功後修改核心,新增個系統呼叫,並重新編譯核心,編寫c程式,呼叫自己新增的系統呼叫 首先編譯核心 2 解壓核心到任意目錄 這裡不用必須解壓到 usr src 下,linus也說不必那樣做,況且自己也...
編譯核心並替換核心
以5.3.8 最新 linux 核心為例 wget安裝核心編譯所需的環境 sudo apt get install git fakeroot build essential ncurses dev xz utils libssl dev bc flex libelf dev bison解壓核心原始碼...