「Linuxハードウェア」の版間の差分

出典: フリー教科書『ウィキブックス(Wikibooks)』
削除された内容 追加された内容
USBマスストレージクラス、ネットワーク機器に関する説明を追加しました。
 
チップセットごとの対応状況を追加しました。
73 行 73 行


=====無線LAN=====
=====無線LAN=====
イーサネットの場合と同様に、[[w:無線LAN]]クライアントとLinuxが通信できるという条件付きなら、無線LANアクセスポイントと無線LANクライアントが通信できることも期待されます。無線LANクライアントのLinuxドライバは扱いが難しいため、これについては後述します。
イーサネットの場合と同様に、[[w:無線LAN]]クライアントとLinuxが通信できるという条件付きなら、無線LANアクセスポイントと無線LANクライアントが通信できることも期待されます。
===Linux対応自作PC===

ここまでは、[[w:USB]]接続の機器やネットワーク機器など、既に完成しているPCから接続できる機器について触れました。ここからは、まだPCの構成が決まっていない場合に、[[w:Windows]]、[[w:Linux]]の両方が動く構成にするための機器の選びかたについてまとめます。

ここからの話題ではある程度[[w:自作パソコン]]の知識を仮定します。例えば、[[w:チップセット]]、[[w:ビデオボード]]などについて把握している必要があります。

====Linuxに対応したマザーボード====

既にあげたもの以外の機器に対しては、基本的にどれも個別の[[w:デバイスドライバ]]が必要になります。もちろんマザーボード上の各機器に対しても、これは例外ではありません。例えば、あるマザーボードの[[w:SATA]]コントローラに対するLinuxデバイスドライバが無い場合、このPCはSATA接続の[[w:ハードディスク]]を扱うことができません。このため、マザーボード上の各機器に対するLinuxドライバが存在することが、Linuxを実際のPC上で使うために重要になります。

残念ながらデバイス供給者のLinuxに対するサポートは、WindowsやMac OSに対するサポートほど徹底してはいません。しかし、一部のメーカはLinuxプラットフォームへの対応を進めています。ここでは、マザーボード上の各機器に対して、Linuxへの対応状況を見ていきます。

=====Linuxに対応したチップセット=====

[[w:チップセット]]は、マザーボードの中核となるパーツで<!-- あり、[[w:CPU]]、[[w:メモリ]]、及び各種IOを扱いま-->す。チップセットを供給しているメーカは数が少なく、個別の対応状況を見ていくことができます。ここでは、[[w:インテル]]、[[w:NVIDIA]]<!-- 、[[w:ATI]]-->の対応状況を見ていきます。他のメーカについては[[w:チップセット]]などを参照してください。

各社が提供するチップセットはオンボードビデオ機能(外付けの[[w:ビデオカード]]を用いる場合もある)、[[w:イーサネット]]インターフェース、サウンド機器、USB2.0対応コントローラ、[[w:SATA]]インターフェースなどの機能を提供します。

これらのチップセットを用いるLinux PCは、他の機器を使うこと無く[[w:ハードディスク]]、[[w:イーサネット]]を扱い、更にアクセラレータを用いた高速な画面描画を行うことができます。実際のところ、このようなチップセットに[[w:CPU]]、[[w:メモリ]]、[[w:SATA]]ハードディスクを組み合わせた構成は、ビジネス向けのWindows PCの構成とほとんど変わりません。このため、チップセットの機能が全て使えるなら、Linuxだけでも普段の使用に十分な機能を持つPCが作れると期待できます。

======インテルチップセット======

