lsmod root test root lsmod root test root

  • Slides: 41
Download presentation

lsmod [root @test /root]# lsmod • 範例: [root @test /root]# lsmod • 目前系統中的模組有哪些呢?就是以 lsmod

lsmod [root @test /root]# lsmod • 範例: [root @test /root]# lsmod • 目前系統中的模組有哪些呢?就是以 lsmod 來查看 6

rmmod [root @test /root]# rmmod modules_name • 參數說明: 範例: [root @test /root]# rmmod 8139

rmmod [root @test /root]# rmmod modules_name • 參數說明: 範例: [root @test /root]# rmmod 8139 too • 輸入『 rmmod 模組名稱』就可以移除模組 10

#define MODULE #include <linux/kernel. h> #include <linux/module. h> int init_module(void) { printk(“<1>Hello, wordn”); return

#define MODULE #include <linux/kernel. h> #include <linux/module. h> int init_module(void) { printk(“<1>Hello, wordn”); return 0; } void cleanup_module(void) { printk(“<1>Goodby cruel worldn”); } □模組由insmod載入後模組就連接到核心因而能存取核心的公共符號 public symbol( 函式與變數 ). □printk()函式位於linux核心內部, 類似標準c函式庫printf(). □核心需要自己的列印函式不能求助於c函式庫. □<1>代表訊息的優先等級 數值越低等級越高. 11

□指令 # insmod. /hello. o 顯示 Hello, world # rmmod hello 顯示 Goodbye cruel

□指令 # insmod. /hello. o 顯示 Hello, world # rmmod hello 顯示 Goodbye cruel world □訊息會被紀錄在 /var/log /message 檔案. □教材: http: //www. oreilly. com. tw/bookcode/ldd 2 -samples-1. 0. 2. tar. gz 12

14

14

20

20

□int check_region(unsigned long start, unsigned long len); • 用來檢查某段範圍的I/O位址是否被佔用. □struct resource *request_region(unsigned long start,

□int check_region(unsigned long start, unsigned long len); • 用來檢查某段範圍的I/O位址是否被佔用. □struct resource *request_region(unsigned long start, unsigned long len , char *nam); • 要求註冊該位址區. 若核心同意, 此函式會回傳一 個non-NULL指標. 28

□I/O port: 可從/proc/iomem檔案取得I/O memory的資 訊 29

□I/O port: 可從/proc/iomem檔案取得I/O memory的資 訊 29

□取得, 釋放特定一段的I/O memory region • int check_mem_region(usigned long start, unsigned long len); • int

□取得, 釋放特定一段的I/O memory region • int check_mem_region(usigned long start, unsigned long len); • int request_mem_region(unsigned long start, unsigned long len, char *name); • int release_mem_region(unsigned long start, unsigned long len); 30

□教材: http: //www. oreilly. com. tw/bookcode/ldd 2 -samples 1. 0. 2. tar. gz □

□教材: http: //www. oreilly. com. tw/bookcode/ldd 2 -samples 1. 0. 2. tar. gz □ http: //linuxassembly. org/resources. html 35