bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

linux模塊命令 linux模塊編譯

請寫出在linux系統中查看CPU的信息,PCI的信息和內核模塊信息的命令?

1)、查看CPU的信息: more /proc/cpuinfo

成都創新互聯專注于遼陽網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供遼陽營銷型網站建設,遼陽網站制作、遼陽網頁設計、遼陽網站官網定制、微信小程序開發服務,打造遼陽網絡公司原創品牌,更為您提供遼陽網站排名全網營銷落地服務。

查看PCI設備的信息: lspci

查看內核模塊的信息:more /proc/modules

2)、內核定制有四種方式:

文本交互問答方式: make config

文本窗口交互問答方式:make menuconfig

圖形窗口交互方式: make xconfig

使用現有配置文件: make oldconfig

3)、編譯安裝內核文件命令:make dep, make bzImage, make install

編譯安裝內核模塊的命令:make modules, make modules_install

安裝的順序:make dep-----make bzImage----make modules----make modules_install---make install

更多命令教程請查看《Linux就該這么學》第二章內容。

在linux中 加載/卸載模塊可以使用什么命令

insmod :加載模塊,該命令可以加入適當的參數;

rmmod:卸載模塊;

linux內核模塊編譯-通過Makefile重命名.ko文件名和模塊名

假設模塊的源文件為hello.c,源碼如下:

使用該文件編譯內核模塊。

正常情況下,Makefile文件內容如下:

執行 make 命令,生成hello.ko文件。

執行 sudo insmod hello.ko 命令,安裝該模塊。

執行 lsmod 命令,查看安裝的模塊。就會看到第一行的就是hello模塊。

但是,如果想自定義模塊名稱為 xmodule ,而不是默認的 hello ,如何實現呢?方法如下:

在Makefile中重命名obj-m并將obj-m的依賴關系設置為原始模塊(hello)

修改后的Makefile文件內容如下:

將obj-m設置為 xmodule .o,并使 xmodule .o依賴于 hello .o.

執行 make 命令后,生成 xmodule .ko, 而不是 hello .ko,

安裝命令: sudo insmod xmodule.ko

查看命令: lsmod ,就會看到被安裝名為 xmodule 的模塊。

怎么查看linux下的模塊,很多命令的介紹

1、lsmod 列加以掛載的內核模塊;

lsmod 是列出目前系統中已加載的模塊的名稱及大小等;另外我們還可以查看 /proc/modules ,我們一樣可以知道系統已經加載的模塊;

代碼:

[root@localhost beinan]# lsmod

2、modinfo 查看模塊信息;

modinfo 可以查看模塊的信息,通過查看模塊信息來判定這個模塊的用途;

代碼:

[root@localhost beinan]# moinfo 模塊名

舉例:

代碼:

[root@localhost beinan]# modinfo ne2k-pcifilename: /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/ne2k-pci.koauthor: Donald Becker / Paul Gortmakerdescription: PCI NE2000 clone driverlicense: GPLparmtype: debug:intparmtype: options:array of intparmtype: full_duplex:array of intparm: debug:debug level (1-2)parm: options:Bit 5: full duplexparm: full_duplex:full duplex setting(s) (1)vermagic: 2.6.11-1.1369_FC4 686 REGPARM 4KSTACKS gcc-4.0depends: 8390alias: pci:v000010ECd00008029sv*sd*bc*sc*i*alias: pci:v00001050d00000940sv*sd*bc*sc*i*alias: pci:v000011F6d00001401sv*sd*bc*sc*i*alias: pci:v00008E2Ed00003000sv*sd*bc*sc*i*alias: pci:v00004A14d00005000sv*sd*bc*sc*i*alias: pci:v00001106d00000926sv*sd*bc*sc*i*alias: pci:v000010BDd00000E34sv*sd*bc*sc*i*alias: pci:v00001050d00005A5Asv*sd*bc*sc*i*alias: pci:v000012C3d00000058sv*sd*bc*sc*i*alias: pci:v000012C3d00005598sv*sd*bc*sc*i*alias: pci:v00008C4Ad00001980sv*sd*bc*sc*i*srcversion: 6ACE95F441CD26DF9DC31C2

上 面的例子是我們查看 ne2k-pci 這個模塊的信息,通過查看,我們知道ne2k-pci 模塊是8029網卡(PCI NE2000 clone driver)的驅動;模塊是位于 /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/ 中ne2k-pci.ko

我們現在常用的網卡也有8139的,8139網卡所用的驅動是 8139too ;查查看?

代碼:

[root@localhost beinan]# modinfo 8139too

我們再查查vfat 和ntfs 的模塊信息;

代碼:

[root@localhost beinan]# modinfo vfat[root@localhost beinan]# modinfo ntfs

自己嘗試一下;

注意: 模塊名是不能帶有后綴的,我們通過modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;

