nvidiaデバイスの確認
# /sbin/lspci -n | grep 'nVidia'nvidiaモジュールをインストールする為のリポジトリを追加.
0f:00.0 VGA compatible controller [0300]: nVidia Corporation Device [10de:06dd] (rev a3)
0f:00.1 Audio device [0403]: nVidia Corporation GF100 High Definition Audio Controller [10de:0be5] (rev a1)
# rpm -ivh http://download1.rpmfusion.org/free/fedora/releases/14/Everything/x86_64/os/rpmfusion-free-release-14-0.4.noarch.rpmモジュールのインストール(※kmodとakmodの違いは末尾に記述)
# rpm -ivh http://download1.rpmfusion.org/nonfree/fedora/releases/14/Everything/x86_64/os/rpmfusion-nonfree-release-14-0.4.noarch.rpm
# yum -y install kmod-nvidiaダブルインストールしてみたが、Fedora15にアップグレードした時にエラーを吐いてしまいGUIで起動しなくなってしまった.多分nvidiaモジュールのバージョンが違うからなんだろう.
# yum -y install akmod-nvidia
こうならないように、akmodのみでインストールしておくべきだったのかもしれない.
後で確認しよう.
念のためキャッシュをHDDにフラッシュして再起動.
# sync(x4回くらいらしい)カーネルオプションの確認
# reboot
# cat /proc/cmdline上記オプションが追加されていた.
rdblacklist=nouveau nouveau.modeset=0
モジュールがロードされているか確認
# lsmod | grep 'nvidia'nouveauがロードされてたら、ロードしないように設定この項目が該当してしまった場合は、nouveauのアンインストールか、bootオプションでnouveauモジュールをロードしないようにする、もしくはinitrd の再構築をおこなう。
nvidia 11694654 40
i2c_core 27212 1 nvidia
- nouvueauアンインストールの場合(未検証)
yum remove xorg-x11-drv-nouvea
手動で /lib/modules/2.6.31.12-174.2.19.fc12.x86_64/kernel/drivers/videoの中のnvidiaのディレクトリごと削除し、改めてNVIDIAのドライバをインストールし直し
- grub.confへのオプション追加の場合(kmod-nvidia, akomd-nvidiaインストール時点で追加されているはず)
rdblacklist=nouveau nouveau.modeset=0
どちらか片方のオプションでも回避できる気がする.
- もしくは以下の方法(未検証)
# vim /etc/modprobe.conf
alias nouveau off
#vim /etc/modprobe.d/blacklist.conf
blacklist nouveau
- 上記設定でもnouveauがロードされる場合はinitrdの再構築
# cd /bootこれで、ドライバのインストールは終了.
# mv initramfs-$(uname -r).img initramfs-$(uname -r)-nouveau.img
# dracut initramfs-$(uname -r).img $(uname -r)
--
# sync(x4回くらい)
# reboot
--
# wget [ http://target.driver.version.url ]
# chmod 755 NVIDIA-Linux-x86_64-270.41.06.run
# ./NVIDIA-Linux-x86_64-270.41.06.run --kernel-source-path= --kernel-name=$(uname -r)
--
# yum -y install freeglut
# yum -y install freeglut-devel
--
# yum -y install kernel-devel
nvidiaモジュールが組み込まれた状態で初期RAMディスクの再構築をおこなう.
# cd /boot
# mv initramfs-$(uname -r).img initramfs-$(uname -r).img.OLD
# dracut initramfs-$(uname -r).img $(uname -r)
これでnvidiaが組み込まれたinitrdが作成できたってことなのだろうか?(自信ないです)
# lsinitrd /boot/initramfs-$(uname -r).img | grep nvidia
-rw-r--r-- 1 root root 18 Aug 20 2011 etc/ld.so.conf.d/nvidia-lib64.conf
以下は、調べていて気になったことのメモ.
■ kmod-nvidia、akmod-nvidiaモジュールの違い
kmodとは[参考]
カーネルドライバモジュールの略.akmodとは
カーネルに適応したモジュール.事前にコンパイルされているので負荷もなくカーネルに適応できる.(カーネルアップデートした場合はモジュールの再適用が必要)
オートマティックカーネルドライバモジュールの略
カーネルのアップデートの速度が速いので、kmodで用意されたモジュールでは対応しきれない場合がある.akmodは現在のカーネルに適したモジュールを見つけた場合、自動的にコンパイルし、カーネルに適応してくれる.
http://ask.fedoraproject.org/question/315/what-is-the-difference-between-an-akmod-and-kmod
■ nouveauとは
nouveauはredhatの有志がnvidiaチップをリバースエンジニアリングして作ったフリーのnvidiaドライバとの事.[参考]
http://en.wikipedia.org/wiki/Nouveau_%28software%29
http://sourceforge.jp/magazine/07/09/06/0125203
■ syncコマンド
キャッシュ領域に残っているデータを強制的にHDDに書き込むコマンド.■ dracutコマンド
再起動、シャットダウンが行なわれる前にはこの処理は行なわれるが、任意のタイミングで行ないたい時はsyncコマンドで制御する事が出来る(OSのバージョンが古い場合は明示的にsyncを行なってあげないと行けない場合もある).
パフォーマンステストなどキャッシュを空っぽにしたい時とか.
でも結局、dracutコマンド内でmkinitrdコマンドに置き換えてるらしい.[参考]
・初期ラムディスクイメージの検証
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/sec-Verifying_the_Initial_RAM_Disk_Image.html
・RPM Fusion(自身のOSバージョンにあったモジュール拾いに便利)
http://rpmfusion.org/
・ブラックリストへのドライバー登録
http://docs.redhat.com/docs/ja-JP/Red_Hat_Enterprise_Linux/6/html/Installation_Guide/rescuemode_drivers-blacklisting.html
・initrdって何?
http://www.geocities.jp/sugachan1973/doc/funto72.html
http://ja.wikipedia.org/wiki/Initrd
・Fedora Nvidia install Guide
http://www.mjmwired.net/resources/mjm-fedora-nvidia.html
0 件のコメント:
コメントを投稿