2015
07
18

CentOS 7.1 での最新カーネル+ nVIDIA ドライバ稼働

CentOS7_kernel-ml_nVIDIA.jpg

CentOS 7.1 に最新カーネル& nVIDIA ドライバを適用します。

前回に続き、CentOS デスクトップ環境への最適化設定ですね。
んまぁ逆に、本来のユーザ層にとっては需要のない話でしょう。
ただ、恐らくはそうした理由から、ググっても平易な手法が見当たらない。
( CentOS 系の情報ってさ、やたらソース・ビルドばっかだねぇ)

で、ウチは「パソコン利用」向けなんで、少しお気楽な手法で掲載ッス。

う~んでも、導入が必要か?と問われれば、かなり微妙かなぁ。
CentOS の環境なら、別に標準で良くね?って気もする。
あぁ、Fedora 標準より新しいカーネルが入る!って・・・美点じゃねぇし。

○概要と大まかな流れ
単純に「 repo 入れて、ハイ端末実行」だけでもないんで、一応。

1. ELRepo:kernel-ml ( mainline )から最新カーネル導入
2. negativo17:epel-nvidia から最新 nVIDIA ドライバ導入
3. kernel-headers 等のビルド構成を ml 4.1.x 系へ移行
4. nVIDIA ドライバを ml 4.1 系に DKMS リビルド
 (⇨以降 kernel-ml に更新があれば、自動でリビルド)

 ▽ nVIDIA ドライバの選定理由
ELRepo-nvidia は、標準構成= nouveau に動作依存。
 ⇨要するに「標準 3.10 系でしか使えない」仕様
また CentOS には Akmods がなく、DKMS 対応ドライバが要る。
 ⇨残された選択肢は、(たぶん) negativo17 版しかない

 ▽至る思索、またの名を思いつき
ググると kernel-ml と elrepo-nvidia の導入法がイッパイ。
 ⇨疑問 1 nouveau 上の稼働って、最新ドライバの意味あるの?
 ⇨疑問 2 elrepo-nvidia + kernel-ml だと無意味じゃね?

他方 kernel-ml には、普通に headers 等が存在する。
 ⇨標準系( ml 系と競合)は削除して、ml 系にすりゃ良くね?

とまぁ、ぶっちゃけ思いつきなんで、構成が正しいかどうか実は不詳。
でも一応期待通りに稼働したし、何となくパフォーマンスも向上。


○最新系カーネルの導入
参照 ELRepo : kernel-ml
http://elrepo.org/tiki/kernel-ml

取り敢えず、同リポジトリと最新カーネル導入まで。
 code:
sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org
sudo yum -y install http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm
sudo yum -y install kernel-ml



○ nVIDIA ドライバの導入
参照 Nvidia driver | negativo17
http://negativo17.org/nvidia-driver/

 code:
sudo yum-config-manager --add-repo=http://negativo17.org/repos/epel-nvidia.repo
sudo yum -y install nvidia-driver kmod-nvidia nvidia-driver-libs.i686 dkms-nvidia


△通常はここまでで再起動。( 3.10 系でのみ動作)
▼以下 kernel-ml (最新カーネル)動作用の工程
 code:
sudo yum remove xorg-x11-drv-nouveau xorg-x11-glammer
sudo reboot


なおこの時点では、まだ 3.10 系でしか GUI 起動できません。
ただ nvidia-xconfig 理解なら、一気に進めても構いませんよ。

※ついでに注意:以降は「 yum autoremove 」使えません。


○ kernel-ml 系への移行
( 3.10 系起動にて) kernel-mlリポジトリを有効に。
elrepo.repo の [elrepo-kernel] を編集します。
 code:
sudo gedit /etc/yum.repos.d/elrepo.repo

elrepo-kernel_enebled.jpg
まぁ画像の通り、選択の(グレー反転)項目を「 enabled=1 」ですね。

ここで yumex にて 3.10 系 devel, headers 等を削除。
yumex_kernel-ml-headers_CentOS7.jpg
同時に ml 系のそれと置き換え(インストール)します。
-tools 系って必要?か不詳だったけど、全部いっときましたとさ。

要するに標準= 3.10 系の
kernel-3.10 ←そのまま残す 
kernel-devel-3.10 ←削除
kernel-headers-3.10 ←削除 
kernel-tools-3.10 ←削除 
kernel-tools-libs-3.10 ←削除 
最新= ml-4.1.x 系の
kernel-ml-4.1.~ 既に入ってる(残す)
kernel-ml-devele-4.1.x~ ←入れる
kernel-ml-headers-4.1.x~ ←入れる
kernel-ml-tools-4.1.x~ ←入れる
kernel-ml-tools-libs-4.1.x ←入れる

文字にするとかえってややこしいけど、yumex 上は一目瞭然かと。
長いし、今後バージョン相違も出るので、コマンド対照はしませんよ。

(不要かな?)一旦「3.10 系」で 再起動(しました)。
次いで、追加導入の kernel-ml に即し DKMS リビルドします。


○ nVIDIA ドライバのリビルド
 code:
dkms install -k カーネル -m nvidia -v ドライバ --verbose
青文字: ml-kernel のバージョン  緑文字:nVIDIA のバージョン

※備考:導入済みの kernelを確認したい
 code:
rpm -qa | grep kernel
grep_kernel_CentOS7-1.jpg

DKMS 実行例)
sudo dkms install -k 4.1.1-1.el7.elrepo.x86_64 -m nvidia -v 346.82 --verbose

DKMS_build_nvidia_kernel4-1-1.jpg
成功してれば、画像のような表示のハズ。

ビルド完遂なら再起動し、kernel-ml-4.1.x 系で GUI 起動可
 code:
sudo reboot

kernel4-1-1-el7_nVIDIA346-82.jpg
お疲れーしたっ。

なお、次更新以降は自動で DKMS 実行生成されます。
nVIDIA346-82_kernel4-1-2_CentOS7-1.jpg


繰り返しですが、コレ以降は「 yum autoremove 」実行不可。
まぁやってみると解りますが、必須ライブラリ群が削除されます。



○補足:旧カーネルを世代管理・削除したい
 ▽コマンド実行:最新のみ残す(末尾の数値で可変)
 code:
sudo package-cleanup --oldkernels --count=1

 ▽ yum.conf 設定で自動削除
 code:
sudo gedit /etc/yum.conf

yum-conf_installonly-limit.jpg
画像の(グレー反転)項目数値を「 2 」(二つ残す)以上に設定。
ただ現状は更新数が未達(一回だけ)で、稼働確認には至ってません。
ちなみに、一般的には 3 ~ 5 みたいです。

参照:Yum と Yum リポジトリの設定
https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Configuring_Yum_and_Yum_Repositories.html


コレか、安い JVC の GZ-E745-B かで、月曜から悩んでる・・・
スポンサーサイト

«  | HOME |  »