3、modprobe 掛載新模塊以及新模塊相依賴的模塊

modprobe 我們常用的功能就是掛載模塊,在掛載某個內核模塊的同時,這個模塊所依賴的模塊也被同時掛載;當然modprobe 也有列出內核所有模塊,還有移除模塊的功能;下在我們舉個例子說一說咱們常用的功能和參數;

代碼:

modprobe [-v] [-V] [-C config-file] [-n] [-i] [-q] [-o ] [parameters...]

modprobe -r [-n] [-i] [-v] ...

modprobe -l -t [ -a ...]

上面是modprobe 的用法,具體更為詳細的幫助,我們可以查看 man modprobe ;

代碼:

[root@localhost beinan]# modprobe -c

modprobe -c 可以查看modules 的配置文件,比如模塊的別名是什么等;

代碼:

[root@localhost beinan]# modprobe -l

modprobe -l 是列出內核中所有的模塊,包括已掛載和未掛載的;通過modprobe -l ,我們能查看到我們所需要的模塊,然后根據我們的需要來掛載;其實modprobe -l 讀取的模塊列表就位于 /lib/modules/'uname -r' 目錄中;其中uname -r 是內核的版本;

代碼:

[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/

通過上面的命令,自己試試看?

代碼:

[root@localhost beinan]# modprobe 模塊名 注:掛載一個模塊;

舉例:

代碼:

[root@localhost beinan]# modprobe ne2k-pci 注:掛載 ne2k-pci 模塊;[root@localhost beinan]# modprobe vfat 注:掛載vfat 模塊[root@localhost beinan]# modprobe ntfs 注:掛載ntfs 模塊[root@localhost beinan]# lsmod 注:列出已掛載模塊, 我們會看到ne2k-pci ,vfat ,ntfs的模塊 ;

注意: 模塊名是不能帶有后綴的,我們通過modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;

代碼:

[root@localhost beinan]# modprobe -r 模塊名 注:移除已加載的模塊,和rmmod 功能相同;

注意:模塊名是不能帶有后綴的,我們通過modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;

代碼:

[root@localhost beinan]# modprobe -r 模塊名

舉例:

代碼:

[root@localhost beinan]# modprobe -r ne2k-pci

就說這么多吧,更為詳細的還是用 man modprobe 來查看和嘗試;

4、rmmod 移除已掛載模塊;

命令格式:

代碼:

rmmod 模塊名

注意: 模塊名是不能帶有后綴的,我們通過modprobe -l 所看到的模塊,都是帶有.ko 或.o后綴;

舉例:

代碼:

[root@localhost beinan]# rmmod vfat 注:移除已掛載的模塊vfat

5、depmod 創建模塊依賴關系的列表

這 個模塊管理工具是創建模塊依賴關系的列表,有幾個參數我們注意一下就行了,目前的的Linux 發行版所用的內核是2.6x版本,是自動解決依賴關系,所以這個命令知道就行了;模塊之前也有依賴關系,比如我們想驅動USB 移動硬盤,目前有兩種驅動,一種是udev ,在內核中有,但目前不太穩定;另一種辦法是用usb-storage驅動,而usb-storage 依賴的模塊是scsi 模塊,所以我們要用usb-storage 的模塊,也得把scsi 編譯安裝;

再 舉個例子:sata的硬盤,在Linux中的設備表示的是/dev/sd* ,比如 /dev/sda,/dev/sdb 等... 系統要驅動 sata硬盤,則需要把sata在內核中選中,或編譯成模塊,或內置于內核之中,在此同時,還需要在內核中選中ide ,scsi 的支持等;

depmod 工具的洋文原意:depmod — program to generate modules.dep and map files.(我譯的:為modules.dep 文件或映射文件創建依賴關系)

代碼:

[root@localhost beinan]# depmod -a 注:為所有列在/etc/modprobe.conf 或/etc/modules.conf 中的所有模塊創建依賴關系,并且寫入到modules.dep文件;[root@localhost beinan]# depmod -e 注:列出已掛載但不可用的模塊;[root@localhost beinan]# depmod -n 注:列出所有模塊的依賴關系,但僅僅是輸出出來 (Write the dependency file on stdout only)

注:modules.dep 位于 /lib/modules/內核版本 目錄

比如 Fedora Core 4.0 中,系統默認的內核:

代碼:

[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/modules.dep/lib/modules/2.6.11-1.1369_FC4/modules.dep

6、insmod 掛載模塊;

insmod 這個工具,和modprobe 有點類似,但功能上沒有modprobe 強,modprobe 在掛載模塊是不用指定模塊文件的路徑,也不用帶文件的后綴.o 或.ko ;而insmod 需要的是模塊的所在目錄的絕對路徑,并且一定要帶有模塊文件名后綴的(modulefile.o 或modulesfile.ko );

對于這個工具,我們只是介紹一下, 并不推薦使用。因為模塊有依賴關系,對于新手來說,可能不知道這個模塊依賴和哪個模塊依賴;

舉例:

代碼:

[root@localhost beinan]# insmod /lib/modules/2.6.11-1.1369_FC4/kernel/drivers/net/tg3.ko

我們要到 /lib/modules/內核版本 uname -r 的命令輸出/kernel/drivers 中找相對應的模塊才行,要有絕對路徑,而且必須要用到文件名的全稱,不能把文件名的后綴省略;

四、與內核模塊加載相關的配置文件;

1、模塊的配置文件 modules.conf 或 modprobe.conf

內 核模塊的開機自動掛載模塊一般是位于一個配置文件,一般的Linux發行版本都有 /etc/modules.conf 或 /etc/modprobe.conf 。比如Fedora Core 4.0 內核模塊開機自動加載文件是 /etc/modprobe.conf ;在這個文件中,一般是寫入模塊的加載命令或模塊的別名的定義等;比如我們在modules.conf 中可能會發行類似的一行 ;

代碼:

alias eth0 8139too

而8029的網卡應該是

代碼:

alias eth0 ne2k-pci

這樣系統啟動的時候,首先會modprobe 8139too ,然后再為8139too 指定別名為 eth0,然后我們在登錄的時候,用 ifconfig 就會查看到網卡的IP 等情況,當然您得為網卡設置IP 才行;

一 般的情況下,modproe.conf 或modules.conf的內容 是我們用相應的硬件配置工具而生成的;如果您的硬件驅動是沒有被內核支持,您自己到硬件的廠商下載而來的驅動。一般的情況下都有安裝和幫助文件。他們的驅 動在配置時,他會寫入硬件的支持到modules.conf 或modprobe.conf 文件中。

再比如我們的聲卡在modules.conf 或modprobe.conf 中也有相應的內容,這是由alsaconf 配置工具生成的,明白了吧;同理網卡在modprobe.conf 或modules.conf中的內容也是由網卡的配置工具而來的。

有些硬件是以內核模塊的方式驅動的,模塊一旦加載上就能用,也沒有什么配置工具,比如vfat 和ntfs 的支持;如果是硬件驅動不以模塊的方式支持,而是直接編入內核,也不會用在modprobe.conf 或 modules.conf 中加入什么內容;

如果您有些模塊不能開機加載,您想讓一些模塊加機自動加載,就可以把modprobe 模塊 直接寫入配置文件;

2、內核模塊其它配置文件

內核模塊的其它配置文件還是需要了解的,比如 /lib/modules/內核版本目錄下的幾個文件;了解一下就行;比如:

代碼:

[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/build misc modules.ccwmap modules.ieee1394map modules.isapnpmap modules.symbols sourcekernel modules.alias modules.dep modules.inputmap modules.pcimap modules.usbmap

五、硬件驅動在系統中的目錄;

硬件驅動在內核中以模塊支持的目錄;

硬 件驅動是必須由內核支持的,無論是我們自己安裝驅動,還是內核自帶的驅動都是如此。硬件驅動如果是以內核模塊支持的,驅動目錄位于: /lib/modules/內核版本/kernel/目錄 或 /lib/modules/內核版本/kernel/drivers 目錄中;

代碼:

[root@localhost beinan]# uname -r2.6.11-1.1369_FC4[root@localhost beinan]# ls /lib/modules/2.6.11-1.1369_FC4/kernelarch crypto drivers fs lib net sound

注:只有驅動在內核中以模塊的方法支持,驅動才位于 /lib/modules/相應的目錄;如果是直接置入內核的,不會出現在/lib/modules驅動相關的目錄;

六、自己編譯驅動的辦法;

通 過源碼編譯驅動一般是./configure ;make;make install ,有時程序不提供./configure ,我們可以make或make install ,或者執行make;make install ;如果不能make install ,則需要我們自己復制.o或者.ko文件到 /lib/modules/內核版本/kernel/目錄 或 /lib/modules/內核版本/kernel/drivers 目錄中相應的驅動目錄;

這個還是自己嘗試吧,說也說不清楚,遇到問題后就知道怎么弄了;具體的還是驅動的REAME和INSTALL為準;

現在大多驅動都是在編譯安裝時,都自動復制.o或.ko 文件到內核模塊目錄,大多不用我們自己動手復制過去。如果您嘗試編譯安裝聲卡驅動 alsa-drivers 就會明白我所說的意思。

Linux 添加 net 模塊

Linux 添加 net 模塊的方法是:

1、創建c文件和makefile文件:在任意位置創建一個文件夾(我創建的名稱為/drive)mkdir drive后,輸入cd drive?進入文件夾。輸入vim hello.c新建hello.c文件,輸入以下代碼。

2、輸入?vim Makefile(注意首字母大寫,否則編譯過程中可能會報錯),敲下以下代碼。

3、編譯makefile文件:直接在/drive(我自己創建的文件夾)下輸入make指令即可(只輸入這一個單詞)。

4、隱藏錯誤:通過指令dmesg |tail -1查看模塊是否添加成功時,遇到了以下報錯。

5、最后再通過dmesg |tail -1指令。

操作使用工具:Linux。

使用工具版本:CentOS-7.0-x86_64-DVD-1503-01.iso。

Linux編譯內核模塊Makefile中指令的作用是:

obj-m:指定構建為可加載內核模塊的目標文件。 構建外部模塊的命令是:make -Cpath_to_kernel_srcM=$PWD。

-C $(KERNEL_DIR):內核源所在的目錄。 “make”實際上會在執行時更改為指定的目錄,并在完成時更改回來。

KERNEL_DIR:指內核源目錄的路徑。

M = $ PWD:通知make正在構建外部模塊。 賦予“M”的值是外部模塊所在目錄的絕對路徑。

linux操作系統中,加載和刪除內核模塊的命令是什么?

modprobe命令\x0d\x0aLinux命令:modprobe 。\x0d\x0a功能說明:自動處理可載入模塊。\x0d\x0a語法:modprobe [-acdlrtvV][--help][模塊文件][符號名稱 = 符號值]。\x0d\x0a補充說明:modprobe可載入指定的個別模塊,或是載入一組相依的模塊。modprobe會根據depmod所產生的相依關系,決定要載入哪些模塊。若在載入過程中發生錯誤,在modprobe會卸載整組的模塊。\x0d\x0a\x0d\x0a內容\x0d\x0a1、modprobe 命令是根據depmod -a的輸出/lib/modules/version/modules.dep來加載全部的所需要模塊。\x0d\x0a2、刪除模塊的命令是:modprobe -r filename。\x0d\x0a3、系統啟動后,正常工作的模塊都在/proc/modules文件中列出。使用lsmod命令也可顯示相同內容。\x0d\x0a4、在內核中有一個“Automatic kernel module loading"功能被編譯到了內核中。當用戶嘗試打開某類型的文件時,內核會根據需要嘗試加載相應的模塊。/etc/modules.conf或 /etc/modprobe.conf文件是一個自動處理內核模塊的控制文件。\x0d\x0amodprobe命令主要用于在Linux 2.6內核中加載和刪除Linux內核模塊。通過此命令用戶可以輕松地加載和刪除Linux內核模塊,同時使用此命令加載Linux內核模塊時,Linux內核會自動解決內核模塊之間的依賴關系,將相互依賴的模塊自動加載,如下所示:\x0d\x0a1) 加載RAID1陣列級別模塊:\x0d\x0a[root@rhel5 boot]# modprobe raid1 \x0d\x0a\x0d\x0a2) 顯示已加載的RAID1陣列級別模塊:\x0d\x0a[root@rhel5 boot]# lsmod |grep raid1 raid1 25153 0 \x0d\x0a\x0d\x0a3) 刪除RAID1陣列級別模塊:\x0d\x0a[root@rhel5 boot]# modprobe -r raid1 \x0d\x0a\x0d\x0a4) 顯示RAID1陣列級別模塊:\x0d\x0a[root@rhel5 boot]# lsmod |grep raid1 \x0d\x0a\x0d\x0amodprobe命令在加載模塊時會自動解決依賴的模塊。當加載的模塊需依賴另一個模塊時,系統會自動將此模塊加載。而當用戶使用insmod命令加載模塊時,則不會自動解決相對應的依賴模塊。\x0d\x0amodprobe命令中的"-r"參數表示刪除指定模塊,"-c"參數表示顯示/etc/modprobe.conf配置文件的參數,"-C"參數表示指定內核配置文件,"-f"表示覆蓋,"-l"表示顯示模塊的絕對路徑。\x0d\x0a[root@rhel5 boot]# modprobe -l|grep raid /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid0.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid456.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid1.ko /lib/modules/2.6.18-8.el5/kernel/drivers/md/raid10.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/aacraid/aacraid.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mbox.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_mm.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/megaraid/megaraid_sas.ko /lib/modules/2.6.18-8.el5/kernel/drivers/scsi/raid_class.ko \x0d\x0a\x0d\x0a以上命令表示顯示系統中所有的編譯模塊,并過濾包含有raid字符串的模塊。

分享名稱:linux模塊命令 linux模塊編譯
網站URL:http://vcdvsql.cn/article38/hehssp.html

成都網站建設公司_創新互聯,為您提供營銷型網站建設品牌網站制作商城網站自適應網站小程序開發微信公眾號

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

h5響應式網站建設