如何在Linux中添加系統調用

如何在Linux中添加系統調用

下載內核源代碼
      可以在github或https://www.kernel.org/上進行下載。我下載的是linux-4.4.4.tar.xz
下載鏈接:https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.4.4.tar.xz

解壓
      我已經解壓完成,所以不演示解壓過程:
在這裏插入圖片描述      本人將文件解壓於:
在這裏插入圖片描述添加系統調用號
      進入解壓的Linux-4.4.4文件夾:(vim ./arch/x86/entry/syscalls/syscall_64.tbl(32位系統是syscall_32.tbl) )如圖,在末尾添加:
在這裏插入圖片描述聲明系統調用函數原型
      (vim include/linux/syscalls.h )如圖:
在這裏插入圖片描述添加系統調用函數的定義
      (vim kernel/sys.c)
在這裏插入圖片描述以上步驟基本完成準備步驟了

編譯:(以下是重點也是成功與否的關鍵)
1.sudo make menuconfig 直接選擇save,然後退出即可,生成.config
2. sudo make 編譯開始,我四核核四線程,運行於虛擬機環境,性能大大打折扣,運行了近40分鐘
3. sudo make modules_install 安裝模塊
4. sudo make install 安裝內核

sudo make menuconfig彈出如圖:鍵盤操作移動光標至save選項,生成.config,光標移動至Exit,選擇退出即可。
在這裏插入圖片描述編譯: sudo make
在這裏插入圖片描述由於作者個人電腦CPU和固態太普通,運行的ubuntu最終在1個小時後才能完成。如圖:
在這裏插入圖片描述安裝內核
    sudo make install
在這裏插入圖片描述編寫測試程序
在這裏插入圖片描述在這裏插入圖片描述至此,測試程序編寫完畢。

重啓ubuntu(作者使用發行版ubuntu 16.04),系統進入開機時點擊鍵盤上的delete按鈕,選擇高級選項,選擇我們編譯好的內核,等待開機.

使用命令
     uname -r 查看當前內核版本:成功選擇內核
在這裏插入圖片描述測試程序
     編譯運行測試程序:返回 1
在這裏插入圖片描述
    輸入:dmesg
在這裏插入圖片描述測試成功。

版權聲明

1.以上實驗經本人測試真實有效,但不保證所有人可行,對他人造成損失.損害將與本人無關。
2.上述內容均由個人提供,未經得允許不得進行任何營利性使用,僅供學習使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章