[[w:インテル]]のチップセットはインテル自身のCPUに対して用いられます。最近のインテルチップセットは描画機能に加えて、多くのIOを提供します。描画機能についてはオンボードのグラフィック機能のないチップセットを選び、外付けのビデオカードを使うこともできます。しかし最近のインテルオンボードグラフィック機能は、[[w:Windows Vista]]のエアロ機能も十分動かせる高性能なグラフィック機器です[http://oshiete1.goo.ne.jp/qa2673716.html]。

インテルは自社の最新のチップセット(965Gなど)のLinuxドライバを種々のフリーライセンスで提供しています(グラフィック関係のドライバ[http://www.intellinuxgraphics.org/license.html]、それ以外[http://www.intellinuxgraphics.org/related.html])。ドライバは既にkernel.orgなどが提供するソースコードに含まれているため、これらの機器をLinuxで扱うことは容易です。実際にこれらの機能を使えるかどうかは、対応するLinuxディストリビューションの文書等で調べてください。

インテルのチップセットは多くのメーカ製PCでも採用されており、これを使っているPCでは容易にLinuxが動くことが期待されます。各種のディストリビューションを試してみるとよいでしょう。

インテルチップセットは、インテルCPUに対する多くのマザーボードで使用されているため、PCを自作する場合にも選択肢は豊富です。作ったPCでLinuxを使うことも可能かもしれません。

======NVIDIAチップセット======

[[w:NVIDIA]]のチップセットは[[w:インテル]]、及び[[w:AMD]]のCPUに対して提供されます。特にAMDのCPUでは、NVIDIAのチップセットがよく用いられます。

[[w:NVIDIA]]は、自社のチップセット[[w:en:nForce]]上のビデオ機能を除く各種機器に対するドライバが、Linuxの[[w:ソースコード]]中に含まれていることを述べています[http://www.nvidia.com/object/linux_nforce_1.21.html]。このため、少なくともIOやネットワーク機器に関しては、NVIDIAのチップセットの機能を使うことは可能です。

これに加えて、NVIDIAは自社の拡張ビデオカードのLinuxドライバを提供しています[http://www.nvidia.com/object/unix.html]。ただし、このドライバは"フリーライセンス"と整合しないライセンスで提供されているので使用には若干の注意が必要です。例えば、[[w:Fedora]]などのディストリビューションは、標準でこのドライバをサポートしていません[http://fedoraproject.org/wiki/ForbiddenItems]。

いずれにしろNVIDIAのチップセットを使う場合も大抵は全ての機器をLinuxで使えるものと期待されます。実際の使用にあたってはリンク先などの対応文書をよく読んでください。

2007年3月10日 (土) 16:47時点における版

Linuxハードウェア

ここでは、家庭用w:PC上のw:Linuxで、どのようなw:ハードウェアを用いられるかについてまとめます。Linuxの説明、操作についてはUNIX/Linux入門を参照してください。また、PCの構成やその動作については高等学校情報の内容を参照してください。以下では、これらの知識を前提します。また、以降では2.6系列Linuxのソースコードを用いる記述がありますが、その場合、ソースとしてlinux-2.6.20を用いています。ここでは多くのデバイスを扱いますが、Linux上でこれらのデバイスを扱うことは、デバイス作成者の意図した使いかたではない可能性があります。実際にこれらの動作を試すとするなら、デバイスの関連文書を参照してください。

各種USBデバイス

ハードウェアの中にはコンピュータとハードウェアの通信仕様が公開されており、ハードウェアメーカが提供するw:デバイスドライバによらない機能によって、扱えるものがあります。例えば,w:USBの"クラス"の中で、"mass storage class"(マスストレージクラス)や、"Human Interface Device class"(HIDクラス)に含まれる機器はこの例です。これらの定義についてはw:USBを参照してください。

USBマスストレージクラス

USBメモリ、メモリカード

w:USBメモリや各種のw:メモリカードはUSBマスストレージクラスに属するデバイスであり、Linux上でも他のOSと変わらない程度のサポートを受けます。実際にメモリカードリーダをLinux上で用いている例としては[1]を参照してください。実際には、各種ストレージの内容をファイルとして扱うには、機器との通信方法だけでなく、機器のデータを登録するw:ファイルシステムも知っている必要があります。幸いこれらの機器は、大抵w:FAT形式のファイルシステムを採用しています。各種WindowsやMac OSだけでなく、LinuxもFAT形式を扱えるため、これらの内容をファイルとして扱うことができます。

USB接続の光学ドライブ

w:CDなどの各種w:光学ドライブも、それがUSB接続の機器であるなら、マスストレージクラスのドライバで扱える場合があります。この場合、CDのw:ファイルシステムとしてw:ISO9660が用いられる点に注意すれば、やはりマスストレージクラスのドライバでこの機器を扱うことができます。

各光学ドライブが実際にマスストレージクラスの機器であるかは、実際に接続してみるまでわかりません。これは、各デバイスのパッケージには、どのOS上で使えるかだけが記述され、どのデバイスドライバを使うかは述べられないことが多いからです。ただし、特にw:Windows上で、"汎用のドライバによって認識される"との記述がある場合には、その機器がLinux上で利用できる可能性は高まります。これは、ここでいう"汎用ドライバ"がおそらくUSBマスストレージクラスを扱うドライバだからです。逆に、"付属のCD、メーカのホームページからドライバをインストールする必要がある"などの記述があるときには、その機器は使えないものと考えた方がよいでしょう。

Linux上でファイルシステムを構築する方法として、各種mkfsコマンドを使った方法があります。mkfsコマンドについてはUNIX/Linux入門を参照してください。光学ドライブのファイルシステムを作るには、mkisofsコマンドを用います。

$mkisofs -o isoファイル名 記録するファイル、ディレクトリ

ここで、mkisofsコマンドは多くのファイルやディレクトリを1つのisoファイルにまとめます。

実際にCDを作成するには、w:en:cdrecordを使います。

$cdrecord -v dev=x,y,z isoファイル名

ここで、x,y,zは光学ドライブを示す数値です。用いられる光学ドライブは、

$cdrecord -scanbus

によって見ることができます。より詳しい説明はcdrecordのmanを参照してください。

また、w:GNOMEw:KDEの設定によっては、w:GUIを用いてCDを作成できるかもしれません。これらのGUIは中でcdrecordコマンドを使うこともあるし、そうでないこともあるかもしれません。これらのツールを使うときには、対応するGUIの説明に従ってください。

USB HIDクラス

USBのHIDクラスに属する機器には、USB接続のw:キーボードw:マウスw:ゲームパッドなどがあげられます。これらの機器は大抵特別な設定無しにLinux上で動作します。特に、Windows上の"汎用ドライバ"で動作する等の表示がある場合、これがUSBのHIDクラスのデバイスである可能性は高くなります。

これらの機器を扱うドライバは、linux-2.6.x/drivers/usb/input以下の各種ファイルです。特に、usbmouse.c, usbkbd.cの各ファイルはそれぞれUSBマウス、USBキーボードに対応しているようです。

PCと直接接続しないデバイス

汎用的なドライバを扱うデバイスに加えて、そもそもPCと関係無く動作する機器は、PCのw:OSと関係無く使うことができます。そのため、これらの機器もLinuxが動作するPCとともに用いることができます。ここではこれらの機器についてあげていきます。

また、特にネットワーク機器について、PCとというより、PCに接続されたネットワーク機器と通信を行うデバイスの場合、OSによらずデバイスが動作する可能性が高まります。

デジタルカメラ

各種メモリーカードにデータを記録するw:デジタルカメラは、PCのOSと関係無く扱える機器です。これは、カメラで写真を撮った後、メモリーカードをPCに接続し、USBマスストレージクラスの機器として扱うことができるからです。USBマスストレージクラスについては既に扱いました。このとき、メモリカード自体はそのデータがどの機器によって記録されたかを把握していません。そのため、カメラで撮ったデータもLinux PCで扱えるはずです。

ただし、カメラがデータを記録するファイル形式がw:フリーライセンスで扱えない場合には注意が必要です。静止画の場合には大抵w:JPEG形式が採用されるのでよいのですが、動画の場合w:MPEGなど特許が存在するファイル形式が用いられることがあります。この場合、そのデータをPCで扱えるかはPCの構成によります。

PCに取り込んだデータは通常の画像ファイルとして扱えます。例えばw:Gimpなどで編集するとよいでしょう。

ネットワーク機器

イーサネット

w:ルータw:ハブなどのネットワーク機器は、w:イーサネット機器と通信します。この性質のため、仮にLinuxが対応するイーサネット機器と通信できたとすれば、その機器は各種のネットワーク機器と接続できることが期待できます。 同じ理由でw:ADSLw:光ファイバーを用いてw:インターネットに接続する際、複数のPCを使うなどの理由でルータを用いて各種w:モデムと接続するときには、接続されたモデムはPCとというより、接続されたルータと通信を行います。この場合にはPCの詳細に関わらず、モデムとルータ間の通信は成立するため、Linuxでルータとの通信が行えるなら、インターネットへの接続もできるはずです。

ルータを用いない場合には、PCはルータの仕事を自力で行う必要があります。中継局との接続に関するルータの仕事は、w:PPPoEなどの各種プロトコルを扱うことです。Windows PCではこの役目をPCで肩代りすることができます。これは、Windows自体がPPPoEを扱えるからです。

  • 注意

ただし、このつなぎ方ではWindows上のネットワークサーバに外部から接続される可能性が高まります。w:ファイアウォールなどを参照してください。

LinuxでもPPPoEを扱えるので、ルータ無しでの接続が可能です。ただし、この場合OSによらずただ1台のPCしかw:インターネットと接続できないため複数のPCを使うときにはルータを用いる方がよいでしょう。

Linux上でPPPoEを扱うには、RP-PPPoE(Roaring Penguin)などのソフトウェアが必要です。w:en:PPPoEも参照してください。RP-PPPoEではおおよそ

#adsl-setup
#adsl-start
#adsl-stop

などの各種コマンドを扱うことになります。w:GNOMEw:KDEの設定次第でこれらが簡単に設定できるかも知れません。

ただし、これらの操作はw:プロバイダによって保証された動作ではないかもしれません。それらについては関連する文書を参照してください。

無線LAN

イーサネットの場合と同様に、w:無線LANクライアントとLinuxが通信できるという条件付きなら、無線LANアクセスポイントと無線LANクライアントが通信できることも期待されます。

Linux対応自作PC

ここまでは、w:USB接続の機器やネットワーク機器など、既に完成しているPCから接続できる機器について触れました。ここからは、まだPCの構成が決まっていない場合に、w:Windowsw:Linuxの両方が動く構成にするための機器の選びかたについてまとめます。

ここからの話題ではある程度w:自作パソコンの知識を仮定します。例えば、w:チップセットw:ビデオボードなどについて把握している必要があります。

Linuxに対応したマザーボード

既にあげたもの以外の機器に対しては、基本的にどれも個別のw:デバイスドライバが必要になります。もちろんマザーボード上の各機器に対しても、これは例外ではありません。例えば、あるマザーボードのw:SATAコントローラに対するLinuxデバイスドライバが無い場合、このPCはSATA接続のw:ハードディスクを扱うことができません。このため、マザーボード上の各機器に対するLinuxドライバが存在することが、Linuxを実際のPC上で使うために重要になります。

残念ながらデバイス供給者のLinuxに対するサポートは、WindowsやMac OSに対するサポートほど徹底してはいません。しかし、一部のメーカはLinuxプラットフォームへの対応を進めています。ここでは、マザーボード上の各機器に対して、Linuxへの対応状況を見ていきます。

Linuxに対応したチップセット

w:チップセットは、マザーボードの中核となるパーツです。チップセットを供給しているメーカは数が少なく、個別の対応状況を見ていくことができます。ここでは、w:インテルw:NVIDIAの対応状況を見ていきます。他のメーカについてはw:チップセットなどを参照してください。

各社が提供するチップセットはオンボードビデオ機能(外付けのw:ビデオカードを用いる場合もある)、w:イーサネットインターフェース、サウンド機器、USB2.0対応コントローラ、w:SATAインターフェースなどの機能を提供します。

これらのチップセットを用いるLinux PCは、他の機器を使うこと無くw:ハードディスクw:イーサネットを扱い、更にアクセラレータを用いた高速な画面描画を行うことができます。実際のところ、このようなチップセットにw:CPUw:メモリw:SATAハードディスクを組み合わせた構成は、ビジネス向けのWindows PCの構成とほとんど変わりません。このため、チップセットの機能が全て使えるなら、Linuxだけでも普段の使用に十分な機能を持つPCが作れると期待できます。

インテルチップセット

w:インテルのチップセットはインテル自身のCPUに対して用いられます。最近のインテルチップセットは描画機能に加えて、多くのIOを提供します。描画機能についてはオンボードのグラフィック機能のないチップセットを選び、外付けのビデオカードを使うこともできます。しかし最近のインテルオンボードグラフィック機能は、w:Windows Vistaのエアロ機能も十分動かせる高性能なグラフィック機器です[2]

インテルは自社の最新のチップセット(965Gなど)のLinuxドライバを種々のフリーライセンスで提供しています(グラフィック関係のドライバ[3]、それ以外[4])。ドライバは既にkernel.orgなどが提供するソースコードに含まれているため、これらの機器をLinuxで扱うことは容易です。実際にこれらの機能を使えるかどうかは、対応するLinuxディストリビューションの文書等で調べてください。

インテルのチップセットは多くのメーカ製PCでも採用されており、これを使っているPCでは容易にLinuxが動くことが期待されます。各種のディストリビューションを試してみるとよいでしょう。

インテルチップセットは、インテルCPUに対する多くのマザーボードで使用されているため、PCを自作する場合にも選択肢は豊富です。作ったPCでLinuxを使うことも可能かもしれません。

NVIDIAチップセット

w:NVIDIAのチップセットはw:インテル、及びw:AMDのCPUに対して提供されます。特にAMDのCPUでは、NVIDIAのチップセットがよく用いられます。

w:NVIDIAは、自社のチップセットw:en:nForce上のビデオ機能を除く各種機器に対するドライバが、Linuxのw:ソースコード中に含まれていることを述べています[5]。このため、少なくともIOやネットワーク機器に関しては、NVIDIAのチップセットの機能を使うことは可能です。

これに加えて、NVIDIAは自社の拡張ビデオカードのLinuxドライバを提供しています[6]。ただし、このドライバは"フリーライセンス"と整合しないライセンスで提供されているので使用には若干の注意が必要です。例えば、w:Fedoraなどのディストリビューションは、標準でこのドライバをサポートしていません[7]

いずれにしろNVIDIAのチップセットを使う場合も大抵は全ての機器をLinuxで使えるものと期待されます。実際の使用にあたってはリンク先などの対応文書をよく読んでください。