91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何解讀linux中blacklist.conf

發布時間:2021-10-21 17:29:53 來源:億速云 閱讀:194 作者:柒染 欄目:云計算

今天就跟大家聊聊有關如何解讀linux中blacklist.conf,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。

我們在linux中安裝驅動,有時會遇到受限或沖突,通常解決方式都是要修改blacklist.conf, 那么如何認識和深入了解它呢?下面就解讀下
一、blacklist黑名單
對內核模塊來說,黑名單是指禁止某個模塊裝入的機制

在 /etc/modprobe.d/ 中創建 .conf 文件,使用 blacklist 關鍵字屏蔽不需要的模塊,例如如果不想裝入 pcspkr 模塊:

/etc/modprobe.d/blacklist.conf
blacklist pcspkr
或者通過命令行的模式
modprobe.blacklist=modname1,modname2
從這里可以看出blacklist是一個模塊參數,其實現在linux/module.c中
其源碼如下:
static bool blacklisted(const char module_name)
{
const char
p;
size_t len;
#可以看到module_blacklist 這個list 為null,則直接返回false
if (!module_blacklist)
return false;
#這里通過查詢這個list 來比較模塊的name 是否在module_blacklist中,如果在的話,返回true,就不在加載#layout_and_allocate 這個函數中加載這個模塊
for (p = module_blacklist; p; p += len) {
len = strcspn(p, ",");
if (strlen(module_name) == len && !memcmp(module_name, p, len))
return true;
if (p[len] == ',')
len++;
}
return false;
}
core_param(module_blacklist, module_blacklist, charp, 0400);
blacklisted 這個函數是在layout_and_allocate 中加載的
static struct module
layout_and_allocate(struct load_info info, int flags)
{
/
Module within temporary copy. /
struct module
mod;
unsigned int ndx;
int err;

mod = setup_load_info(info, flags);
if (IS_ERR(mod))
    return mod;
#可以看到如果blacklisted 返回true,則layout_and_allocate 就返回-EPERM,表示不加載這個模塊
if (blacklisted(info->name))
    return ERR_PTR(-EPERM);

}

二、nvidia 顯卡驅動問題示例
Linux系統一般默認安裝的是開源的nouvea顯卡驅動,它與nvidia顯卡驅動產生沖突,欲裝nvidia必禁nouvea!其次Nvidia驅動默認安裝OpenGL桌面,然而這又與GNOME桌面沖突,為了系統不宕機,也需禁用nvidia的OpenGL,過程中需要搭建gcc、kernel等環境。如此,可順利安裝NVIDIA顯卡驅動。

1、首先關閉secure boot
重啟電腦,進入BIOS
找到seure boot,一般在boot選項中
將 “Enable” 改為 “Disable”

2、查看系統中存在的NVIDIA驅動 lspci | grep -i nvidia
選擇適合本主機linux的nvidia官網驅動,點擊搜索后進行下載

因為驅動和內核的源碼進行編譯,需要安裝如下內核相關的包,以及一些編譯源碼的工具包:
yum install kernel-devel kernel-doc kernel-headers gcc* glibc* glibc-*

有時候 glx-utils.x86_64 會和驅動程序沖突,最好先刪除掉:
yum remove glx-utils

3、把驅動加入黑名單中: /etc/modprobe.d/blacklist.conf 在后面加入:
#blacklist nvidiafb 將nvidiafb注釋掉
然后添加兩行
blacklist nouveau
options nouveau modeset=0
修改 /etc/default/grub 文件
在GRUB_CMDLINE_LINUX中添加

rd.driver.blacklist nouveau nouveau.modeset=0

4、重建 initramfs image

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r).img.bak
dracut /boot/initramfs-$(uname -r).img $(uname -r)
5、安裝編譯環境
yum install gcc kernel-devel kernerl-hearders -y
或 yum -y install gcc kernel-devel

6、安裝NVIDIA驅動
添加可執行權限
chmod +x NVIDIA-Linux-x86_64-375.39.run

7、退出X-server圖形,進入文本模式或修改下inittab
init 3

8、執行下
sh NVIDIA-Linux-x86_64-375.39.run --no-opengl-files

9、后面OK、Accept、yes就裝完了

10、最后使用nvidia-smi命令就可以看到驅動詳情了

備注: depmod -a 對所有的模塊檢查下依賴性

        echo modprobe wl >> /etc/rc.local

看完上述內容,你們對如何解讀linux中blacklist.conf有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

河东区| 怀柔区| 林西县| 关岭| 东莞市| 黄龙县| 南溪县| 九龙坡区| 精河县| 兰溪市| 谷城县| 遵义县| 隆安县| 和田市| 镇远县| 凤山县| 常德市| 潍坊市| 长兴县| 麦盖提县| 华宁县| 通山县| 武强县| 西贡区| 卫辉市| 新乐市| 镇平县| 左权县| 仁寿县| 房山区| 嘉禾县| 黄龙县| 图木舒克市| 新密市| 来宾市| 渝北区| 酒泉市| 青海省| 日土县| 峡江县| 宁安市|