2008年5月18日日曜日

Fedora 9 で四苦八苦 環境構築編 nvidia その1

 今回も「その1」付のnvidiaになります。
 nvidiaでもチップセットではなく、VGA(Geforce FX5800/6800)としてのnvidia謹製ドライバの構築ネタです。
 結果からすれば、現在のところnvidiaドライバを使用して満足にXを起動できません。

 まずはFedora9をインストールした直後のカーネルである2.6.25-14、アップデートしたカーネルである2.6.25.3-18では、 nvidiaが安定バージョンとして公開してる169.12ではカーネルドライバすらコンパイル完了することが出来ず、X廻りのライブラリも当然のことな がら構築できませんでした。
 まぁ、169.12が公開されたのが2月ですから仕方ないと言えば仕方ありませんけど…。

 こうなってはお手上げな状態ですが、カーネルバージョン2.6.25-3.18で、nvidiaがベータとして公開しているドライバも構築してみました。
 そうしたら173.08だけはどうにかコンパイルが完了しました。
 カーネルドライバ、X用ライブラリの構築も完了し、ldconfigの環境定義も正常することができました。

 ここまで来ればnvidiaドライバを利用できる様に思えますが、落とし穴がありました。

 /etc/X11/xorg.confをnvidiaドライバを使用するように修正し、startxするもエラーで起動できませんでした。
 そこでstartxにオプションを付加した次のコマンドでnvidiaドライバを使用したXを起動することができます。
  "startx -- -ignoreABI"
 オプションから推察すると、クライアント側には何らのオプションがなく、サーバー側にignoreABIを付加しています。
 これから、/etc/X11/xorg.confへ次の3行を追加してみましたが、ダメダメでした。
  • Section "ServerFlags"
  • option "IgnoreABI" "True"
  • EndSection
 TrueをFalseにしても言うことを利かず、ダメダメな結果でした。
 startxで成功しているだけにoption節で有効にならないってどういうことか不明です。
 しかもstartxで付加するということは、ランレベル5のXで無条件に有効にしてやるには起動スクリプトを修正する他は無いように思えます。
 起動スクリプトを修正できるスキルはありませんし、仮に修正してもアップデートとかでFedora9デフォルトで上書きされてはタマッたものではありません。

 どうやらnvidiaから対策されているドライバが公開されるのをジ〜っと待つより他は無いと思います。

 それでもnvidiaドライバを使用したい方は上記を参考にトライしてみてください。

Fedora 9 で四苦八苦 環境構築編 yum その1

 5月13日に公開されたFedora9ですが、既にUpdateファイルが公開されています。
 Fedora9では、ソフトウェアアップデータの挙動に関するセキュリティーがFedora8より強化修正されているようです。
 rootアカウントでログインした状態ではソフトウェアアップデータが起動し、一覧を表示するもののインストール、アップデート、アンインストールができません。
 このため、rootではない一般アカウントでログインし、ソフトウェアアップデータを起動し、起動時にsuのパスワードを入力した状態のソフトウェアアップデータではインストール、アップデート、アンインストールが使用できるようになります。
 つまり、rootとsuとでは異なる挙動になっています。
 こうした状況からrootユーザーの権限を何かの設定で剥奪設定していると思いますが、現在のところはドコで設定されているかは不明です。ヘルプも見ましたが、解決できる記載はありませんでした。
 セキュリティ対策上の基本的なところと思いますが、情報が無いのには困りものです…って愚痴を言っても始まらないか…。
 そんな状況ですので当ブログの常連さんはタイトルを見ればわかるように"その1"がついています。つまり、"その2"とかも予定しており、上記の状況を改善する内容が判明したら再記載します。

 また、ソフトウェアアップデータのほか、ソフトウェアの追加・削除もソフトウェアアップデータと同様にrootログインした状況では一覧表示だけです。 こちらも上記と同様にroot以外の一般アカウントでログインし、ソフトウェア起動時にsuパスワードを入力した状態にすれば機能します。
 一覧にナニも表示されない時は、fileメニューからrefreshを実行してみてください。
 ソフトウェアの追加・削除の基本的な使用方法は、ソフトウェアを選択してウィンドウ下部にあるインストールボタンを押します。しかし、これでは1個づつ 行わなければならないので面倒の極み。CTRLキーやSHIFTキーを押しながらクリックしても複数選択にはならず、これまた面倒の極み。
 そこでダブルクリックしたらインストールされていないものはインストールされました。よって一覧がリフレッシュされる前にダブルクリックをしけば Queueに蓄積され、連続したインストール作業を実行することができました。ヘルプにも記載されていないようですのでお試しください。
 特に日本語環境を充実させるには必須の作業ですのでお勧めです。

 次にFedora8からFedora9へバージョンアップインストールした方へのチョットしたお土産です。
 なんてことはありません。Fedora9をクリーンインストールした際のYum定義ファイルです。
 Yum定義ファイルを見た限りでは8とか9とかのバージョンを表現するものが使用されていませんので、ドコかに記載されているパッケージバージョン情報を補完参照していると思いますが、私にはドコを見ているかは不明です。
 Fedora8のものとFedora9のものが混在していてウンザリって時の参考にしてみてください。

 Yumのコマンドに関するヘルプは"man yum"で見ることができます。
 コンソールから操作する際はsuになっておき、"yum install "でインストールされます。
 Fedora9ではソフトウェア名にarchitecture番号を付与する必要があり、私のように32ビット環境ではi386とかが必要になります。 共通しているものはnoarchになります。バージョン番号は不要なようで新しいものが勝手に選択されてインストールされるようです。

