實驗分析
實驗總結
學號末尾三位:474
本實驗**於——
2.在當前使用者目錄下建立linuxkernel資料夾
3. 將linux5.0.2原始碼拷貝到linuxkernel資料夾下並解壓,之後所有的檔案操作都在該資料夾下執行
4. 配置並編譯linux核心,使其具備除錯功能
命令如下:cd linux-5.0.2 #進入linuxkernel目錄
make menuconfig #配置核心->kernel hacking
->compile-time checks and compiler options
[*]compile the kernel with debug info
make #編譯5.製作根檔案系統
6.啟動menuos7.跟蹤除錯核心啟動(gdb除錯加引數-s -s)
8.再另建一視窗,啟動gdb
注*
實驗中可能遇到很多缺失元件和工具的情況,通過 sudo apt-get install *** 安裝即可。1.增加系統呼叫根據學號後兩位74,去system_call_table(位於/usr/include/asm/unistd_32.h)中查詢2.在test.c中增加sethostname函式,再重新編譯rootfs.img#define __nr_sethostname 74
sethostname函式int sethostname
(int argc,char *ar**)
重新編譯rootfs.img3.跟蹤呼叫打斷點到sys_sethostname本實驗讓我了解了系統呼叫的工作機制,作為程式設計師的我們通常只跟使用者空間實現的api打交道,核心只跟系統呼叫打交道,核心不關心應用程式是如何系統呼叫的。核心中大多數系統函式呼叫名稱以sys_為字首,每個系統呼叫有唯一的系統呼叫號。應用程式通過軟中斷來通知核心,進入系統呼叫入口system_call,從而執行對應的系統呼叫函式。舉例跟蹤分析Linux核心5 0系統呼叫處理過程
學號最後三位編號 008 使用ubuntu編譯linux核心5.0 編譯核心的過程中可能需要安裝的依賴庫 sudo apt get install libncurses5 dev libssl dev sudo apt get install build essential openssl sudo...
舉例跟蹤分析Linux核心5 0系統呼叫處理過程
學號274 一 編譯linux核心5.0.1 xz d linux 5.0.1.tar.xz tar xvf linux 5.0.1.tar 2.編譯 make i386 defconfig make j8 可能會出現缺少相關依賴的問題,使用 sudo apt get install 缺少的依賴 安...
跟蹤分析Linux核心5 0系統86號呼叫處理過程
致謝學號末位 186 跟蹤分析linux核心5.0系統呼叫處理過程 選擇系統呼叫號後兩位與學號後兩位相同的系統呼叫進行跟蹤分析 分析系統呼叫 保護現場與恢復現場 系統呼叫號及引數傳遞過程 配置核心編譯引數 編譯核心 製作根檔案系統 mkdir linuxkernel cd linuxkernel m...