<menu id="w8yyk"><menu id="w8yyk"></menu></menu>
  • <dd id="w8yyk"><nav id="w8yyk"></nav></dd>
    <menu id="w8yyk"></menu>
    <menu id="w8yyk"><code id="w8yyk"></code></menu>
    <menu id="w8yyk"></menu>
    <xmp id="w8yyk">
    <xmp id="w8yyk"><nav id="w8yyk"></nav>
  • 網站首頁 > 物聯資訊 > 技術分享

    內核與內核模塊:depmod,lsmod,modinfo,insmod,rmmod,mdprobe

    2016-09-28 00:00:00 廣州睿豐德信息科技有限公司 閱讀
    睿豐德科技 專注RFID識別技術和條碼識別技術與管理軟件的集成項目。質量追溯系統、MES系統、金蝶與條碼系統對接、用友與條碼系統對接

    內核與內核模塊:depmod,lsmod,modinfo,insmod,rmmod,mdprobe

      首先,我們得知道內核與內核模塊放在哪里。 內核:/boot/vmlinuz或/boot/vmlinuz-version; 內核解壓縮所需RAMDisk:/boot/initrd(/boot/initrd-version); 內核模塊:/lib/modules/version/kernel或/lib/modules/$(uname -r)/kernel; 內核源碼:/usr/src/linux 或 /usr/src/kernels;   如果內核順利被加載了,會有以下幾個信息記錄: 內核版本:/proc/version 系統內核功能:/proc/sys/kernel   假如我有個新硬件,偏偏我的系統不支持,要這樣做: 重新編譯內核,并加入最新的硬件驅動程序源碼; 將該硬件的驅動程序編譯成為模塊,在啟動時加載該模塊。     下面我們著重講一下內核模塊 一、內核模塊與依賴性   基本上,內核模塊放置處是在 /lib/modules/$(uname -r)/kernel當中,里面的幾個目錄主要為: arch 與硬件平臺有關的選項 crypto 內核所支持的加密的技術 drivers 一些硬件的驅動程序 fs 內核所支持的文件系統 lib 一些函數庫 net 與網絡有關的各項協議數據,還有防火墻模塊等 sound 與音效有關的各項模塊   還有文件/lib/modules/$(uname -r)/modules.dep ,記錄了內核支持的模塊的依賴性。那么如何創建該文件呢?如下: #depmod [-Ane]   -A:不加任何參數時,depmod會主動去分析目前內核的模塊,并且重新寫入/lib/modules/$(uname -r)/ modules.dep當中。如果加-A參數,則會查找比modules.dep內還要新的模塊,如果真找到,才會更新。   -n:不寫入modules.dep,而是將結果輸出到屏幕上。   -e:顯示出目前已加載的不可執行的模塊名稱。     例子:我做好一個網卡驅動程序a.ko(內核模塊名以.ko結尾),該如何更新內核的依賴性? #cp a.ko /lib/modules/$(uname -r)/kernel/drivers/net #depmod     二、內核模塊的查看   查看目前模塊加載了多少的模塊。 #lsmod RFID設備管理軟件 模塊名稱     模塊的大小  此模塊是否被其他模塊使用   查閱每個模塊信息 #modinfo [-adln] [module_name|filename]   -a:僅列出作者名   -d:僅列出該modules的說明   -l:僅列出授權   -n:僅列出該模塊的詳細路徑     例子:#modinfo mii RFID設備管理軟件     三、內核模塊的加載與刪除   最好使用modprobe這個命令加載模塊,因為modprobe會主動查找modules.dep的內容,解決了依賴性后,才決定需要加載的模塊有哪些。   insmod則完全由用戶自行加載一個完整文件名的模塊,并不會主動分析模塊依賴性。 #insmod [/full/path/module_name] [parameters]     例子:嘗試載入cifs.ko這個文件系統模塊 #insmod /lib/modules/$(uname -r)/kernel/fs/cifs/cifs.ko   記住,一定要是完整的文件名。   #rmmod [-fw] module_name   -f:強制將該模塊刪除掉,不論是否正在被使用   -w:若該模塊正在被使用,則等待該模塊被使用完畢后再刪除     insmod與rmmod的問題時,你必須自行找到模塊的完整文件名才行。所以,我們一般使用modprobe. #modprobe [-lcfr] module_name   -c:列出目前系統上面所有的模塊   -l:列出目前在/lib/modules/`uname -r`/kernel當中的所有模塊完整文件名   -f:強制加載該模塊   -r:刪除某個模塊     例子:加載cifs模塊    #modprobe cifs   很方便,因為我們根本不用知道完整的模塊文件名   內核模塊的額外參數配置:/etc/modprobe.conf   如果你想修改某些模塊的額外參數設置,就在這個文件內。   #vi /etc/modprobe.confRFID管理系統集成商 RFID中間件 條碼系統中間層 物聯網軟件集成
    最近免费观看高清韩国日本大全