Fedora 9 で四苦八苦 環境構築編 grub

 「Fedora8で四苦八苦」シリーズをベースにして「Fedora9で四苦八苦」シリーズでFedora9の設定ネタを記載していきます。
 この記事もFedora9のKDEからMozillaとSCIMとAnthyを使用して記載しています。
 Fedora9のインストール直後ではKDEは日本語化されておらず、Gnomeも辛うじて日本語メニューとなっていますが、SCIMとAnthyがインストールされていないので日本語入力が出来ないものとなっているようです。この辺りは後述していく予定です。
 さて、今回はブートしてスグに世話になるgrubです。
 Linuxのブートローダーとしては古くはliloが私用されていましたが、5年程前のパッケージからは多くがgrubに移行しており、Fedora9もgrubを使用しています。

 インストールDVDからインストールメニューが表示されますが、これもgrubと思います。
 前回の記事で記載しましたが、CD-ROMやDVD-ROMドライブがインストールプログラムから認識されない時は、このインストールメニューが表示された時点でブートオプションを変更しておく必要があります。
 インストールDVDをDVD-ROMに挿入し、ブータブルDVD機能で挿入したDVDから起動させます。
 そうすると、"Welcome to Fedora 9"という見出しのインストールメニューが表示されます。
 そのメニューで一番上の"Install or upgrade an existing system"という所にカーソルがあることを確認し、Tabキーを押します。
 すると、罫線の枠下の方に"> vmlinuz initrd=initrd.img"と表示されます。今回はそこを修正します。
 ">vmlinuz initrd=initrd.img hdc=ide-scsi hdd=ide-scsi"
 修正したらリターンキーを押せば、カーネルを読み込みにいきます。

 あとはインストール設定ですので適当に選択していってください。
 インストール後に1度再起動し、初期設定が行われるので、この時点では何も修正しない方が得策です。下手に修正してシステム設定が可笑しくなることを回避するためです。

 そのシステム設定が終了したら一度再起動させ、本来のFedora9を起動させます。
 通常はランレベル5…すなわちX環境で起動します。

 ここまで来れば、Gnomeのgeditorなり、KDEのkwriteなり、コンソールのviなりのテキストエディターで編集できる環境にありますので、grub.confをカスタマイズしてしまいます。

 Fedora9のgrubは英語環境…つまり英語キーボードを想定して定義されており、日本語キーボード(JP106/JP109/JP112)は考慮 されていません。このため、"="を入力してやるのに"Shift"+"-"キーでは入力できません。これはキーコードの問題であるため、JP106向け にgrubをカスタマイズしてやる必要があります。
 また、私の場合はsplash画面を最初から表示させたいし、Windowsとの共有ブートでWindowsを優先させたいし一番上に表示させたい、選 択するまでの時間もデフォルトの5秒では短いのでチョイ長めの15秒にしたいこともあり、grub.confをカスタマイズしています。
 Fedora9のgrub.confの位置は"/boot/grub/"ディレクトリに保存されていますので、そのファイルをカスタマイズします。
 カスタマイズ後のgrub.confファイルをアップしておきますので参考にしてくさい。ただし、本ファイル中にあるpasswordとUUIDの所はセキュリティ対策としてキーボード適当打ちで修正しています。
   sampleファイル
 なお、WindowsはWindows XP SP3ですのでVistaで有効かどうかは不明ですが、chainloaderで呼び出しているので恐らく通ると思います。
 余談ですが、Windows XP以前とWindows Vistaとではブートローダーが異なっているようです。製品版Vistaを購入していませんのでBetaテスト時の状況になりますが、Vistaでは BCDとかいう変なブートローダーになっており、カスタマイズで泣きが入った記憶があります。BCDはコマンドベースでカスタマイズしていくと思います が、ひたすらコマンド入力しながら修正するものと思います。

 さて本題のgrubに戻りますが、grubは起動すると/boot/grub/grub.confファイルを読みにいきます。
 よってgrub.confにエントリー…つまりtitleで表現されている項目を選択してブートできるようになっています。
 マルチブートローダーとしても使用できますので高い某社の製品を購入しなくとも間に合うと思います。
 またgrubのヘルプはinfoシステムで供給されており、"info grub"とすることで表示できます。
 それと、わかりにくい所ではgrubのデバイスナンバーにあります。
 これを理解できれば、grub.confにエントリーしていないもの…例えばFDやCD、DVDからも起動できるようです。
 BIOSで最優先ブートデバイスをHDDになっている方には重宝する機能と思いますが、私はFD/CD/HDDの順番でBIOSを設定しているので詳しい使用方法を覚えていません。