導航:首頁 > 操作系統 > linux內核符號

linux內核符號

發布時間:2023-06-27 19:05:22

『壹』 linux /$ 什麼意思

$ 符號在Linux系統裡面用於獲取一個變數的值,例如:
#!/bin/bash --------指定編譯shell環境為bash
STR="Hello World!"----設置STR的變數值為Hello World!
echo $STR ------ 用echo命令讀取STR變數的數值。這里如果不加$, 輸出結果是STR,加上$,輸出結果就是Hello World!。可參考《Linux就該這么學》了解更多Linux知識。

『貳』 怎麼查看linux的內核符號表

在內核中通過/proc/kallsyms獲得符號的地址

Linux內核符號表/proc/kallsyms的形成過程
./scripts/kallsyms.c負責生成System.map
./kernel/kallsyms.c負責生成/proc/kallsyms
./scripts/kallsyms.c解析vmlinux(.tmp_vmlinux)生成kallsyms.S(.tmp_kallsyms.S),然後內核編譯過程中將kallsyms.S(內核符號表)編入內核鏡像uImage
內核啟動後./kernel/kallsyms.c解析uImage形成/proc/kallsyms
/proc/kallsyms包含了內核中的函數符號(包括沒有EXPORT_SYMBOL)、全局變數(用EXPORT_SYMBOL導出的全局變數)
如何將內核中的函數、全局變數、靜態變數都導出到/proc/kallsyms

查看內核 使用 uname -a

『叄』 linux怎麼導出內核中的文件

linux內核之模塊參數及導出符號
1. 模塊參數
用 「mole_param (參數名,參數類型,參數讀 / 寫許可權) 」 為模塊定義一個參數,例如下列代碼定義了 1 個整型參數和 1 個字元指針參數:
1 static char *book_name = "dissecting Linux Device Driver";
2 mole_param(book_name, charp, S_IRUGO);
3 static int book_num = 4000;
4 mole_param(book_num, int, S_IRUGO);
在裝載內核模塊時,用戶可以向模塊傳遞參數,形式為 「insmode 模塊名 參數名 = 參數值,如果不傳遞,參數將使用模塊內定義的預設值。參數類型可以是 byte 、 short 、 ushort 、 int 、 uint 、 long 、 ulong 、 charp (字元指針)、 bool 或 invbool (布爾的反),在模塊被編譯時會將 mole_param 中聲明的類型與變數定義的類型進行比較,判斷是否一致。模塊被載入後,在 /sys/mole/ 目錄下將出現以此模塊名命名的目錄。在此模塊的目錄下還將出現 parameters 目錄,其中包含一系列以參數名命名的文件節點,這些文件的許可權值就是傳入mole_param ()的 「參數讀 / 寫許可權」 ,而文件的內容為參數的值。
insmod命令載入模塊後,通過查看 「/var/log/messages」 日誌文件可以看到內核的輸出:
# tail -n 2 /var/log/messages
tail -n 2表示輸入文件的最後2行
2. 導出符號
Linux 的 「/proc/kallsyms」 文件對應著內核符號表,它記錄了符號以及符號所在的內存地址。模塊可以使用如下宏導出符號到內核符號表中:
EXPORT_SYMBOL( 符號名 );
EXPORT_SYMBOL_GPL( 符號名 );
導出的符號可以被其他模塊使用,只需使用前聲明一下即可。 EXPORT_SYMBOL_GPL ()只適用於包含 GPL許可權的模塊。
如果符號名是「e_symbol」,從 「/proc/kallsyms」 文件中找出 e_symbol 的相關信息:
# grep e_symbol /proc/kallsyms
8000af1c t e_symbol [export_symb]

『肆』 Linux中/boot目錄

/boot  存放開機時所要用的文件,包括linux核心文件、開機菜單和開機所要的配置文件。

         當前Linux系統的kernel配置文件,可以使用下面指令查看。

            initrd全名initial ram disk,啟動系統所需載入的虛擬磁碟。

            它是vmlinuz的映像文件。

            linux的正式內核。

            內核符號映射表,顧名思義就是將內核中的符號(也就是內核中的函數)和它的地址能 

            聯系起來的一個列表。

            引導載入程序相關的文件。

閱讀全文

與linux內核符號相關的資料

熱點內容
php開發學習門戶 瀏覽:383
傳奇游戲伺服器怎麼設置 瀏覽:819
敲擊東西解壓完整版 瀏覽:399
刺絡學pdf 瀏覽:868
怎麼給手機文件夾設置封面 瀏覽:931
汽車保養app怎麼用 瀏覽:62
線程javalock 瀏覽:896
c語言編譯運行結果查看器 瀏覽:112
androidpx轉dip 瀏覽:841
西藏編譯局是什麼級別 瀏覽:1001
php提交代碼 瀏覽:597
如何用命令查找並刪除代碼塊 瀏覽:582
python初學路線圖 瀏覽:534
matlab遺傳演算法旅行商問題 瀏覽:304
將辦公軟體加入加密軟體的進程 瀏覽:724
聯想小新pro14編譯器 瀏覽:462
為什麼伺服器要關掉icmp協議 瀏覽:855
源碼編輯器如何設置難度 瀏覽:357
給pdf加目錄 瀏覽:476
加密軟體怎麼改安全問題 瀏覽:552