PC-UNIX 勉強会 先達クラス資料 Centrino PC への FedoraCore4 と FreeBSD5.4 インストール (財)松本ソフト開発センター 高砂康司 私事ですが、先日 8 年ぶりにノート PC を購入しました。その PC には Centrino というステッカーがはって あります。インテルは昨年、その Centrino を Linux に対応させ、ドライバをオープンソースで提供しました。 これに驚いた方も結構いるのではないでしょうか? まぁ、とにかくその PC で Linux と FreeBSD を動かして みたかったので、やってみました。その個人的備忘録をまとめたものです。 Centrino Centrino モバイル・テクノロジはインテルの推すノート PC のためのテクノロジです。最近は少なくな い数のノート PC に Centrino のステッカーが貼られています。「統合されたワイヤレス LAN+性能、 卓越したバッテリ持続時間、携帯性などの優れたモバイル・パフォーマンスをノート PC に搭載する ことができる」というのがインテルの宣伝文句です。 具体的には以下の構成のノート PC となるようです。 • Intel PentimuM プロセッサ • i915express あるいは i855 チップセット • Intel Pro/Wireless ネットワークアダプタ1 この構成の PC を Windows で使うには何の問題もありませんが、Linux や FreeBSD では次のような 問題が発生する事があります。 1. 画面解像度が LCD パネル本来のものに設定できない 2. 無線 LAN が使えない 1.の問題は、チップセット内蔵グラフィックの持つ解像度のうち、特殊なもの(1280x800 とか 1280 x 768 など)が X 上で指定できないという事で、その原因は X window system で使用される i810 ドラ イバがビデオチップのレジスタを直接叩かずに VESA VIDEO BIOS を使っている事によるようです。 そしてその VESA VIDEO BIOS には、1280x800 とかの情報が無いので、そのような解像度に変更 できないのです。 2.は Intel Pro/Wireless がインストール時に認識されない(あるいは認識しているが動かない)ので無 線 LAN が使えないというものです。 1 Intel Pro/Wireless 2100/2100A/2200BG/2915ABG 1 PC-UNIX 勉強会 先達クラス資料 (おまけ) Windows 領域を縮小して FedoraCore,FreeBSD とトリプルブート 通常、メーカー製の PC は HDD の全領域を 1 ドライブで Windows に割り当ててある事が多いと思 います。他の OS とマルチブートにするには、まず他の OS の領域を確保する必要があります。 その為に 1CD Linux の Knoppix2が使えます。BIOS 設定をいじって CD-ROM から起動できるよう にしたら、Knoppix で PC を起動し ます。Knoppix 3.9 では、K メニュー の「システム」に「QTParted」という アプリケーションがあるので、これ を使って Windows のパーティショ ンを縮小します。 Knoppix のバージョンによっては、 コンソールから起動する(qtparted) 必要があるかもしれません。 あとは空けた領域に Fedora Core とか FreeBSD をインストールするわけですが、注意すべき点があ ります。Fedora Core などの Linux は HDD の拡張パーティションから起動できますが、FreeBSD は 基本パーティションからしか起動できません。基本パーティションは HDD に 4 つまでしか作れませ ん。パーティションをそれ以上作るには拡張パーティションを使う事になりますが、そうすると基本パー ティションは 3 つになります。先に Fedora Core などをインストールしてしまうと、① Windows、 ② Linux swap、③ Linux /、と 3 つの基本パーティションを使い切ってしまう可能性があります。そう すると領域(拡張パーティション)は空いているのに FreeBSD をインストールできないという事態に陥 る事があります。そんな訳で、先に FreeBSD をインストールした方が良いでしょう。 また、FreeBSD のインストールの際、ブートマネージャの設定画面では None を選択します。これは、 後にインストールする Fedora Core 付属の grub をブートマネージャとして利用するためです。 FreeBSD をインストールしたのち、再起動時に Windows が起動しないかもしれません。MBR をい じってないのに何故?と思うでしょう。これは、FreeBSD のインストーラが FreeBSD のパーティション をアクティブ(起動可能)にしてしまったためです。パニックにならずに、再度 Knoppix の QTParted を利用して Windows のパーティションをアクティブにします。私は fdisk を収録した Windows98 の システムディスクを使って Windows パーティションをアクティブにしました。 Fedora Core4 のインストールは特に気を遣う事も無いでしょう。何もしなくても Windows と Fedora Core のダブルブートの設定が grub にされるはずです。しかし、FreeBSD の起動のための設定はさ れないので、grub.conf を変更して FreeBSD を起動できるようにします。 その為には以下のような記述を grub.conf に追加します。 2 CD のみでブート可能な Linux ディストリビューションの一つです。ドイツの Knopper さんが Debian を元に開発して います。日本語版は http://unit.aist.go.jp/itri/knoppix/index.html から入手可能です。 2 PC-UNIX 勉強会 先達クラス資料 title FreeBSD root (hd0,1,a) kernel /boot/loader hd0 は一つ目の HDD、その後の 1 は二つ目のパーティション(FreeBSD ではスライス)に FreeBSD がインストールされており、a はその中の一つ目の BSD パーティションにルートディレクトリがある事 を示しています。 これで、次回起動時に Windows、FedoraCore、FreeBSD を選択して起動する事ができます。 3 PC-UNIX 勉強会 先達クラス資料 i855 チップセットへの対処 (画面解像度変更) i855,i865,i915 チップセット内蔵のビデオ機能で一部のノートパソコンの特殊な解像度が使えるよう にするために 855resolution というツールを利用します。 入手先 http://perso.wanadoo.fr/apoirier/ (Linux 用) http://www.sigusr1.org/~kurahone/misc-hacks/ (FreeBSD 用) 圧縮書庫になっているので、解凍して make、make install します。ただし、FreeBSD の場合、make コマンドではなく gmake を使います。インストールが終わったら、出来上がった 855resolution に-l オプションを付けて実行します。 ・実行結果例 855resolution version 0.3, by Alain Poirier Chipset: 855GM VBIOS type: 2 VBIOS Version: 3104 Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode Mode 30 32 34 38 3a 3c 41 43 45 49 4b 4d 50 52 54 58 5a 5c 7c 7d 7e : : : : : : : : : : : : : : : : : : : : : 640x480, 8 bits/pixel 800x600, 8 bits/pixel 1024x768, 8 bits/pixel 1280x1024, 8 bits/pixel 1600x1200, 8 bits/pixel 1920x1440, 8 bits/pixel 640x480, 16 bits/pixel 800x600, 16 bits/pixel 1024x768, 16 bits/pixel 1280x1024, 16 bits/pixel 1600x1200, 16 bits/pixel 1920x1440, 16 bits/pixel 640x480, 32 bits/pixel 800x600, 32 bits/pixel 1024x768, 32 bits/pixel 1280x1024, 32 bits/pixel 1600x1200, 32 bits/pixel 1920x1440, 32 bits/pixel 1280x801, 8 bits/pixel 1280x801, 16 bits/pixel 1280x801, 32 bits/pixel この中の使わないだろうモードを、目的の解像度に書き換えます。例えば Mode 7e を書き換えます。 # 855resolution 7e 1280 800 更に、xorg.conf を書き換えます。 4 PC-UNIX 勉強会 先達クラス資料 Section "Monitor" : Option "dpms” Modeline "1280x800_60.00" 801 804 828 -HSync +Vsync : EndSection 83.46 1280 1344 1480 1680 800 Section "Screen" : SubSection "Display" Depth Modes EndSubSection EndSection 24 "1280x800" "1024x768” ・・・・・ 下線の引かれた部分を追加します。X を起動すれば、1280x800 の解像度になるはずです。しかし、 855resolution で変更した Mode 設定は電源を切ると元に戻ってしまうので、起動時に 855resolution が実行されるようにします。 ・FedoraCore 4 の場合 /etc/rc.local ファイルにコマンドを記述する ・FreeBSD 5.4 の場合 /usr/local/etc/rc.d ディレクトリにシェルスクリプトを作成する 5 PC-UNIX 勉強会 先達クラス資料 Intel Pro/Wireless を使えるようにする 無線 LAN ネットワークアダプタ Intel Pro/Wireless 2100/2200BG/2915ABG を Fedora Core 4、 FreeBSD 5.4 で使えるようにします。 Linux の場合 以下の URL からそれぞれのドライバとファームウェアをダウンロードします。 • Intel/Pro2100 の場合 http://ipw2100.sourceforge.net/ • Intel/Pro2200BG/2195ABG の場合 http://ipw2200.sourceforge.net/ 以下、Intel Pro/Wireless2200BG を例に説明します。上記の URL から辿れるインストール手順を書 いたドキュメント(http://ipw2200.sourceforge.net/INSTALL)では、 1. ipw2200.ko というカーネルモジュールをインストール 2. ドライバ ipw2200 をインストール 3. ファームウェア ipw2200-fw をインストール という手順になっていましたが、Fedora Core 4 では、ipw2200.ko は既に組み込まれていました。ま た、私の環境では 2.の手順は失敗しました。ところが、3.を実行(ファイルを展開し、できたファイル すべてを/lib/firmware/ディレクトリにコピー)したところ何故かうまくいったようで3、Wireless Tools for Linux(パッケージ名 wireless-tools)に付属のツール iwconfig を実行したら、きちんと認識されてい ました。 しかし、設定ファイルが無いため、まだ NIC を起動する事はできません。もし、認識されている有線 NIC の設定ファイルなどがあれば、それをコピーして修正すると良いでしょう。例えば有線 NIC が eth0 として認識されていて、無線 NIC を eth1 とするなら # cp /etc/sysconfig/network-script/ifcfg-eth0 /etc/sysconfig/networkscript/ifcfg-eth1 として、コピーした ifcfg-eth1 の内容を環境に合わせて書き換えます。 USERCTL=no PEERDNS=yes GATEWAY= TYPE=Wireless DEVICE=eth1 BOOTPROTO=dhcp NETMASK= ONBOOT=yes DHCP_HOSTNAME= IPADDR= NAME= DOMAIN= ESSID= MODE=Managed KEY= RATE= # 一般ユーザーがこのインタフェイスを制御できるかどうか。 # resolv.conf を DHCP からの情報で書き換えるかどうか。 # このインターフェースのタイプ。有線 LAN なら Ethernet。 # デバイス名 # DHCP を利用する。IP 固定なら none とする。 # PC 起動時に有効にするかどうか。 # インフラストラクチャモードの指定。 # WEP を使う場合、「s:WEP キー」と記述。 # 通信速度の指定。ただし、指定してもエラーが出てしまう。 3 実は FC4 の場合、ドライバまで用意されているので手順 1,2 は必要ない。 6 PC-UNIX 勉強会 先達クラス資料 FreeBSD5.4 の場合 まず、以下の URI からドライバをダウンロードします。 http://damien.bergamini.free.fr/ipw/download.html Intel Pro/Wireless2200BG 用のドライバは iwi-freebsd-1.3.4.tgz、ファームウェアは iwi-firmware1.3.tbz です。 ドライバのインストールは tar で展開してから、make、make install です。ファームウェアの方はパッ ケージになっているので pkg_add コマンドを使ってインストールします。 インストールしたカーネルモジュールを以下のコマンドで読み込みます。 # kldload -v if_iwi 後ほどきちんと動作する事がわかったら、このモジュールを自動で読み込むように、ファイル/ boot/loader.conf に次の記述を追加すると良いでしょう。 if_iwi_load = "YES" dmesg の出力に iwi0 で始まる行があり、そこに正しくインターフェースの情報が表示されていれば、 取り敢えずは OK です。 次にファームウェアのバイナリイメージを Intel Pro/Wireless 2200BG にダウンロードします。インフラ ストラクチャーモードで動かす場合は、 # iwicontrol -i iwi0 -d /usr/local/libdata/if_iwi -m bss これでインターフェースは使えるはずです。ifconfig で確認あるいは設定してください。もし、DHCP で IP アドレスを取得したいなら、dhclient コマンドを利用します。 7 PC-UNIX 勉強会 先達クラス資料 (おまけ) UNIX 用の LAN ドライバが無い場合 不幸にして、利用したい NIC に Linux や FreeBSD 用のドライバが無い場合でも、NIC を稼動させる事がで きる可能性があります。NDISwrapper というソフトを利用して Windows 用のドライバで動かす方法です。 NDIS というのは、Network Driver Interface Specification の略称で 3Com と Microsoft が定めたネットワー クドライバの標準仕様です。NIC の機能を仮想化して汎用的に利用できるようにしています。 NDISwrapper のサイト:http://ndiswrapper.sourceforge.net/ Linux では、上記サイトからソースを取得してインストールしてください。FreeBSD では、5.3 から NDIS ドライ バが使える仕組みが用意されています。 Linux の場合 バッファローの無線 LAN カード WLI-CB-G54 を例に説明します。なお、NDISwrapper を利用する には、kernel が 2.6.6 以上か 2.4.26 以上でカーネルソースが必要だそうです。 ・NDISwrapper のインストール $ $ $ # # tar zxvf ndiswrapper-1.0.tar.gz cd ndiswrapper-1.0 su make make install ・NDIS ドライバの取得 まず、バッファローのサイトから WindowXP 用のドライバ(wdrv_660.exe)を取得します。 WindowsPC で展開しておくか、LinuxPC でも lha で展開できるようです。展開したファイル のうち、必要なものはその NIC 用の INF ファイルと SYS ファイルです。件の WLI-CB-G54 では、netcbg54.inf と bcmwl5.sys です。この二つを同じディレクトリに入れておきましょう。 ・NIC 用の設定の作成 # ndiswrapper -i netcbg54.inf これで、必要なファイルが/etc/ndiswrapper にコピーされ、NIC のための設定ファイルが作 成されます。 ・確認 正しくインストールされていれば、次のようになります。 $ ndiswrapper -l Installed ndis drivers: netcbg54 driver present, hardware present ・モジュールの読み込み # modprobe ndiswrapper ・ネットワークの設定 無線 LAN の設定には ifconfig ではなく、iwconfig を使います。iwconfig を引数なしで実 行した結果を載せておきます。 8 PC-UNIX 勉強会 先達クラス資料 $ iwconfig lo no wireless exetensions. eth0 no wireless exetensions. wlan0 IEEE 802.11g ESSID:off/any Mode:Managed Frequency:2.462 Ghz Access Point: 00:00:00:00:00:00 Bit Rate:54 Mb/s Tx-Power;25dBm RTS thr:2347 B Fragment thr:2346B Power Management:off Link Quality:100/100 Signal level:-10dBm Noise level:-256dBm Rx invalid mwid:0 Rx invalid crypt:0 Rx invalid flag:0 Tx excessive retries:0 Invalid misc:80 Missed beacon:0 wlan0 が無線の NIC です。iwconfig の使い方はマニュアルを参照してください。すべてき ちんと動くことが確認できたら、設定を保存し、起動時に自動で読み込まれるようにしてお きます。 # ndiswrapper -m FreeBSD5.4 の場合 Windows 用のドライバの取得と展開までは Linux の場合と同じです。 ・ドライバの変換 ndiscvt を使って FreeBSD 用のデータファイルに変換します。 % ndiscvt -s bcmwl5.sys -i netcbg54.inf -o ndis_driver_data.h ・カーネルモジュールの作成 % mv ndis_driver_data.h /sys/modules/if_ndis/ % cd /sys/modules/if_ndis/ % make ローダブルカーネルモジュール if_ndis.ko ができているはずです。 ・モジュールの読み込み % su % kldload if_ndis.ko 【情報源】 『NOBUSAN'S SQUARE』の「パーティションとその切り方」 http://nobumasa-web.hp.infoseek.co.jp/partition/partition.html 『IPW 2100/2200BG/2225BG/2915ABG drivers for *BSD - Installing iwi under FreeBSD』 http://damien.bergamini.free.fr/ipw/iwi-freebsd.html 『Installation – NDISWrapper』 http://ndiswrapper.sourceforge.net/mediawiki-1.4.6/index.php/Installation 『「すみかわ」のホームページ』の「2004/01/19: NDIS ドライバで遊ぶ」 http://www.don.to/diary/2004/0119-ndis/ 『Ndiswrapper』 http://www.brunolinux.com/08+-WiFi/Ndiswrapper.html 丸地さんのデータベース 9
© Copyright 2024 Paperzz