Ubuntu9 10 中核心編譯過程

2021-05-22 18:01:17 字數 3121 閱讀 5737

linux

下增加新的系統功能呼叫

linux

環境下為

os增加乙個新的系統功能呼叫。功能是:把使用者輸入的整數乘以

2後回。

這份實驗報告是在第乙個程式設計作業時,一邊在

ubuntu9.10

上做實驗,一邊整理的。

在這裡只是將我在

ubuntu9.10

下的整個操作過程描述一下:

1.

linux-2.6.33.1.tar..bz2

放在home/ht/

下,

2.

然後拷貝到/usr/src/

下用sudo cp /home/ht/linux-2.6.33.1.tar.bz2 /usr/src/ linux-2.6.33.1.tar.bz2

3.

解壓該資料夾

使用命令tar –jxvf /usr/src/ linux-2.6.33.1.tar.bz2

結果在/home/ht/

中出現了linux-2.6.33.1

;將壓縮後的/home/ht/linux-2.6.33.1

移動到/usr/src/ linux-2.6.33.1.tar.bz2

使用命令sudo mv linux-2.6.33 /usr/src/linux-2.6.33

編寫源**,在/usr/src/linux-2.6.33.1/kernel/sys.c檔案中新增源**,如下所示:

asmlinkage int sys_mycall(int number)

4.

連線新的系統呼叫:1>

/usr/src/linux-2.6.33.1/arch/x86/include/asm/unistd_32.h

中給系統呼叫分配乙個唯一的編號,我分配的是338.

同時並修改下面的#define nr_syscalls 338

,改為#define nr_syscalls339

。(我頭兩會編譯時都沒有意識到這邊,後來是在測試自己增加的系統功能呼叫時出了問題,上網找了資料才發現的,然後又從新編譯一邊核心。)

5.

arch/x86/kernel/syscall_table_32.s

中新增:.long sys_mysyscall

6.

在當前工作目錄(/usr/src/linux-2.6.33.1)下,才可以重建核心定製核心:

先用sudo mrproper(清除前一次編譯的內容,在第一次編譯時,如果使用這個命令,終端提示沒有相應的make規則)

然後用sudo make config

或者sudo make oldconfig

重建核心(這有四種選擇,第二次編譯時我選了前一種,每個配置我都選用預設形式,第三次編譯時使用的是第二種)

下面是乙個截圖:(第三次編譯的)

7.

sudo make clean

(頭一次輸入這個命令時終端提示這個命令時

unnecessary

,在第三次編譯時有乙個如下所示的截圖:

Ubuntu9 10 中核心編譯過程(二)

8.編譯核心 sudo make 使用時間大約是80 分鐘左右,下面是 乙個截圖 9.安裝模組輸入命令 sudo make modules install 10.安裝核心,直接輸入命令 sudo make install 11.生成映象檔案 輸入命令 sudo mkinitramfs o initr...

ubuntu9 10配置編譯xawtv 3 95

2.解壓,配置 tar xzf xawtv 3.95.tar.gz cd xawtv 3.95 configure prefix pwd tmp make make install 3.出現的錯誤 1 console fs.h找不到 console fs.h 2 20 error fslib.h n...

ubuntu9 10 硬碟安裝

網上一般有乙個步驟是 修改 boot.ini,在最末加上一句 c grldr ubuntu 其實我開啟的時候發現其實wingrub已經為我們做好這一步了 4 重啟計算機,選擇ubuntu。之後就進入了livecd介面,開啟終端,sudo umount l isodevice,然後關閉終端,雙擊桌面上...