<!doctype linuxdoctr system>
<!-- $Id: MIPS-HOWTO.sgml,v 1.2 2002/03/16 07:24:18 nakano Exp $ -->

<article>

<title>Linux/MIPS HOWTO
<author>Ralf B&auml;chle, <tt/ralf@gnu.org/
<date>January 9, 2002
<trans>訳: Seiji Kaneko <tt/skaneko@a2.mbn.or.jp/ </trans>
<tdate>January 27, 2002
<abstract><!--
This FAQ describes the MIPS port of the Linux operating system, common
problems and their solutions, availability and more.  It also tries to
be helpful to other people who might read this FAQ in an attempt to
find information that actually should be covered elsewhere.-->
  この FAQ は Linux オペレーティングシステムの MIPS
  への移植版について、よく出会う問題とその解決、関連情報やソフトウェアの入手のしかたなどについてまとめたものです。
  また、この FAQ
  では、実際はここ以外の場所で記載されているような情報を入手するためにこの
  FAQ を見ている方の助けともなるようつとめています。
</abstract>
<toc>
<sect>Copyright<P>
 Copyright (c) 1998,1999,2000,2001,2002 Ralf B&auml;chle.
</P>
 <P>
 Permission is granted to copy, distribute and/or modify this document under
 the terms of the GNU Free Documentation License, Version 1.1 or any later
 version published by the Free Software Foundation; with the Invariant Sections
 being Copyright, with no Front-Cover Texts and with no Back-Cover Texts.
 <P>
 A copy of the GNU Free Documentation License is available on the World Wide
 Web at <url url="http://www.gnu.org/copyleft/fdl.html"> You can also obtain
 it by writing to the
 <verb>
  Free Software Foundation, Inc.
  59 Temple Place - Suite 330
  Boston, MA 02111-1307
  USA
 </verb>
 <p>翻訳部の編集著作権</p>
 <p>Translation Copyright &copy; 2001 Seiji Kaneko</p>
 <p>翻訳配布条件は、原著作物の配布条件と同じとします。

<sect>What is Linux/MIPS?<P><!--
 Linux/MIPS is a port of the widespread UNIX clone Linux to the MIPS
 architecture.  Linux/MIPS is running on a large number of technically very
 different systems ranging from small embedded systems and servers to large
 desktop machines and servers that, at least at the time when they were
 introduced into the market, were the best of their class.-->
 Linux/MIPS とは、広く知られた Unix 互換 OS である Linux を MIPS
 アーキテクチャに移植したものです。
 Linux/MIPS は技術的には大きく異なった、
 小さな組込用システムやサーバから大きなデスクトップマシンやサーバ
 (これらは少なくとも市場にでた時点ではその種のシステムとしては最良のものでした)
 までの多数のシステムで稼働しています。</p>

<p>
 <!-- Linux/MIPS advantages over other operating systems at this time are
 -->
 現時点での Linux/MIPS が他のオペレーティングシステムに勝る点としては
<itemize>
<!--
 <ITEM>The entire Linux system consists only of Free Software.
 <ITEM>Excellent Price/Performance ratio.
 <ITEM>Availability of large amounts of software of which a large part
       again is Free Software.
 <ITEM>Binary compatibility across a growing number of platforms.
 <ITEM>Small footprint making Linux/MIPS suitable for many embedded systems.
-->
 <item>Linux システム全体がフリーソフトウェアのみからなること。
 <item>価格/性能比に優れていること。
 <item>多数のソフトウェアが使え、そしてその多くがまたフリーソフトウェアであること。
 <item>増え続けている動作プラットホーム間で、バイナリ互換性があること。

 <item>サイズが小さいため、Linux/MIPS は多くの組込用システムにぴったりであること。

 </itemize>

<!--
 In short, Linux has been designed and ships with Fahrvergn&uuml;gen.
 However, as usual your mileage may vary and you should examine the
 suitability of Linux for your task - something which we hope this document
 helps you to accomplish.-->
 つめて言えば、Linux は楽しい旅を提供すべく設計され、リリースされています。
 もちろん、行き着ける先は人によって違うでしょうし、自分の仕事に Linux
 が向いているのかを調べる必要もあるでしょう。
 このあたりをこの文書で支援して行きたいと考えています。
 <P>

<sect><!--Getting this FAQ-->この FAQ の入手先<P><!--
 You can download this document in various formats:

 -->
 この文書は様々なフォーマットでダウンロード可能です。
<itemize>
 <item><!--The HTML version--> HTML 版
       <url url="http://oss.sgi.com/mips/mips-howto.html">
 <item><!-- The text version--> テキスト版
       <url url="http://oss.sgi.com/mips/mips-howto.txt">
 <item><!-- The Postscript version--> PostScript 版
       <url url="http://oss.sgi.com/mips/mips-howto.ps">
 <item><!-- The Linux-Doc SGML version.--> Linux-Doc SGML 形式版
       <url url="http://oss.sgi.com/mips/mips-howto.sgml">
 </itemize><!--

 This FAQ is also available as SGML source code via anonymous CVS from
 oss.sgi.com.  The archive also has a Makefile which will translate it into
  various formats.  An ASCII version is regularly being posted via
 <em>comp.os.linux.answers</em> and the other Linux HOWTO channels.-->
 この FAQ は SGML ソースコードとして oss.sgi.com から anonymous CVS
 で得ることもできます。アーカイブ中には入手した SGML
 文書を様々な形式に変換するための Makefile を同梱しています。
 ASCII 版は定期的に <em>comp.os.linux.answers</em>
 ニュースグループや様々な Linux 情報ソースに投稿されています。

<!-- Updates for this document should be sent as unified diffs against the
 SGML version to <htmlurl url="mailto:ralf@gnu.org"
 name="Ralf B&auml;chle (ralf@gnu.org)">.  Please don't updates in any
 other form as that will make maintenance significantly more difficult.-->
 この文書の変更は、SGML 版に関する unified diff として
 <htmlurl url="mailto:ralf@gnu.org" name="Ralf B&auml;chle (ralf@gnu.org)">
 へ送ってください。他の形では送らないでください。メンテナンスが大変になりますので。

<!--<sect>Linux/MIPS net resources.<P>-->
<sect>Linux/MIPS のネット上のリソース<P>
 <sect1>Anonymous FTP サーバ<P>
 <!--<sect1>Anonymous FTP servers.<P>
 The primary anonymous FTP servers for Linux/MIPS are-->
 Linux/MIPS で主となる二つの匿名 ftp サーバは次のものです。
 <descrip>
  <tag><url url="ftp://oss.sgi.com"><P><!--
    This server should satisfy almost all of your Linux/MIPS related ftp
    desires.  Really.<P>-->
    このサーバは Linux/MIPS に関する ftp のほとんどすべての要求を満たします。本当に。<p>
  <tag><url url="ftp://ftp.mips.com/pub/linux"><P><!--
   This is the server of MIPS, Inc. itself.  Among other things it offers a
   recent Redhat-based distribution and a support area for MIPS' evaluation
   boards.-->
   これは MIPS, Inc 社のサーバです。他のものに加え、ここには最近の RedHat
   ベースのディストリビューションと、MIPS チップのエバリュエーションボードのサポート関連のものがあります。
 </descrip>
 <P><!--

 Another source for little endian MIPS binaries is
 <htmlurl url="ftp://intel.cleveland.lug.net/pub/Mipsel"
 name="ftp://intel.cleveland.lug.net/pub/Mipsel">, which carries mostly newer
 versions of binaries for the RedHat flavour shipping with the Cobalts.<P>-->
 リトルエンディアン機種向けの MIPS バイナリのもうひとつの提供元は、
 <htmlurl url="ftp://intel.cleveland.lug.net/pub/Mipsel"
 name="ftp://intel.cleveland.lug.net/pub/Mipsel">
 で、これは主に Cobalt Qube と共に出荷された RedHat
 の、より新しい版のバイナリが置かれています。


 <sect1><!-- Anonymous CVS servers.-->匿名 CVS サーバ<P><!--
 For those who always want to stay on the bleeding edge, and want to avoid
 having to download patch files or full tarballs, we also have an anonymous
 CVS server.  Using CVS, you can checkout the Linux/MIPS source tree with
 the following commands:<P>-->
  最先端に身を置きたいが、パッチファイルやまるごとの tar
 ファイルをダウンロードするのは避けたい方のために、匿名 CVS
 サーバを用意しています。
 CVS を使えば、次のコマンドで Linux/MIPS
 のソースツリーをダウンロードすることができます。<p>
<!--
 <verb>
   cvs -d :pserver:cvs@oss.sgi.com:/cvs login
   (Only needed the first time you use anonymous CVS, the password is "cvs")
   cvs -d :pserver:cvs@oss.sgi.com:/cvs co <repository>
 </verb>
-->
 <verb>
   cvs -d :pserver:cvs@oss.sgi.com:/cvs login
   (anonymous CVS を使う最初の一回のみ必要です。パスワードは "cvs" です)
   cvs -d :pserver:cvs@oss.sgi.com:/cvs co <repository>
 </verb><!--
 where you insert linux, libc, gdb or faq for &lt;repository>.

 The other important CVS archive of the Linux community is vger.kernel.org,
 where a lot of code is being collected before being sent to Linus for
 distribution.  Although vger itself no longer offers anonymous access, there
 are mirror sites which do provide anonymous access.  For details on how to access
 them, see <url url="http://cvs.on.openprojects.net/">.  The modules which are
 of interest are: ``linux'', ``modutils'', ``pciutils'', and ``netutils''.-->
 linux、libc、gdb、faq のどれかを &lt;repository&gt; の箇所に指定してください。

 Linux コミュニティのもう一つの重要な CVS アーカイブは vger.kernel.org
 で、ここには配布のため Linus に送られる前の大量のコードが集められています。
 vger 自体はもう匿名アクセスを受け付けないようになりましたが、
 匿名アクセスを提供しているミラーサイトがいくつかあります。
 それらへのアクセス方法については <url url="http://cvs.on.openprojects.net/">
 をご覧ください。
 興味の対象となるモジュールは、&ldquo;linux&rdquo;、&ldquo;modutils&rdquo;、
 &ldquo;pciutils&rdquo;、&ldquo;netutils&rdquo; でしょう。

  <sect1><!-- Web servers.-->ウェブサーバ<p><!--
 This is an incomplete list of Linux/MIPS related web servers.-->
 以下は Linux/MIPS 関連のウェブサーバの不完全なリストです。
 <descrip>
  <tag><url url="http://oss.sgi.com/mips"><P><!--
   This server covers most of Linux/MIPS.  If you need something chances are
   it's already there.-->
   このサーバは Linux/MIPS 関連の殆どを網羅しています。
   何かが必要になったら、ここを見れば大概は既にあるでしょう。
  <tag><url url="http://www.mips.com/devTools/devArea/Linux.html"><P><!--
   This sites has MIPS own version of Linux/MIPS based distributions and tools
   for their processors and evaluation boards.-->
   このサイトには MIPS 社の版の Linux/MIPS ベースのディストリビューションと、
   MIPS 社のプロセッサとエバリュエーションボードのためのツールがあります。
  <tag><url url="http://www.ps2linux.com"><P><!--
   This is Sony's Linux/MIPS server for the Playstation&nbsp;2.-->
   これは、Sony の Playstation&nbsp;2 向けの Linux/MIPS サーバです。
 </descrip>

 <sect1><!-- Web CVS server.-->Web CVS サーバ<P><!--
  Via <url url="http://oss.sgi.com/mips/cvsweb">, you have
  direct access to the new Linux/MIPS kernel sources, and a few other projects
  hosted in the same CVS archive.  The intuitive interface allows you to
  follow the development at the click of your mouse.-->
  <url url="http://oss.sgi.com/mips/cvsweb"> から最新の Linux/MIPS
  のカーネルソースや、それ以外のこの CVS
  アーカイブでホストされているいくつかのプロジェクトに直接アクセスできます。
  直感的なインターフェースで、マウスをクリックするだけで最新の開発状況についていくことができます。

 <sect1><!--Mailing lists.-->メーリングリスト<p><!--
 There are two Linux/MIPS-oriented mailing lists:-->
 Linux/MIPS に特化した二つのメーリングリストがあります。
 <descrip>
  <tag><htmlurl url="mailto:linux-mips@oss.sgi.com"
   name="linux-mips@oss.sgi.com"><P><!-- This mailing list currently has the most
   traffic.  It's somewhat SGI-centric but is nevertheless of interest
   especially to developers as a good number of SGI engineers are subscribed
   to this list.  Subscription to this list is handled via
   <htmlurl url="mailto:majordomo@oss.sgi.com"
   name="Majordomo (majordomo@oss.sgi.com)">, just send an email with the
   words <em>subscribe linux-mips</em>.  In order to unsubscribe, send
   <em>unsubscribe linux-mips</em>.  For more, information see also
   <url url="http://oss.sgi.com/mips/mail.html">.-->
   このメーリングリストが、現在最大のメール流量を持ちます。
   これは多少 SGI よりのところがありますが、かなりの数の SGI
   の技術者が参加しており、開発者にとっては特に興味深いリストです。
   メーリングリストへの参加はアドレス
   <htmlurl url="mailto:majordomo@oss.sgi.com"
   name="Majordomo (majordomo@oss.sgi.com)">
   に、<em>subscribe linux-mips</em> の語を含めて電子メールを送ってください。
   脱退するには <em>unsubscribe linux-mips</em> と送ってください。
   もっと詳しい情報については、<url url="http://oss.sgi.com/mips/email.html">
   を参照ください。

  <tag>linux-cvs<P><!-- This is an announcement only mailing list to which a
   message for every CVS commit into oss.sgi.com, the central CVS archive of
   the Linux/MIPS community is being sent.  This allows following the
   development as it happens.  Subscription to this list is handled via
   <htmlurl url="mailto:majordomo@oss.sgi.com"
   name="Majordomo (linux-cvs@oss.sgi.com)">, just send an email with the
   words <em>subscribe linux-cvs</em>.  In order to unsubscribe, send
   <em>unsubscribe linux-cvs</em>.-->
   これは、Linux/MIPS コミュニティの中心的 CVS アーカイブである oss.sgi.com に
   CVS コミットがされる度に、アナウンスメッセージが投稿されるためだけの目的のメーリングリストです。
   メーリングリストへの参加はアドレス
   <htmlurl url="mailto:majordomo@oss.sgi.com"
   name="Majordomo (majordomo@oss.sgi.com)">
   に、<em>subscribe linux-cvs</em> と書いて電子メールを送ってください。
   脱退するには <em>unsubscribe linux-cvs</em> と送ってください。
  </descrip>

 <sect1><!--IRC channel.-->IRC チャネル<p><!--
  There is an IRC channel named #mipslinux for Linux/MIPS which may be found on
  irc.openprojects.net.-->
  irc.openprojects.net に Linux/MIPS 用の #mipslinux という名の IRC
  チャネルが用意されています。

<sect><!--Linux distributions.-->Linux ディストリビューション<P>
 <sect1>RedHat<P><!--
  For MIPSeb, there's Rough Cuts Linux, previously known as Hard Hat Linux,
  which is most of RedHat Linux 5.1 ported for MIPSeb.  You can get this at
  <url url="ftp://oss.sgi.com/pub/linux/mips/redhat">.<P>-->
  MIPSeb (ビッグエンディアン MIPS) 向けには、Rough Cuts Linux (以前 Hard Hat
  Linux と呼ばれていたもの) があります。これは RedHat Linux 5.1 のほとんどを
  MIPSeb に移植したものです。これは
  <url url="ftp://oss.sgi.com/pub/linux/mips/redhat"> から入手できます。

  <!--
  It is bundled along with M68k, UltraSparc, and PowerPC in a package called
  "Rough Cuts" pressed by RedHat, and available wherever RedHat products are
  sold.  This is a very convenient way to get it without having to download
  280MB.  Redhat is no longer offering this product but if you're lucky you
  may still find the CD in some shops or somewhere on the net.-->
  これは M68k、UltraSparc、PowerPC 向けとあわせ、"Rough Cuts" という名前の
  RedHat 社のパッケージとして販売されていたため、RedHat
  の製品を売っているところで入手できました。
  これは 280MB のダウンロードを行わず手に入れるには一番簡単な方法です。
  RedHat はもうこの製品を作っていませんが、
  運が良ければどこかの店かネットのどこかでこの CD が見つけられるでしょう。<p>

  <!--A distribution based on Red Hat 5.2 that's targeting the Cobalt Qubes.
  Those binaries will work perfectly on other MIPSel architectures and are
  available at <url url="ftp://intel.cleveland.lug.net/pub/Mipsel">.
  <url url="ftp://bolug.uni-bonn.de/mips"> has various rpm packages from
  Redhat&nbsp;6.0, 6.1 and 6.2.-->
  Cobalt Qube を対象にした RedHat 5.2 のディストリビューションがあります。
  バイナリは MIPSel (リトルエンディアン MIPS)
  アーキテクチャの他のマシンでも完璧に走り、
  <url url="ftp://intel.cleveland.lug.net/pub/Mipsel"> から入手できます。
  <url url="ftp://bolug.uni-bonn.de/mips"> に Redhat&nbsp;6.0, 6.1 や 6.2
  からのいろいろな rpm パッケージがあります。

 <sect1>Debian<P><!--
  A Debian port is underway.  Current efforts are being bootstrapped using
  SGI/Linux as a base, and dpkg compiles natively with few changes.  In
  addition to the SGI version, some interest has been shown in little endian
  platforms.  Keep an eye on the Debian-MIPS Port page,
  <url url="http://www.debian.org/ports/mips/"> for developments.-->

  Debian への移植はまだ作業中です。現時点では SGI/Linux
  を元にして立ち上げようとしており、dpkg
  はほとんど変更なしにマシン上でセルフコンパイルできています。
  SGI 版以外に、リトルエンディアン機種への移植の関心も表明されています。
  開発状況は Debian-MIPS 移植のページ
  <url url="http://www.debian.org/ports/mips/"> に注目していてください。
  <P>
  【訳注:ここに書いてあるよりかなり進んでいます。現時点では DEC Station で
  リトルエンディアンポートが動作中。】

 <sect1>Simple<P><!--
  This distribution is for big-endian systems only so far. It's highly
  experimental, intended for developers' use in testing the latest versions
  of gcc, binutils, glibc, and the kernel. This is the only glibc 2.2-based
  distribution available for MIPS. You can always get the latest version of
  this distribution and accompanying release notes at <url
  url="ftp://oss.sgi.com/pub/linux/mips/mips-linux/simple">. Also available
  is a cross-compiler system to aid in development.-->
  このディストリビューションはいまのところビッグエンディアンシステム向けです。
  これは高度に実験的なもので、最新の gcc、binutils、glibc
  とカーネルを試したいユーザのためのものです。これは MIPS 用としては、
  唯一となる glibc 2.2 を用いたディストリビューションです。
  最新のバージョンと付属のリリースノートは
  <url url="ftp://oss.sgi.com/pub/linux/mips/mips-linux/simple">
  から得られます。
  また開発の助けのためのクロスコンパイラシステムも提供されています。

 <sect1>Algorithmics <!--toolchain-->ツールチェイン <P>
 <label id="algorithmics-gcc"><!--
  Not a complete distribution, just a Linux toolchain.  But it's a toolchain
  built and maintained for MIPS with commercial support available, and free
  snapshots.<P>-->
  完全なディストリビューションではなく、単なる Linux ツールチェインです。
  但し、これには
  MIPS 向けの商用サポートがあり、無償のスナップショットが提供されています。<p>
  <!-- Toolchain: A collection of tools used to develop for a particular
  hardware target, or to work with a particular data format (Jargoogle)
  だそうです。-->
  <!--
  Algorithmics specialise in MIPS support and maintain our own source tree for
  the toolchain components.  They resynchronise infrequently with mainstream
  GNU releases (which inevitably have bugs for minor architectures such as MIPS)
  and focus on providing the most reliable, best-performing compiler for the
  largest range of MIPS CPUs.<P>-->
  Algorithmics 社は MIPS のサポートが専門で、開発環境の個々のツールについて独自のソースツリーを維持しています。
  時々、オリジナルの GNU リリース (そのままでは MIPS
  のようにマイナーアーキテクチャではバグが避けがたいため)
  との同期も取られており、最も幅広い範囲の MIPS CPU
  に対して、最も信頼性が高く、最高の性能を叩き出すコンパイラを提供することに注力しています。<P>
  <!--
  This is the same compiler which is at the heart of our SDE-MIPS embedded
  toolkit, and is fully supported for Linux kernel and application building
  from <url url="http://www.algor.co.uk/algor/info/sde5.html">v5.0, out in
  January 2002.<P>-->
  これは私たちの SDE-MIPS
  組み込みツールキットの中心となるコンパイラと同じもので、2002 年一月出荷の
  Linux カーネルとアプリケーション開発の両方に対して
  <url url="http://www.algor.co.uk/algor/info/sde5.html"> v5.0
  から完全サポートされています。

<sect><!--What hardware does Linux/MIPS support?-->Linux/MIPS がサポートするハードウェア
 <sect1><!--Hardware Platforms-->ハードウェアプラットフォーム<p>
 <label id="hardware-platforms">
 <P><!--
  Many machines are available with a number of different CPU options of which
  not all are currently supported.  Please check section
  <ref id="supported-cpus" name="Processor Types"> to make sure your CPU type
  is supported.  This is a listing of machines that are running
  Linux/MIPS, systems to which Linux/MIPS could be ported, or systems that
  people have an interest in running Linux/MIPS.  Also this list is no
  longer exhaustive.  Third party vendors have started to ship
  Linux/MIPS-derived hard and software products.-->
  多くのマシンがあり、また一部のマシンは幾つかの異なったプロセッサオプションを持っていますが、
  その全部がサポートされているわけではありません。
  <ref id="supported-cpus" name="プロセッサタイプ"> の項を参照してあなたの
  プロセッサがサポートされているか確認してください。下記は Linux/MIPS
  が走っているマシン、Linux/MIPS が移植できそうなシステム、そして
  Linux/MIPS を走らせることに興味を持っている人たちのいるシステムの一覧です。
  また、このリストはもう網羅的なものではありません。
  それは、サードパーティベンダが
  Linux/MIPS ベースのハードウェアやソフトウェアの出荷を始めているからです。

  <sect2>Acer PICA<P><!--
  The <em>Acer PICA</em> is derived from the <em>Mips Magnum 4000</em> design.
  It has a R4400PC CPU running at 133MHz or optionally 150MHz plus a 512KB
  (optionally 2MB) second level cache; the Magnum's G364 gfx card was replaced
  with a S3 968 based one.  The system is supported with the exception of the
  X server.-->
  <em>Acer PICA</em> は <em>Mips Magnum 4000</em> の設計を引き継いでいます。
  これは 133MHz 動作の R4400PC CPU か、機種によっては
  150MHz 動作で 512KB (オプションで 2MB のものもあります)
  の二次キャッシュ付きの R4400PC CPU が搭載されており、昔の Magnum の G364 gfx
  カードの代わりに S3 968 チップを使ったカードが使われています。
  このシステムは X サーバ以外はサポートされています。

  <sect2><!--Baget/MIPS series-->Baget/MIPS シリーズ<p><!--
  The Baget series includes several boxes which have R3000 processors: Baget
  23, Baget 63, and Baget 83.  Baget 23 and 63 have BT23-201 or BT23-202
  motherboards with R3500A (which is basically a R3000A chip) at 25 MHz and
  R3081E at 50 MHz respectively.  The BT23-201 board has VME bus and VIC068,
  VAC068 chips as system controllers.  The BT23-202 board has PCI as internal
  bus and VME as internal.
  Support for BT23-201 board has been done by <htmlurl
  url="mailto:rajko@mech.math.msu.su"
  name="Gleb Raiko (rajko@mech.math.msu.su)"> and
  <htmlurl url="mailto:vroganov@msiu.ru"
  name="Vladimir Roganov (vroganov@msiu.ru)">
  with a bit of help from <htmlurl url="mailto:zimin@msiu.ru"
  name="Serguei Zimin (zimin@msiu.ru)">.  Support for BT23-202 is under
  development along with Baget 23B which consists of 3 BT23-201 boards
  with shared VME bus.<P>-->
  Baget シリーズは R3000 プロセッサを使った次の 3 機種からなります：
  Baget 23, Baget 63, and Baget 83 です。Baget 23 と 63 は 25MHz の R3500A
  (基本的には R3000A チップです 【訳注: IDT 社。R3000A と浮動小数点コプロセッサ
  R3010A を集積したもの】) を使った BT23-201 か 50MHz の R3081E を使った
  BT23-202 マザーボードを使っています。BT23-202 は VME バスと VIC068
  システムコントローラチップを使っています。BT23-202 ボードは内部バスに
  PCI を使い、内部に VME バスを持っています。
  BT23-201 ボードのサポートは <htmlurl url="mailto:rajko@mech.math.msu.su"
  name="Gleb Raiko (rajko@mech.math.msu.su)"> さんと、
  <htmlurl url="mailto:vroganov@msiu.ru"
  name="Vladimir Roganov (vroganov@msiu.ru)"> さんによって行われました。また
  <htmlurl url="mailto:zimin@msiu.ru"
  name="Serguei Zimin (zimin@msiu.ru)"> さんの助力がありました。
  BT23-202、および 3 枚の BT23-201 ボードを共有 VME バスで接続した Baget
  23B のサポートは開発中です。<p>

  <!--Baget 83 is mentioned here for completeness only. It has only 2MB RAM and
  it's too small to run Linux.  The Baget/MIPS code has been merged with the
  DECstation port. The source for both is available at
  <url url="http://decstation.unix-ag.org/">.-->
  Baget 83 はリストを完全にするためだけの目的でふれています。これは 2MB の RAM
  しか積んでおらず、Linux を走らせるにはこれでは小さすぎます。
  Baget/MIPS のコードは DECstation 移植向けのコードにマージされています。
  両方に向けたソースコードは
  <url url="http://decstation.unix-ag.org/"> から入手できます。

  <sect2><!--Cobalt Qube and Raq-->Cobalt Qube と Raq<p><!--
  The Cobalt&nbsp;Qube product series are low cost headless server systems
  based on a IDT&nbsp;R5230.  Cobalt has developed its own Linux/MIPS
  variant to fit the special requirements of the Qube as well as possible.
  Basically, the Qube kernel was derived from Linux/MIPS 2.1.56,
  backported to 2.0.30 for stability's sake, then optimized.  Cobalt kernels
  are available from Cobalt's ftp site <url url="http://www.cobaltnet.com">.
  The Cobalt Qube support has never been integrated into the official
  Linux/MIPS 2.1.x kernels.-->
  Cobalt 社の Cobalt&nbsp;Qube 製品シリーズは、QED
  社 (現 PMC Sierra 社)&nbsp;RM5230
  を使ったディスプレイレスのローコストサーバシステムです。
  Cobalt 社は、可能な限り Qube の固有の目的にあうようにした Linux/MIPS
  の特別な版を自社で開発しています。基本的には、Qube 用のカーネルは Linux/MIPS
  の 2.1.56 を元にして、安定性のために 2.0.30
  にバックポートし、最適化したものです。Cobalt 社のカーネルは公式の
  Linux/MIPS 2.1.x カーネルに統合されたことはありません。
  <P>
  【訳注：Qube 1,2 は MIPS, Qube 3 は MIPS ではなく i386 サーバです。QED 社は
  PMC Sierra 社に買収され、すでに QED という名称を使っていません。】

  <sect2><!--NEC machines-->NEC の機種<p><!--
  The NEC uniprocessor machines are OEM <em>Acer PICA</em> systems, see
  that section for details.  The SMP systems are different from that.  The
  Linux/MIPS developers have no technical documentation as necessary to write
  an OS.  As long as that does not change, this will pretty much stay a show-
  stopper, preventing a port to NEC's SMP systems.-->
  NEC のシングルプロセッサの機種は <em>Acer PICA</em> システムの OEM
  ですので、該当の項を参照ください。マルチプロセッサシステムは別物です。
  Linux/MIPS の開発者達は OS を開発するに必要な技術情報を持っていません。
  進展が無い限り、この点が NEC のマルチプロセッサシステム
  への移植を阻む主要因であり続けるでしょう。

  <sect2><!--NEC VR41xx-based platforms-->NEC の VR41xx 系を使った機種<p>
  <!--The Linux VR project is porting Linux to devices based on the NEC VR41xx
  microprocessors.  Many of these devices were originally designed to run
  Windows&nbsp;CE.  The project has produced working kernels with basic drivers
  for the Vadem Clio, Casio E-105, Everex Freestyle, and more.  For more
  information please see <url url="http://linux-vr.org/">.
  -->
  Linux VR プロジェクトでは NEC 社 VR41xx マイクロプロセッサを使った機器への
  Linux の移植を行っています。これらの機種の多くはもともと Windows&nbsp;CE
  を動かすためのものです。現在基本的なドライバを備えた動作するカーネルが
  Vadem 社の Clio、Casio 社の E-105、Everex 社の Freestyle 他の機種向けに
  同プロジェクトで作成されています。更に詳しい情報は
  <url url="http://linux-vr.org/"> を参照ください。

  <sect2><!--Toshiba TMPR39xx/Philips PR31700 platforms-->東芝 TMPR39xx/Philips PR31700 プラットフォーム<p>
  <!-- Similar to the VR41xx, devices with these processors were originally
  intended for running Windows&nbsp;CE. However, there are working kernels
  with basic drivers for <em>Sharp Mobilon</em> and the
  <em>Compaq C-Series</em>. Support for more devices
  is under construction. The code is part of the Linux VR project and as such
  more information can be found at <url url="http://linux-vr.org/">.
  -->
  VR41xx と同様、これらのプロセッサを使った機器はもともと Windows&nbsp;CE
  を動かすためのものです。但し、<em>Sharp Mobilon</em> と
  <em>Compaq C-Series</em>
  には基本的ドライバを含んだ、動作するカーネルがあります。
  その他の機種については開発中です。コードは Linux VR プロジェクトの一部で、
  このためより詳しい情報は <url url="http://linux-vr.org/"> にあります。

  <sect2>Netpower 100<p>
  <!-- The <em>Netpower 100</em> is apparently an <em>Acer PICA</em> in
  disguise. It should therefore be supported but this is untested.  If there
  is a problem then it is probably the machine detection.
  -->
  <em>Netpower 100</em> は明らかに <em>Acer PICA</em>
  の外側のみ変えたものです。
  従ってサポートされているはずですが、テストはされていません。
  もし問題があるとするなら、マシン判定の関連でしょう。

  <sect2>Nintendo 64<p>
  <!-- The <em>Nintendo 64</em> is R4300-based game console with 4MB RAM.  Its
  graphics chips were developed by Silicon Graphics for Nintendo.  Right now
  this port has pipe dream status and will continue to be in that state until
  Nintendo decides to publish the necessary technical information.  The
  question remains as to whether porting the Linux/MIPS code to this platform
  is a good idea.
  -->
  <em>Nintendo 64</em> は 4MB の RAM を持つ R4300 ベースのゲーム機です。
  グラフィックチップは任天堂向けに Silicon Graphic 社で開発されました。
  このマシンへのポートは現在「できたらいいな」程度の状態であり、
  任天堂が必要な技術情報の公開を決定するまではその状態のままでしょう。
  もっともこの機種に Linux/MIPS
  のコードを移植するのが良い考えなのかどうかも問題ではありますが。

  <sect2>Silicon Graphics Challenge S<p>
  <!--This machine is very similar to the Indy, the differences are that it
  doesn't have a keyboard or graphics card, but has an additional SCSI
  WD33C95-based adapter. This WD33C95 hostadapter is currently not supported.
  -->
  このマシンは Indy によく似ています。
  違いはこのマシンにはキーボードとグラフィックカードがないこと、その代わりに
  WD33C95 チップを使った SCSI アダプタが追加されていることです。
  この WD33C95 アダプタは現時点ではサポートされていません。

  <sect2>Silicon Graphics Indigo<p><!--
  This machine is only being mentioned here because people have occasionally
  confused it with Indys or the Indigo&nbsp;2.  The Indigo is a different
  R3000-based architecture however, and is yet unsupported.
  -->
  このマシンをここで言及しているのは、Indy や Indigo&nbsp;2
  と良く混同されるためです。
  Indigo は R3000
  を使った別のアーキテクチャの機種で、まだサポートされていません。

  <sect2>Silicon Graphics Indigo2<P><!--
  This machine is the successor to the Indigo and is very similar to the Indy.
  It is now supported, but is lacking in several areas. You will have
  to use serial console. If you have an Indigo2 and still want to run Linux on
  it, contact either <htmlurl url="mailto:flo@rfc822.org"
  name="Florian Lohoff (flo@rfc822.org)"> or <htmlurl
  url="mailto:spock@mgnet.de" name="Klaus Naumann (spock@mgnet.de)"> .-->
  このマシンは Indigo の後継機種で、Indy ととてもよく似ています。
  この機種は現在サポートされていますが、かなりの機能が欠けています。
  また、シリアルコンソールを使わなければいけません。Indigo2
  を持っていて、現在の状態でも良いので Linux を動かしてみたいということならば、
  <htmlurl url="mailto:flo@rfc822.org"
  name="Florian Lohoff (flo@rfc822.org)"> さんか <htmlurl
  url="mailto:spock@mgnet.de" name="Klaus Naumann (spock@mgnet.de)"> さん
  に連絡を取ってください。

  <sect2>Silicon Graphics Indy<P><!--
  The Indy is currently the only (mostly) supported Silicon Graphics
  machine.  The only supported graphics card is the Newport card, a.k.a.
  ``XL'' graphics.  The Indy is available with a large number of
  CPU options at various clock rates, all of which are supported.
  There is also a X server available, now written by
  <htmlurl url="mailto:guido.guenther@gmx.net"
  name="Guido Guenther (guido.guenther@gmx.net)">.
  If you're able to use the Newport console on your Indy it should be
  possible to also use this X server. It's based on XFree86 4.0 and
  currently runs at snail-like speeds, but it seems to work quite well.
  If you want to try it, take a look at
  <url url="http://honk.physik.uni-konstanz.de/~agx/mipslinux/x/"> .-->
  Indy は現時点では唯一の、ほとんどサポートされていると言って良い Silicon
  Graphics 社の機種です。唯一のサポートされているグラフィックカードは
  Newport カード、別名 ``XL'' グラフィックスカード、です。Indy
  には周波数が様々の多数の CPU オプションがあり、全部サポートされています。
  また、<htmlurl url="mailto:guido.guenther@gmx.net"
  name="Guido Guenther (guido.guenther@gmx.net)"> さんの書いた X
  サーバも用意されました。もしあなたの Indy で Newport
  コンソールが使えるなら、この X サーバも同様に使えるはずです。このサーバは
  XFree86 4.0 ベースで、カタツムリ並の速度しかでませんが、
  とてもよく動作します。試してみたい方は
  <url url="http://honk.physik.uni-konstanz.de/~agx/mipslinux/x/">
  をご覧ください。

   <sect3><!--Strange amounts of available memory-->有効なメモリ量が変です<p>
   <!--
   On bootup, the kernel on the Indy will report available memory with a
   message like:
   <verb>
   Memory: 27976k/163372k available (1220k kernel code, 2324k data)
   </verb>
   The large difference between the first pair of numbers is caused by a
   128MB area in the Indy's memory address space which mirrors up to the
   first 128MB of memory.  The difference between the two numbers will
   always be about 128MB and does not indicate a problem of any kind.
   Kernels since 2.3.23 don't count this 128MB gap any more.-->
   ブート時に Indy
   のカーネルは有効なメモリ量を次のようなメッセージで表示します。
   <verb>
   Memory: 27976k/163372k available (1220k kernel code, 2324k data)
   </verb>
   最初の 2 つの数字が大きく違うのは、Indy のメモリアドレス空間内には先頭の
   128MB がイメージとして現れるためです。この 2 つの数字の違いはこのため
   大体 128MB ぐらいで、何かの問題を示しているわけではありません。
   カーネル 2.3.23 からはこの 128MB の差は数えられないようになっています。

   <sect3><!--Indy PROM related problems-->Indy PROM 関連の問題<p><!--
   Several people have reported these problems with their machines after
   upgrading them typically from surplus parts.  There are several PROM
   versions for the Indy available.  Machines with old PROM versions which
   have been upgraded to newer CPU variants, like a R4600SC or R5000SC module,
   can crash during the self test with an error message like:-->
   一部の人たちが、マシンを保守パーツ等でアップグレードした後にこの問題を報告しています。
   Indy にはいくつかの PROM の版があります。古い PROM
   版のマシンで新しい種類の CPU にアップグレードした場合、例えば
   R4600SC を R5000SC
   モジュールにするなどした場合、次のようなメッセージを出してセルフテストがクラッシュします。
   <verb>
   Exception: <vector=Normal>
   Status register: 0x30004803<CU1,CU0,IM7,IM4,IPL=???,MODE=KERNEL,EXL,IE>
   Cause register: 0x4000<CE=0,IP7,EXC=INT>
   Exception PC: 0xbfc0b598
   Interrupt exception
   CPU Parity Error Interrupt
   Local I/O interrupt register 1: 0x80 <VR/GIO2>
   CPU parity error register: 0x80b<B0,B1,B3,SYSAD_PAR>
   CPU parity error: address: 0x1fc0b598
   NESTED EXCEPTION #1 at EPC: 9fc3df00; first exception at PC: bfc0b598
   </verb><!--
   In that case, you'll have to upgrade your machine's PROM to a newer version,
   or go back to an older CPU version (usually R4000SC or R4400SC modules
   should work).  Just to be clear, this is a problem which is unrelated to
   Linux, it is only mentioned here because several Linux users have asked
   about it.<P>-->
   この場合、マシンの PROM を新しい版にアップグレードするか、古い
   CPU に戻す必要があります (通常 R4000SC と R4400SC
   モジュールは動くはずです)。はっきり言って、この問題は Linux とは無関係です。
   ここでこれを取り上げているのは幾人かの Linux
   ユーザがこれについて質問を出していたからです。

   <sect3><!-- Why is so much memory reserved on my Indy?-->
   私の Indy でメモリがこんなにシステムで使われてしまうのはなぜ？<p><!--
   On bootup, the `Memory: ...' message on an Indy says that there is
   128MB of RAM reserved.  That is ok. Just like the PC architecture has
   a gap in its memory address space between 640KB and 1024KB, the Indy
   has a 128MB-sized area in its memory map where the first 128MB of
   its memory is mirrored.  Linux knows about it and just ignores
   that memory, and thus this message.<P>
   -->
   ブート時に Indy の `Memory: ...' メッセージは 128 MB
   のメモリがシステムで使われていると答えます。これは正常です。
   PC アーキテクチャで 640KB から 1024KB までにギャップが開いているのと同様、
   Indy のメモリアドレス空間内に最初の 128MB
   がイメージとして現れる部分があるためです。Linux
   はそのことを知っていて、そのメモリを単に無視するため、このようなメッセージがでるのです。

  <sect2><!--Silicon Graphics Origin&nbsp;200 and 2000-->
    Silicon Graphics Origin&nbsp;200 と 2000<p><!--
  <htmlurl url="mailto:ralf@gnu.org" name="Ralf B&auml;chle (ralf@gnu.org)">
  and a team of SGI employees are currently working on a port to the
  Origin&nbsp;200.  While still in it's early stages, it's running in
  uniprocessor and multiprocessor mode and has drivers for the built-in
  IOC3 Ethernet and SCSI hostadapters.  The code is available in the
  Linux/MIPS CVS tree.<P>-->
  <htmlurl url="mailto:ralf@gnu.org" name="Ralf B&auml;chle (ralf@gnu.org)">
  さんと SGI 社員のチームが Origin&nbsp;200 への移植に取り組んでいます。
  これは現在まだ初期の段階ですが、単一プロセッサでもマルチプロセッサでも走り、
  内蔵の IOC3 Ethernet と SCSI ホストアダプタのドライバがあります。
  コードは Linux/MIPS の CVS ツリーから得られます。<p>

  <sect2>Silicon Graphics Onyx&nbsp;2<P><!--
  The Onyx&nbsp;2 is basically an Origin&nbsp;2000 with additional graphics
  hardware.  As of now, writing Linux support for the graphics hardware has
  not yet been done.  Aside from that, Linux should run just as well as
  on a normal, headless Origin&nbsp;2000 configuration.<P>
  -->
  Onyx&nbsp;2 は、基本的には Origin&nbsp;2000
  に追加のグラフィックハードウェアがついたものです。
  現時点でこの追加グラフィックハードウェアの Linux
  サポートはできあがっていません。
  それ以外の点では、通常のディスプレイなしの Origin&nbsp;2000 構成と同程度に
  Linux が走るはずです。<p>

  <sect2>Silicon Graphics Power Series<P><!--
  This is a very old series of R3000 SMP systems.  There is no hardware
  documentation for these machines, few of them even exist anymore, and the
  hardware is weird.  In short, the chances that Linux will ever run on them
  are approximating zero.  Not that we want to discourage any takers&nbsp;...
  -->
  これはとても古い R3000 対称マルチプロセッサ機です。
  これらの機種のハードウェアのドキュメントはありませんし、マシン自体既にあまり残っていませんし、ハードウェアには妙な癖があります。
  簡単にいって、Linux がこれらのマシンで走る可能性はほとんどゼロです。
  もっとも、挑戦者の意気を挫こうというわけではありませんが…。<p>

  <sect2><!--Serial console on SGI machines-->SGI マシンのシリアルコンソール<p>
  <!--
  Make sure that the kernel you're using includes the appropriate driver for a
  serial interface and serial console.  Set the <em>console</em>
  ARC environment variable to either the value <em>d1</em>, or <em>d2</em>
  for Indy and Challenge&nbsp;S depending on which serial interface you're
  going to use as the console.<P>-->
  使っているカーネルに、シリアルインターフェースとシリアルコンソールのための適切なドライバが組み込まれるようにしてください。
  Indy と Challenge&nbsp;S では ARC 環境変数 <em>console</em> を <em>d1</em>
  か <em>d2</em> のどちらか
  (コンソールとして使おうとしているシリアルインターフェース側)
  に設定してください。

  <p><!--
  If you have the problem that all kernel messages appear on the serial
  console on boot-up, but everything is missing from the point when init starts,
  then you probably have the wrong setup for your /dev/console.
  You can find more information about this in the Linux kernel source
  documentation which is in /usr/src/linux/Documentation/serial-console.txt if
  you have the kernel source installed.-->
  ブート時に、全てのカーネルメッセージがシリアルコンソールに現れ、
  init が動き出した時点から何も出なくなるという問題に出くわしたのなら、
  多分あなたの /dev/console の設定が間違っているのでしょう。
  カーネルソースをインストールしているなら Linux カーネルソースの
  /usr/src/linux/Documentation/serial-console.txt に詳しい情報がみつかります。

  <sect2>Other Silicon Graphics machines<P><!--
  At this time, no other Silicon Graphics machine is supported.  This also
  applies to the <sl>very</sl> old Motorola 68k-based systems.-->
  現時点でその他の Silicon Graphics 社のマシンはサポートされていません。
  これらサポートされていない機種には、モトローラの 68k
  を使ったとても <sl>古い</sl> マシンも含まれます。

  <sect2>Sony <!-- Playstation-->プレイステーション<p><!--
  The Sony Playstation is based on an R3000 derivative and uses a set of
  graphics chips developed by Sony themselves.  While the machine, in theory,
  is capable of running Linux, a port is difficult since Sony so far
  hasn't provided the necessary technical information.  This still leaves the
  question of whether the port would be worthwhile.  So in short, nothing has
  happened yet even though many people have shown an interest in running Linux
  on this system.-->
  Sony のプレイステーションは R3000 派生の機種を使っており、Sony
  の自社開発のグラフィックチップセットを使っています。このマシンは理論的には
  Linux を走らせることができるはずですが、Sony
  が必要な技術情報を現時点で提供していないので移植は困難です。
  端的に言って、多数の人がこのシステムで
  Linux を走らせることに興味を表明した時点から何も進んでいません。

  <sect2>SNI RM200C<P><!--
  In contrast to the RM200 (see below), this machine has EISA and PCI slots.
  The RM200 is supported with the exception of the availability of the onboard
  NCR53c810A SCSI controller.
  -->
  下に書かれている RM200 と違って、このマシンは EISA と PCI
  スロットを持っています。RM200C はオンボードの NCR53c810A SCSI
  コントローラを除いてサポートされています。

  <sect2>SNI RM200<P><!--
  If your machine has both EISA and PCI slots, then it is an RM200C (please
  see above).  Due to the slight architectural differences of the RM200 and
  the RM200C, this machine isn't currently supported in the official sources.
  <htmlurl url="mailto:engel@numerik.math.uni-siegen.de"
  name="Michael Engel (engel@numerik.math.uni-siegen.de)"> has managed to get
  his RM200 working partially, but the patches haven't yet been included in the
  official Linux/MIPS sources.
  -->
  あなたのマシンに EISA と PCI スロットの両方があるなら、それは RM200C
  です (上をご覧ください)。このアーキテクチャ的なわずかな違いのため、RM200
  のほうは現在公式ソースではサポートされていません。
  <htmlurl url="mailto:engel@numerik.math.uni-siegen.de"
  name="Michael Engel (engel@numerik.math.uni-siegen.de)"> さんが彼の RM200
  を部分的に動くところまで持ってきていますが、このパッチはまだ公式の
  Linux/MIPS ソースに含まれてはいません。

  <sect2>SNI RM300C<P><!--
  The RM300 is technically very similar to the RM200C.  It should be supported
  by the current Linux kernel, but we haven't yet received any reports.
  -->
  RM300 は技術的には RM200C にとてもよく似ています。従って現在の Linux
  カーネルで動くはずですが、まだ動作レポートを受け取っていません。

  <sect2>SNI RM400<P><!--
  The RM400 isn't supported.-->
  RM400 はサポートされていません。

  <sect2>SNI RW320<P><!--
  This machine is a OEM variant of the SGI Indigo and therefore also
  unsupported.
  -->
  これは SGI Indigo の OEM 品で、従ってサポートされていません。

  <sect2>Algorithmics P-6032 and P-6064 (and P-4032, P-5064)<P><!--
  Algorithmics (<url url="http://www.algor.co.uk/">) make a series of
  single-board computers for MIPS prototyping, and maintain Linux kernels
  for all of them:
   -->
  Algorithmics (<url url="http://www.algor.co.uk/">) 社は MIPS
  のプロトタイプ開発用の一連のシングルボードコンピュータを発売していて、
  それら全部に関する Linux カーネルを保守しています。

<itemize><!--
   <ITEM><url url="http://www.algor.co.uk/algor/info/p6032.html">P-6032 is a
    board for CPUs with 32-bit buses (PMC-Sierra RM5231, NEC Vr43x0,
    NEC Vr5432, IDT 64x74)
   <ITEM><url url="http://www.algor.co.uk/algor/info/p6064.html">P-6064
    is for CPUs with 64-bit buses, notably QED's RM70xx and NEC's Vr5500.
   <ITEM>P-4032 is an older board obsoleted by P-6032; P-5064 is obsoleted by
    P-6064.  Linux kernels for both are probably available, but not up to date.
-->
    <item> P-6032 は 32-bit バスの CPU (PMC Sierra RM5231, NEC VR43x0,
      NEC VR5432, IDT 64x74) 向けのボードです。
    <item> P-6064 は 64-bit バスの CPU (PMC Sierra RM70xx, NEC VR5500 など)
      向けのボードです。
    <item> P-4032 は旧製品で、P-6032が後継になっています。また P-5064
      は旧製品で、P-6064が後継になっています。この二機種向けの Linux
      カーネルは多分提供されていますが、最新版ではないでしょう。
  </itemize>

  <!--
  All the boards have common I/O plus ethernet and disk interfaces onboard,
  with spare PCI slots for adding different controllers.  They're highly
  configurable, so will run with either byte order.  All are suitable targets
  for 64-bit kernels, but (so far) all the Linux work we've done has been using
  32-bit code.

  They're available, supported and documented with PDF manuals available
  online, like <url url="http://www.algor.co.uk/ftp/pub/doc/p6032-user.pdf">
  for the P-6032.
  -->
  すべてのボードは標準 I/O と Ethernet、ディスクインターフェースをボード上に実装し、その他のコントローラを追加するための数個の PCI スロットを持っています。
  このボードは設定の自由度が高く、どちらのバイト順 (エンディアン)
  でも動作させることができます。全製品が 64-bit カーネルの対象とできますが、
  いまのところ私たちが作業している Linux 関連の仕事は全部 32-bit
  コードを用いています。
  これらの製品は出荷中で、サポートされており、PDF
  形式のマニュアルがオンラインで入手可能です。例えば P-6032 については
  <url url="http://www.algor.co.uk/ftp/pub/doc/p6032-user.pdf">
  をご覧ください。

<!--
  At the time of writing (January 2002) we are using a 2.4 kernel; kernel
  code is shared with the ports being done by people from <htmlurl
  url="http://www.mips.com" name="MIPS Technologies, Inc.">).
  Algorithmics wrote the floating point trap handler and emulator used in this
  kernel - essential for MIPS CPUs to run floating point operations reliably
  and correctly.

  Algorithmics' kernels and a link to the MIPS userland can be found from a
  jump page at <url url="http://www.algor.co.uk/algor/info/linux.html">.

  Algorithmics also maintain a GNU <ref id="algorithmics-gcc"
  name="toolchain"> and provide both free snapshots and a commercially
  supported version - worth thinking about for commercial Linux developments.
  You can contact Algorithmics at <url url="mailto:ask@algor.co.uk">.-->
  これを書いている時点 (2002 年 1月) では私たちは 2.4
  カーネルを使っています。カーネルコードは <htmlurl
  url="http://www.mips.com" name="MIPS Technologies, Inc.">
  社の人たちの移植とあわせたものになっています。Algorithmics
  はこのカーネルの浮動小数点例外ハンドラとエミュレータを書いています。
  この部分は
  MIPS CPU で浮動小数点演算を信頼性良く、正しく実行するために必須です。

  Algorithmics のカーネルと、MIPS ユーザランドへのリンクは
  <url url="http://www.algor.co.uk/algor/info/linux.html">
  のリンクページから辿れます。

  Algorithmics は、GNU <ref id="algorithmics-gcc" name="toolchain">
  の維持もおこなっており、無償のスナップショットと商用のサポートのあるバージョンの両方を提供しています。
  商用の Linux 開発を行う場合にはご検討下さい。
  <htmlurl url="mailto:ask@algor.co.uk" name="Algorithmics"> で連絡もできます。

  <sect2><!-- DECstation series-->DECstation シリーズ<p><!--
  During the late 80's and the early 90's, Digital (now Compaq) built MIPS-based
  Workstations named DECstation resp. DECsystem. Other x86 and Alpha-based
  machines were sold under the name DECstation, but these are obviously not the
  subject of this FAQ. Support for DECstations is still under development,
  started by Paul M. Antoine. These days, most of the work is done by
  <htmlurl url="mailto:hkoerfg@web.de"
  name="Harald Koerfgen (hkoerfg@web.de)"> and others. On the
  Internet, DECstation-related information can be found at
  <url url="http://decstation.unix-ag.org/">.

  The DECstation family ranges from the DECstation 2100 with an R2000/R2010
  chipset at 12 MHz, to the DECstation 5000/260 with a 60 MHz R4400SC.

  The following DECstation models are actively supported:
  -->
  80 年代後半から 90 年代初頭にかけて、DEC (現 Compaq) は MIPS
  を使ったワークステーションを
  DECsystem とか DECstation という名前で製造していました。
  他の x86 や Alpha プロセッサを使用したマシンも DECstation
  の名前で販売されましたが、これらは明らかにこの FAQ の対象ではありません。
  Paul M. Antoine さんの始めた DECstation に対するサポートはまだ開発中です。
  最近は、ほとんどの作業は <htmlurl url="mailto:hkoerfg&#064;web.de"
  name="Harald Koerfgen (hkoerfg&#064;web.de)">
  さんを中心とする人たちが行っています。インターネットでは DECstation
  関連の情報は <url url="http://decstation.unix-ag.org/"> にあります。

  DECstation ファミリは 12MHz の R2000/R2010 を用いた DECstation 2100 から
  60 MHz の R4400SC を用いた DECstation 5000/260 まで多岐にわたっています。

  現在活発に開発が行われている DECstation の機種は

<itemize>
<!--    <item>2100, codename PMAX
    <item>5000/xx (Personal&nbsp;DECstation), codename MAXine
    <item>5000/1xx, codename 3MIN
    <item>5000/200, codename 3MAX
    <item>5000/2x0, codename 3MAX+
    <item>5900/2x0 (identical to the 3MAX+).
-->
    <item>2100, コード名 PMAX
    <item>5000/xx (Personal&nbsp;DECstation), コード名 MAXine
    <item>5000/1xx, コード名 3MIN
    <item>5000/200, コード名 3MAX
    <item>5000/2x0, コード名 3MAX+
    <item>5900/2x0 (3MAX+ と同一です).
  </itemize>

  <!--

  These DECstation models are orphaned because nobody is working on them,
  but support for them should be relatively easy to achieve.
  -->
  下記の DECstation モデルは誰も作業していないのでみなしご状態ですが、
  これらのモデルに対するサポートは比較的やさしいはずです。
  <itemize>
<!--    <item>3100, identical to the 2100 except the R2000A/R2010A @ 16 MHz
    <item>5100, codename MIPSMATE, almost identical to the 2100 but with an
          R3000/R3010 chipset.
-->
    <item>3100, 2100 と同じですが、CPU だけ 16MHz の R2000A/R2010A です。
    <item>5100, コード名 MIPSMATE, ほとんど 2100 と同じですが、R3000/R3010
          チップセットを使っています。
  </itemize>

<!--
  The other members of the DECstation family, besides the x86 based ones,
  should be considered as VAXen with the CPU replaced by a MIPS CPU.
  There is absolutely no information available about these machines and support
  for them is unlikely to ever happen unless the VAXLinux port comes back to
  life. These are:
   -->
  その他の DECstation ファミリは、x86 を使ったものを除いて、CPU だけ
  MIPS CPU に変えた VAX と見なせます。
  これらのマシンについては全く何の情報もなく、VAXLinux
  ポートが息を吹き返さない限り、
  これらのマシンがサポートされることは起こりそうもありません。具体的には
<itemize>
     <!--
     <item>5400, codename MIPSFAIR
     <item>5500, codename MIPSFAIR2
     <item>5800, codename ISIS
     -->
     <item>5400, コード名 MIPSFAIR
     <item>5500, コード名 MIPSFAIR2
     <item>5800, コード名 ISIS
   </itemize>

  <sect2>MIPS Magnum 4000 / Olivetti M700-10<P><!--
  These two machines are almost completely identical.  Back during the
  ACE initiative, Olivetti licensed the Jazz design and marketed the machine
  with Windows&nbsp;NT as the OS.  MIPS Computer Systems, Inc. bought the
  Jazz design and marketed it as the MIPS Magnum 4000 series of machines.
  Magnum 4000 systems were marketed with Windows&nbsp;NT and RISC/os as the
  operating systems.<P>

  The firmware on the machine depended on the operating system which was
  installed.  Linux/MIPS supports only
  the little endian firmware on these two types of machines.  Since the
  M700-10 was only marketed as an NT machine, all M700-10 machines have this
  firmware installed.  The MIPS Magnum case is somewhat more complex.  If
  your machine has been configured big endian for RISC/os, then you need
  to reload the little endian firmware.  This firmware was originally
  included on a floppy with the delivery of every Magnum.  If you don't
  have the floppy anymore you can download it via anonymous ftp from
  <url url="ftp://oss.sgi.com/pub/linux/mips/misc/magnum-4000">.<P>

  It is possible to reconfigure the M700 for headless operation by setting
  the firmware environment variables ConsoleIn and ConsoleOut to
  multi()serial(0)term().  Also, try the command <sl>listdev</sl> which will
  show the available ARC devices.

  In some cases, like where the G364 graphics card is missing but the console
  is still configured to use normal graphics, it will be necessary to set
  the configuration jumper JP2 on the board.  After the next reset, the machine
  will reboot with the console on COM2.
  -->
  この二つの機種はほとんど同一です。ACE イニシアティブの頃に、Olivetti は
  Jazz デザインのライセンスを得て、OS として Windows&nbsp;NT
  を搭載したマシンを出荷していました。MIPS Computer Systems 社は Jazz
  デザインを購入して MIPS Magnum 4000 シリーズの機種として出荷していました。
  Magnum 4000 システムはオペレーティングシステムとして Windows&nbsp;NT と
  RISC/os が製品化されていました。
  <p>
  これらのマシンのファームウェアはインストールされていた OS の種類によります。
  Linux/MIPS
  はこの二種のうちリトルエンディアンのファームウェアのみをサポートします。
  M700-10 は NT マシンとしてのみ売られていたため、
  この機種にはすべてリトルエンディアンのファームウェアが搭載されています。
  MIPS Magnum の場合はもっと複雑です。もしあなたのマシンが RISC/os
  用のビッグエンディアン構成になっていた場合には、
  リトルエンディアンのファームウェアに入れ直す必要があります。
  このファームウェアは元々すべての Magnum
  の添付フロッピーに含まれていましたが、フロッピーがもう無いと言うことなら
  <url url="ftp://oss.sgi.com/pub/linux/mips/misc/magnum-4000"> から匿名 ftp
  でダウンロードできます。<p>

  M700 はファームウェア環境変数 ConsoleIn と ConsoleOut を
  multi()serial(0)term()
  に設定することでディスプレイレスの動作をさせるよう再設定可能です。
  また、有効な ARC デバイスの一覧を <sl>listdev</sl>
  コマンドで見ることができます。<p>

  一部のマシンの場合、例えば G364
  グラフィックカードが搭載されていないが、
  コンソールは標準グラフィックを使う構成のままになっている場合などでは、
  ボード上の JP2
  を設定する必要があります。次のリセットの後、マシンは COM2
  をシリアルコンソールとしてリブートします。

  <sect2>MIPS Magnum 4000SC<P><!--
  The MIPS Magnum 4000SC is the same as a Magnum 4000 (see above) with
  the exception that it uses an R4000SC CPU.
  -->
  MIPS Magnum 4000SC は R4000SC CPU を積んでいる以外は Magnum 4000 と同じものです。上の項をご覧ください。

  <sect2>MIPS Malta<P><!--
  Linux 2.4 and 2.5 kernels now include support for the Malta evaluation board
  and all it's CPU options.-->
  Linux 2.4 と 2.5 カーネルには、Malta エバリュエーションボードと、そのすべての
  CPU オプションに対してのサポートが含まれるようになっています。

 <sect1><!--Processor types-->プロセッサタイプ
 <label id="supported-cpus">
  <sect2><!--MIPS32 family-->MIPS32 ファミリ<P><!--
  The MIPS 4kc, Alchemy Au1000 and others are supported.-->
  MIPS 4kc と Alchemy 社 (現 AMD 社) Au1000 ほかがサポートされています。

  <sect2><!--MIPS64 family-->MIPS64 ファミリ<P><!--
  The MIPS 5kc, 20kc, Sibyte SB1 core / SB1250 SOC and others are supported.-->
  MIPS 5kc, 20kc, Sibyte 社 SB1 コア/SB1250 SOC(System On Chip)
  ほかがサポートされています。

  <sect2>R2000, R3000 family<P><!--
  Linux supports the R2000, R3000 family and many processors that were derived
  from these the two original MIPS processors such as the R3081.-->
  Linux は最初の MIPS プロセッサ R2000, R3000
  及びこの二つから派生した多くのプロセッサ (例えば R3081 など)
  をサポートしています。

  <sect2>R4000, R5000 and RM7000 family<P><!--
  Linux supports many of the members of the R4000 family.  Currently, these
  are: R4000PC, R4400PC, R4300, R4600, R4700, R5000, R5230, R5260, RM7000.
  The list is growing permanently.<P>-->
  Linux は R4000 ファミリの多くのメンバーをサポートしています。現時点では
  R4000PC, R4400PC, R4300, R4600, R4700, R5000, R5230, R5260, RM7000
  がサポートされています。動作確認済リストは増え続けています。<p>

  <!--Not supported are the R4000MC and R4400MC CPUs (that is multiprocessor
  systems), as well as R5000 systems with a CPU-controlled second level cache.
  This means that the cache is controlled by the R5000 itself, in contrast to
  some external cache controller.  The difference is important because,
  unlike other systems, especially PCs, on MIPS the cache is architecturally
  visible and needs to be controlled by software.<P>
  Special credit goes to <htmlurl url="mailto:grim@zigzegv.ml.org"
  name="Ulf Carlsson (ulfc@engr.sgi.com)"> who provided the CPU module for
  debugging the R4000SC / R4400SC support.-->
  サポートされていないのは、R4000MC と R4400MC CPU
  (マルチプロセッサシステム向け) と、CPU 制御の二次キャッシュを持つ R5000
  システムです。後者のほうは、キャッシュが外部のキャッシュコントローラではなく
  R5000 自身で制御されている場合を指します。この違いは重要です。
  と言うのは、MIPS ではキャッシュはアーキテクチャ的に可視で、
  ソフトウェアで制御してやる必要があるためです。
  <p>
  R4000SC/R4400SC サポートで
  CPU モジュールを提供してくれた <htmlurl url="mailto:grim@zigzegv.ml.org"
  name="Ulf Carlsson (ulfc@engr.sgi.com)"> さんの功績は特記されるべきでしょう。

  <sect2>R6000<P><!--
   Sometimes people confuse the R6000, a MIPS processor, with RS6000, a series
   of workstations made by IBM.  So, if you're reading this in hope of finding
   out more about Linux on IBM machines, then you're reading the wrong
   document.<P>

   The R6000 is currently not supported.  It is a 32-bit MIPS ISA 2 processor; a
   pretty interesting and weird piece of silicon.  It was developed and produced
   by a company named <sl>BIT Technology</sl>.  Later, NEC took over the
   semiconductor production.  It was built using ECL technology, the same
   technology that was, and still is, being used to build extremely fast chips
   like those used in some Cray computers.  The processor had its TLB
   implemented as part of the last couple of lines of the external primary
   cache, a technology called <sl>TLB slice</sl>.  That means its MMU is
   substantially different from those of the R3000 or R4000 series, which is
   also one of the reasons why the processor isn't supported.
   -->
   MIPS 系のプロセッサの R6000 はときどき  IBM 社のワークステーションの
   RS6000 と混同されます。ですので、もし IBM 機の Linux
   のことが知りたいという希望を持ってこの文書を読まれているのでしたら、読む文書が違っています。
   <p>
   R6000 は現在サポートされていません。これは 32-bit の MIPS ISA 2 (MIPS II)
   に準拠したプロセッサで、興味深くはありますがかなり変なチップです。
   これは <sl>BIT Technology</sl> 社で開発・製造されたもので、後に NEC
   が生産を引き継ぎました。これは Cray
   社のスーパーコンピュータで使われていて、現在でも使われている特に高速なチップ向けの
   ECL プロセスで作られています。
   このプロセッサは、<sl>TLB slice</sl> と呼ばれる TLB
   を外付けの一次キャッシュの最後の数ラインの一部として実現する手法を採っています。
   このため、MMU は R3000 や R4000 シリーズのものと相当に異なり、
   これがこのプロセッサがサポートされていない理由の一つになっています。

  <sect2>R8000<P><!--
   The R8000 is currently unsupported partly because this processor is
   relatively rare and has only been used in a few SGI machines, and partly
   because the Linux/MIPS developers don't have such a machine.<P>

   The R8000 is a pretty interesting piece of silicon.  Unlike the other members
   of the MIPS family it is a set of seven chips.  It's cache and TLB
   architecture are pretty different from the other members of the MIPS family.
   It was born as a quick hack to get the floating point crown back to
   Silicon&nbsp;Graphics before the R10000 is finished.
   -->
   R8000 は現在未サポートです。これはこのプロセッサが一部の SGI
   の機種のみで使われた比較的まれなプロセッサで、Linux/MIPS
   開発者が誰もこのような機種を持っていない、ということも理由の一部です。<p>
   R8000 はかなり興味深いシリコンチップです。このプロセッサのキャッシュと TLB
   周りはほかの MIPS ファミリとはかなり違っています。
   このプロセッサは R10000 が完成する前に、浮動小数点最高性能の名誉を
   Silicon&nbsp;Graphics が奪い返すべくクイックハックで作成されたものです。

  <sect2>R10000<P><!--
   The R10000 is supported as part of the mips64 kernel which currently is
   supported on the IP22 (SGI Indy, Challenge&nbsp;S and Indigo&nbsp;2) and
   Origin.<P>

   Due to the very hard-to-handle way this processor works in non-cachecoherent
   systems, it will probably be some time until we support this processor
   in such systems.  As of today, these systems are the SGI&nbsp;O2 and
   Indigo&nbsp;<P>
   -->
   R10000 は mips64 カーネルとしてサポートされています。現在 IP22
   アーキテクチャ (SGI Indy、Challenge&nbsp;S と Indigo&nbsp;2) および
   Origin でサポートされています。<p>
   このプロセッサはキャッシュがノン・コヒーレントなシステムではとても制御しづらく、
   このためそのようなシステムでこのプロセッサがサポートできるようになるまでにはしばらくかかると思います。
   現時点では、そのようなシステムには SGI&nbsp;O2 と Indigo&nbsp; があります。
   <p>

  <sect2><!--Processors without TLB-->TLB の無いプロセッサ<p>
   <!--
   For embedded purposes, there are special derivates of the above CPU available
   which often lack a full TLB.  We don't support those types nor should you
   ever expect such support to be added.<P>

   Hackers may want to take a look at a Linux subset named Microcontroller
   Linux, or short, ucLinux.  This would be supportable on TLB-less processors.
   Given the litte difference between CPU types with and without TLB, we
   still recommend that you choose a processor with TLB.  It's going to save you
   a lot of engineering.
   -->
   組み込み向けの用途で、上記 CPU の派生品として TLB 機能を欠くものがあります。
   これらの品種はサポートしませんし、サポートされることを期待してもらっても困ります。<p>
   ハッカーなら、マイクロコントローラ向けの Linux (略称 ucLinux)
   をちょっと調べてみようと思われるかもしれません。これは TLB
   のないプロセッサをサポート可能です。但し、プロセッサのタイプに TLB
   の有無が与える影響がほとんどないことを考えると、やはり TLB
   のあるプロセッサを選択することを薦めます。設計作業をずっと節約できますので。

  <sect2><!-- Processors with partial or no FPU-->
  浮動小数点機構が一部分サポートされた、または搭載されていないプロセッサ<p>
   <!--
   Linux/MIPS version 2.4 and later feature a full FPU emulation and therefore
   can support these processors while maintaining the full binary compatibility
   to fpu-full versions.
   -->
   Linux/MIPS バージョン 2.4
   から、完全な浮動小数点エミュレーション機能が加わりましたので、
   このようなプロセッサも、浮動小数点付きのプロセッサとのバイナリ互換性を保ったままサポート可能になっています。


 <sect1><!-- Hardware we're never going to support-->私たちがサポートしていかないハードウェア<p>
  <sect2>IBM RS6000<p><!--
  As the name says, these are IBM machines which are based on the RS6000
  processor series, and, as such, they're not the subject of the Linux/MIPS
  project.  People frequently confuse the IBM RS6000 with the MIPS R6000
  architecture.  However, the Linux/PPC project might support these machines.
  Checkout <url url="http://www.linuxppc.org/"> for further information.
  -->
  名前の通り、これは RS6000 プロセッサシリーズを使った IBM のマシンです。
  このため、これは Linux/MIPS プロジェクトの対象ではありません。よく
  IBM RS6000 と MIPS R6000 が混同されますが。しかしながら、Linux/PPC
  プロジェクトは該当機種をサポートしているかもしれません。詳しい情報は
  <url url="http://www.linuxppc.org/"> を見てみてください。

  <sect2>VaxStation<P><!--
  As the name already implies, this machine is a member of Digital Equipment's
  VAX family.  It's mentioned here because people often confuse it with
  Digital's MIPS-based DECstation family due to the similar type numbers. These
  two families of architectures share little technical similarities.
  Unfortunately, the VaxStation, like the entire VAX family, is currently
  unsupported.
  -->
  名前にも含まれているとおり、これらのマシンは Digital Equipment 社の VAX
  ファミリのメンバーです。ここでこれを取り上げるのは MIPS を使った
  同じ DEC の DECstation と似たタイプ名のため、よく混同されるからです。
  この 2 つのファミリにはアーキテクチャ的に共通点はほとんどありません。
  残念ながら、この VaxStation は、他の VAX
  ファミリ同様現在サポートされていません。

  <sect2>SGI VisPC<P><!--
  This is actually an x86-based system, therefore not covered by this FAQ.
  There is some limited Linux support available for the older Visual
  Workstations.  The current series of Visual Workstations is an officially
  supported SGI product. Please see <url url="http://oss.sgi.com"> and
  <url url="http://www.sgi.com"> for more information.
  -->
  これらは実際は x86 プロセッサを使ったシステムで、この FAQ の対象外です。
  Visual Workstation の旧機種には多少制約のある Linux
  サポートが提供されています。
  現在の Visual Workstations は公式にサポートされた SGI の製品です。
  詳しい情報は <url url="http://oss.sgi.com"> か
  <url url="http://www.sgi.com"> をご覧ください。

  <sect2><!--Motorola 68k-based machines like the Iris&nbsp;3000-->Iris&nbsp;3000 などのモトローラ 68k ベースの機種<p>
  <!--
  These are <sl>very</sl> old machines, more than ten years old by now.  As
  these machines are not based on MIPS processors, and therefore not supported
  by the Linux/MIPS project, this document is the wrong place to search for
  information.
  -->
  これらは <sl>とても</sl> 古いマシンで、多分現時点で十年以上経っています。
  これらのマシンは MIPS プロセッサを使っていませんので Linux/MIPS
  プロジェクトではサポートしませんし、これらの機種の情報を探すためなら
  この文書は間違った場所です。

<sect><!-- Installation of Linux/MIPS and common problems.-->Linux/MIPS のインストールとよくある問題<p>

 <sect1><!--NFS booting fails.-->NFS ブートに失敗する<p>
  <!--
  Usually, the reason for this is that people have unpacked the tar archive
  under IRIX, not Linux.  Since the representation of device files over
  NFS is not standardized between various Unices, this fails.  The symptom
  is that the system dies with the error message ``Warning: unable to open
  an initial console.'' right after mounting the NFS filesystem.<P>

  For now, the workaround is to use a Linux system (doesn't need to be MIPS)
  to unpack the installation archive onto the NFS server.  The NFS server
  itself may be any type of UNIX.<P>
  -->
  通常はこれはこの現象に出くわした人たちが tar アーカイブを Linux ではなく
  IRIX で展開したためです。NFS 越しのデバイスファイルの定義は Unix
  間で標準化されていないため、この問題が起きます。現象としては、NFS
  ファイルシステムをマウントした直後にシステムが ``Warning: unable to open
  an initial console.'' というエラーメッセージで死ぬと言うものです。<p>

  今のところ、この問題の回避策は、インストールに使うアーカイブを NFS
  サーバに展開する際には Linux
  システムを使うことです。この Linux システムは MIPS
  機である必要は無く、NFS サーバ自体はどのような UNIX 機でも問題ありません。

 <sect1><!-- Self-compiled kernels crash when booting.-->自分でコンパイルしたカーネルがブート時にクラッシュする<p>
  <!--
  When I build my own kernel, it crashes.  On an Indy the crash message
  looks like the following (the same problem hits other machines as well
  but may look completely different):
  -->
  自分でカーネルを作ったんですが、クラッシュします。Indy
  ではクラッシュメッセージは次のようなものです
  (同様の問題は他のマシンでも起きますが、メッセージは全く違ったものかもしれません)。

  <verb>
   Exception: <vector=UTLB Miss>
   Status register: 0x300004803<CU1,CU0,IM4,IPL=???,MODE=KERNEL,EXL,IE>
   Cause register: 0x8008<CE=0,IP8,EXC=RMISS>
   Exception PC: 0x881385cc, Exception RA: 0x88002614
   exception, bad address: 0x47c4
   Local I/O interrupt register 1: 0x80 <VR/GIO2>
   Saved user regs in hex (&amp;gpda 0xa8740e48, &_regs 0xa8741048):
     arg: 7 8bfff938 8bfffc4d 880025dc
     tmp: 8818c14c 8818c14c 10 881510c4 14 8bfad9e0 0 48
     sve: 8bfdf3e8 8bfffc40 8bfb2720 8bfff938 a8747420 9fc56394 0 9fc56394
     t8 48 t9 8bfffee66 at 1 v0 0 v1 8bfff890 k1 bad11bad
     gp 881dfd90 fp 9fc4be88 sp 8bfff8b8 ra 88002614

   PANIC: Unexpected exception
  </verb>

 <!-- This problem is caused by a still unfixed bug in Binutils newer than
 version 2.7.  As a workaround, change the following line in arch/mips/Makefile
 from:
 -->
 この問題はバージョン 2.7 以降の Binutils
 のまだ直っていないバグのために起きます。当面の回避策は、arch/mips/Makefile
 の

 <verb>
   LINKFLAGS       = -static -N
 </verb>

 <!-- to:-->という行を、下記のように修正してください。
 <verb>
   LINKFLAGS       = -static
 </verb>

 <sect1><!-- Booting the kernel on the Indy fails with PROM error messages-->
 Indy のカーネルブートが次のような PROM エラーメッセージで失敗する<p>
  <verb>
   >> boot bootp()/vmlinux
   73264+592+11520+331680+27848d+3628+5792 entry: 0x8df9a960
   Setting $netaddres to 192.168.1.5 (from server deadmoon)
   Obtaining /vmlinux from server deadmoon

   Cannot load bootp()/vmlinux
   Illegal f_magic number 0x7f45, expected MIPSELMAGIC or MIPSEBMAGIC.
  </verb>

 <!--
 This problem only happens for Indys with very old PROM versions which cannot
 handle the ELF binary format which Linux uses.  A solution for this problem
 is in the works.
 -->
 この問題は Indy のとても古い版の PROM で、Linux の使う ELF
 バイナリフォーマットが理解されない場合に発生します。
 この問題の解決は、現在作業中です。

 <sect1><!-- Where can I get the little endian firmware for my SNI?-->
 私の SNI 用のリトルエンディアンファームウェアをどこで入手したらいいんでしょうか？<p>

  <!--
  SNI's system can be operated in both big and little endian modes.  At this
  time, Linux/MIPS only supports the little endian firmware.  This is somewhat
  unlucky since SNI hasn't shipped that firmware for quite some time, since
  they dropped Windows&nbsp;NT.

  When running in big endian mode, the firmware looks
  similar to an SGI Indy which is already supported, therefore fixing the
  SNI support will be relatively easy.  Interested hackers should contact
  <htmlurl url="mailto:ralf@gnu.org" name="Ralf B&auml;chle (ralf@gnu.org)">.
  -->
  SNI のシステムはビッグとリトルの両エンディアンで動作可能です。現時点では
  Linux/MIPS はリトルエンディアンのファームウェアのみをサポートしています。
  これはある意味で不幸なことで、SNI は Windows&nbsp;NT
  のサポートをやめたため、リトルエンディアンのファームウェアをここしばらく出荷していません。

  ビッグエンディアンモードで動かした場合、ファームウェアは既にサポートされている
  SGI Indy に似たものですので、SNI サポートを修正するのは多分比較的容易です。
  興味のあるハッカーは
  <htmlurl url="mailto:ralf@gnu.org" name="Ralf B&auml;chle (ralf@gnu.org)">
  まで連絡ください。

 <sect1><!-- ld dies with signal 6-->ld が signal 6 で死にます<p>
 <verb>
   collect2: ld terminated with signal 6 [Aborted]
 </verb><!--
 This is a known bug in older binutils versions.  You will have to upgrade to
 binutils 2.8.1 plus very current patches.
 -->
 これは古い binutils の既知のバグです。binutils 2.8.1
 と最新のパッチの組み合わせにアップグレードする必要があります。

 <!--<sect1>Missing ELF support in some PROM versions<P>-->
 <sect1>一部の版の PROM に ELF サポートがない問題<P><!--
 Old PROM versions don't know about the ELF binary format which the Linux
 kernel normally uses, so Linux cannot boot directly.  This results in error
 messages similar to this one:
   -->
   古い版の PROM は Linux カーネルの使う ELF フォーマットを知らず、
   Linux が直接ブートできません。
   この問題に当たると、以下のようなエラーメッセージになります。
 <verb>
   >> boot -f linux root=/dev/sda1

   Cannot load scsi(0)disk(1)rdisk(0)partition(8)/linux.
   Illegal f_magic number 0x7f45, expected MIPSELMAGIC or MIPSEBMAGIC.
   Unable to load linux: ``linux'' is not a valid file to boot.
   >>
 </verb><!--

 The preferable solution for this is of course a PROM upgrade but that isn't
 available for all systems.<P>-->
   この問題の望ましい解決策はもちろん PROM のアップグレードですが、すべてのシステムで提供されているわけではありません。<P>
<!--
 For systems which still have the sash of IRIX 5 installed it is alternativly
 possible use Sash to boot the kernel.  Sash knows how to load ELF binaries
 and doesn't care if it's an IRIX or Linux kernel.  Simply type ``Sash'' to
 the PROM monitor.  You'll get another shell prompt, this time from Sash.
 Now launch Linux as usual.<P> Sash can read EFS or XFS filesystems or read
 the kernel from BOOTP / TFTP.<P>-->
   代替手段として、Irix 5 以降の Sash をカーネルを
   ブートするために使うことができます。Sash は ELF
   バイナリをロードするやり方を知っており、それが IRIX のカーネルか Linux
   のカーネルかを気にしません。PROM モニタで ``Sash'' と打ってください。
   別のシェルプロンプトがでたなら、それが Sash からのプロンプトです。
   後は普通通り Linux を起動してください。<p>Sash は EFS と XFS
   ファイルシステムを読め、bootp / tftp でカーネルを読むこともできます。
   <p>
<!--
 Using the elf2ecoff tool that is shipping with the kernel source you
 can convert an ELF binary into ECOFF.  Or when building a kernel just
 run the ``make vmlinux.ecoff'' which will produce an ECOFF kernel.
-->
  カーネルソースと共に配布されている elf2ecoff ツールを使って ELF バイナリを
  ECOFF 形式に変換することもできます。または、カーネルのビルド時に単に
  ``make vmlinux.ecoff'' とすることで ECOFF 形式のカーネルを作成できます。


 <sect1><!--My machine doesn't download the kernel when I try to netboot-->ネットブートを試みているんですが、私のマシンはカーネルをダウンロードしてくれません<p>
<!--
  Your machine is replying to the BOOTP packets (you may verify this
  using a packet sniffer like tcpdump or ethereal), but doesn't download the
  kernel from your BOOTP server. This happens if your boot server is
  running a kernel of the 2.3 series or higher. The problem may be circumvented
  by doing a "echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc" as root on your
  boot server.
  -->
  あなたのマシンが BOOTP パケットに返答しているのにも関わらず (tcpdump や
  ethereal のようなパケットスニファで確認できます)、
  BOOTP サーバからカーネルをダウンロードしない場合です。
  これはあなたのブートサーバがカーネル 2.3
  系、またはそれ以降のものを使っているときに起きます。
  この問題が起きた場合には、ブートサーバで root になって
  "echo 1 > /proc/sys/net/ipv4/ip_no_pmtu_disc"
  と入力すれば回避できます。

 <sect1>TFTP サーバからのダウンロードが止まって、タイムアウトします<P>
 <!--<sect1>The kernel download from the TFTP server stops and times out<P>
  This may happen if the TFTP server is using a local port number of 32768
  or higher which usually happens if the TFTP server is running Linux 2.3
  or higher.  This problem may be circumvented by doing a "echo 2048 32767 >
  /proc/sys/net/ipv4/ip_local_port_range" on the server.-->
  これは、TFTP サーバがローカルポート番号 32768
  以上を使おうとしているためであることがあります。Linux 2.3
  以降を使っている場合には、TFTP サーバは 32768 以降を使います。
  この問題は、サーバで "echo 2048 32767 >
  /proc/sys/net/ipv4/ip_local_port_range" とすることで回避できるでしょう。

 <sect1><!-- Bug in DHCP version 2-->DHCP バージョン 2 のバグ<p>
 <!--
  When using DHCP version 2 you might see the following problem:
  Your machines receives it's BOOTP reply 3 times but refuses to start TFTP.
  You can fix this by doing a "unsetenv netaddr" in the PROM command monitor
  before you boot your system. DHCP version 3 fixes that problem.
  -->
  DHCP バージョン 2 を使っていると、次の問題に出くわすかもしれません。
  現象：あなたのマシンは BOOTP を受信し、三回返答しますが、
  TFTP を始めようとしません。この問題はシステムをブートする前に PROM
  モニタで "unsetenv netaddr" と入力することで回避できます。
  DHCP バージョン 3 はこの問題を修正しています。

 <sect1><!-- When booting I get: Warning: unable to open an initial console.-->
   ブート時に "Warning: unable to open an initial console" というメッセージが出ます <p>

<!--
  This problem has two possible solutions.  First make sure you actually
  have a driver for the console of your system configured.  If this is
  the case and the problem persists you probably got victim of a widespead
  bug in Linux distributions and root filesystems out there.  The console
  of a Linux systems should be a character device of major id 5, minor 1
  with permissions of 622 and owned by user and group root.  If that's
  not the case, cd to the root of the filesystem and execute the following
  commands as root:
  <verb>
   rm -f dev/console
   mknod &#045;&#045;mode=622 dev/console
  </verb>
  You can also do this on a NFS root filesystem, even on the NFS server
  itself.  However note that the major and minor ids are changed by NFS,
  therefore you must do this from a Linux system even if it's only a NFS
  client or the major / minor ID might be wrong when your Linux client
  boots from it.-->
  この問題には二つの可能性と解決策があります。
  まず、あなたのシステムで設定されたコンソールに対して、ドライバが実際にあるかどうかを確認してください。
  この点には問題が無く、問題が解決しないなら、
  あなたは Linux ディストリビューションと root
  ファイルシステムに存在する、よくあるバグの犠牲になっているものと考えられます。
  Linux システムのコンソールは、キャラクタデバイスで、メジャー番号
  5、マイナー番号 1 で、かつユーザとグループが共に root で書き込み権 622
  であるべきです。
  もしそうなっていないなら、ファイルシステムのルートディレクトリに
  cd して、以下のコマンドを root になって実行してください。
  <verb>
   rm -f dev/console
   mknod --mode=622 dev/console
  </verb>
  これは NFS サーバ上のルートファイルシステム上でも実行できます。
  NFS サーバ上から直接でもできます。しかしメジャー番号とマイナー番号は NFS
  により変更されてしまうので、この作業は Linux システムから行う必要があります
  (Linux システムが単なる NFS クライアントであっても構いません)。
  そうしなければ、Linux クライアントがそこからブートする際にメジャー番号や
  マイナー番号が誤ったものになるかもしれません。

 <!--<sect1>Is IRIX required for installation on SGI systems?<P>-->
 <sect1>SGI システムにインストールする際に IRIX が必要でしょうか。<P><!--
  Various descriptions of the installation procedure use IRIX in order to
  partition disks.  This was required at the time of their writing as there
  were no native partiting tools available.  Now disks can be partitioned
  using the IRIX disklabel mode which can be selected in the expert menu
  of newer fdisk versions.  The volume header can be manipulated using
  dvhtool.  Note dvhtool usage is different from IRIX.<P>
  IRIX as secondary operating systems can still be handy as it may reduce
  the need to fiddle with ramdisks or nfs-root during installation.  Just
  one word of warning though: Be careful to not point IRIX fx(8) to disks
  that don't don't contain an IRIX disklabel if you want to retain the
  content - IRIX may <em>damage</em> the content of that disk without asking!
  -->
  様々なインストール手順の記載の中で、ディスクの分割を行うために IRIX
  が使われています。これが必要になっていたのは、その手順が書かれた時点では
  linux で走るディスク分割ツールがなかったためです。
  現在は、fdisk の新しいバージョンを用いれば、ディスクを IRIX のディスクラベル
  (expert モードで選択可能になりました) を用いて分割可能になりました。
  ボリュームヘッダは dvhtool で操作できます。注意点として、dvhtool
  の使い方は IRIX のものとは異なります。<p>
  また、予備のオペレーティングシステムとしての IRIX は、インストール時に
  ramdisk や nfsroot で苦戦する手間を減らし、便利ではあります。但し、一言注意。
  中身を失いたくないなら、IRIX ディスクラベルを持っていないディスクを IRIX
  fx(8) に指定しては絶対にいけません。IRIX は問い合わせなしにディスクの内容を
  <em>壊し</em> ます。

 <!--<sect1>Can IRIX and Linux be installed on the same system<P>-->
 <sect1>IRIX と Linux を同じシステムで共存できますか<P><!--
  Yes.  Just make sure you read the warning about IRIX's fx(8) in above
  paragraph.-->
  はい。但し、前の節の IRIX の fx(8) についての注意を読んだことを確認下さい。

 <!--<sect1>Insmod complains about the _gp_disp symbol being undefined<P>-->
 <sect1>Insmod が _gp_disp シンボルが未定義だと文句を言います<P><!--
  _gp_disp is a magic symbol used with PIC code on MIPS.  Be happy, this error
  message saved you from crashing your system.  You should use the same
  compiler options to compile a kernel module as the kernel makefiles do.
  In particular the options <em>-mno-pic -mno-abicalls -G 0</em> are
  important.-->
  _gp_disp は MIPS の PIC コード中で使われているマジックシンボルです。
  喜んでください。このエラーはシステムをクラッシュから救ってくれたのです。
  要点は、カーネル作成時の Makefile のオプションと、カーネルモジュール作成時のオプションは同じにすべきだということです。
  特に、オプション <em>-mno-pic -mno-abicalls -G 0</em> が重要です。

<sect>Milo<P><!--
 Milo is the boot loader used to boot the little endian MIPS systems with
 ARC firmware, currently the Jazz family and the SNI RM&nbsp;200.
 While Milo uses the same name and has a similar purpose to the Alpha version
 of Milo, these two Milos have nothing else in common.  They were developed
 by different people, don't share any code, and work on different hardware
 platforms.  The fact that both have the same name is just a kind of
 historic ``accident''.<P>
  -->
 Milo は ARC ファームウェアのリトルエンディアン MIPS
 システムをブートさせるためのブートローダであり、現在 Jazz ファミリと
 SNI RM&nbsp;200 に使われています。Milo は Alpha システムで使われる Milo
 と名前が同じで目的もほぼ同じですが、この二つの Milo
 にはそれ以外に共通点はありません。この二つは別々の人たちが開発しましたし、
 コードも全く別々で、違うハードウェアプラットフォームで動作します。
 この二つが同じ名前なのは、単に歴史的な「事故」というべきものです。
 <p>
<!--
 The need for Milo has been eleminated for all ARC platforms except the
 RM200C due to it's unusal firmware behaviour.  On all other platforms
 an ECOFF or often on more modern firmware also an ELF kernel can be started
 directly without the need for Milo or an equivalent.  On the RM200C
 Milo&nbsp;0.27.1 is still required to boot the kernel.<P>-->
 Milo は RM200C 以外の ARC プラットフォームでは必要なくなっています。
 他のすべてのプラットフォームでは ECOFF カーネル
 (またはより新らしいファームウェア下では ELF カーネル) が、Milo
 や相当品の必要なしに直接実行可能です。RM200C
 ではファームウェアのおかしな振る舞いのため、Milo&nbsp;0.27.1
 がカーネルのブートのために引き続き必要です。<P>

 <sect1><!-- Building Milo-->Milo のビルド<p><!--
  The building procedure of Milo is described, in detail, in the README files
  in the Milo package.  Since Milo has some dependencies to kernel header
  files which have changed over time, Milo often cannot be built easily.
  However, the Milo distribution includes binaries for both Milo and Pandora.
  Building Milo is not trivial; unless you want to modify Milo yourself the
  urgent recommendation is to use the binaries shipping in the Milo tarball.<P>
  -->
  Milo のビルドの手順は、Milo パッケージの README
  ファイルに詳細にわたって書かれています。Milo
  はカーネルのヘッダファイルに多少の依存関係を持ちますが、
  このヘッダファイルは時と共に変わるものですから、Milo
  は得てして簡単に作成できません。但し、Milo の配布ファイルには Milo と
  Pandora 両方のバイナリが含まれています。Milo のビルドは簡単ではありません。
  もし Milo を自分で変更したいと言うことでなければ、とりあえずのお勧めは
  Milo tarball に含まれているバイナリを用いることです。

 <sect1>Pandora<P><!--
  Pandora is a simple debugger which was primarily developed in order
  to analyze undocumented systems.  Pandora includes a disassembler,
  memory dump functions, and more.  If you only want to use Linux, then there is
  no need to install Pandora, despite its small size.
  -->
  Pandora は技術文書のないシステムを解析することを主たる目的として開発された簡単なデバッガです。
  Pandora には逆アセンブラやメモリダンプ機能などが含まれています。
  単に Linux を使いたいだけならば、Pandora を (サイズは小さいですが)
  インストールする必要はないでしょう。

<sect><!-- Loadable Modules-->ローダブルモジュール<p>
 <!--
 Using modules on Linux/MIPS is quite easy. It should work as expected for people who have used
 the feature on other Linux systems.  If you want to run a module-based system, then
 you should have at least kernel version 980919, and modutils newer than
 version 2.1.121 installed.  Older versions won't work.
 -->
 Linux/MIPS でモジュールを使うのは実に簡単です。他の Linux
 システムのモジュール機能を使っていた人が期待するとおりに動きます。
 モジュールを使ったシステムを走らせたい場合、少なくとも 980919
 版以降のカーネルと、バージョン 2.1.121 より新しい modutils
 を使ってください。これより古いものは動きません。

<sect><!-- How do I set up a cross-compiler?-->クロスコンパイラ環境の構築方法<p>
 <sect1><!-- Available binaries-->入手できるバイナリ<p>
 <!--
 The easiest way to setup a cross-compiler is to just download the binaries.
 For Linux/i386 hosts and big endian targets, these are the packages:
 -->
 クロスコンパイラ環境を構築する一番やさしい方法は、バイナリをダウンロードしてくることです。
 Linux/i386 用のビッグエンディアンターゲット向けのパッケージは次のものです。
 <verb>
  binutils-mips-linux-2.8.1-1.i386.rpm
  egcs-c++-mips-linux-1.1.2-2.i386.rpm
  egcs-g77-mips-linux-1.1.2-2.i386.rpm
  egcs-libstdc++-mips-linux-2.9.0-2.i386.rpm
  egcs-mips-linux-1.1.2-2.i386.rpm
  egcs-objc-mips-linux-1.1.2-2.i386.rpm
 </verb>

 <!-- And this is the list of packages for little endian targets:-->
 そして、次がリトルエンディアン向けのパッケージのリストです。
 <verb>
  binutils-mipsel-linux-2.8.1-1.i386.rpm
  egcs-c++-mipsel-linux-1.1.2-2.i386.rpm
  egcs-g77-mipsel-linux-1.1.2-2.i386.rpm
  egcs-libstdc++-mipsel-linux-2.9.0-2.i386.rpm
  egcs-mipsel-linux-1.1.2-2.i386.rpm
  egcs-objc-mipsel-linux-1.1.2-2.i386.rpm
 </verb>

 <!-- For 64-bit MIPS kernels, there is only one package available right
 now:-->
 64-bit MIPS カーネル向けには、現在一つのパッケージのみが入手できます。
 <verb>
  egcs-mips64-linux-1.1.2-2.i386.rpm
 </verb>
 <!--
 This compiler is only available in the big endian flavor as there currently
 is no little endian machine supported by the 64-bit kernel.  A little endian
 version of the compiler will be provided as soon as there is demand for one.
 -->
 このコンパイラはビッグエンディアン向けです。これは現在 64-bit
 カーネルをサポートしたリトルエンディアンのマシンがないためです。
 リトルエンディアン向けのコンパイラも需要がでてくれば提供されるでしょう。

<!--
 It's not necessary that you install all of these packages as most people can
 just omit the C++, Objective&nbsp;C and Fortran&nbsp;77 compilers.  The
 Intel binaries have been linked against GNU libc 2.1, so you may have
 to install that as well when upgrading.
 -->
 これらの全部をインストールする必要はなく、殆どの人は C++、Objective&nbsp;C
 と Fortran&nbsp;77 の各コンパイラは省略してよいでしょう。
 Intel 版のバイナリは GNU libc 2.1 にリンクされているので、
 アップグレードする際にはこれもインストールする必要があるでしょう。

 <sect1><!--Recommended compiler versions-->おすすめのコンパイラのバージョン<p>
  <!--
  Compilers older than egcs 1.1.2 are no longer supported for compiling kernels
  due to bugs in the generated code.  At this time, we still recommend
  binutils 2.8.1 despite their age.
  -->
  egcs 1.1.2 より古いコンパイラは、
  生成するコードにバグがあるため、カーネルのコンパイル用としてはもうサポートされていません。
  現時点では、もうだいぶ経っていますが、まだ binutils 2.8.1 をお勧めします。

 <sect1><!--Building your own cross-compiler-->自分でクロスコンパイラを作成する<p>
  <!--First of all, go and download the following source packages:
  -->
  最初に次のソースパッケージをダウンロードしてきてください。
  <itemize>
   <item>binutils-2.8.1.tar.gz
   <item>egcs-1.1.2.tar.gz
   <item>glibc-2.0.6.tar.gz
   <item>glibc-crypt-2.0.6.tar.gz
   <item>glibc-localedata-2.0.6.tar.gz
   <item>glibc-linuxthreads-2.0.6.tar.gz
  </itemize>
  <!--
  You can obtain these files from your favorite GNU archive or
  <htmlurl url="ftp://oss.sgi.com" name="oss.sgi.com">.  Furthermore, you'll
  need patches.  The unbundled patch files aren't always up-to-date and addional,
  not MIPS-specific, patches may be required for building.  Note that the
  unbundled patch files also use a different revision numbering and it is
  therefore recommended that you obtain the source and patches from the RPM packages
  distributed on <htmlurl url="ftp://oss.sgi.com" name="oss.sgi.com">.

  Those are the currently recommended versions.  Older versions may or may not
  be working.  If you're trying to use older versions, please don't send
  bug reports because we don't care.  When installing, please install things in the
  order of binutils, egcs, then glibc.  Unless you have older versions
  already installed, changing the order <sl>will</sl> fail.
  -->
  これらのパッケージはお好みの GNU アーカイブサイトか、
  <htmlurl url="ftp://oss.sgi.com" name="oss.sgi.com"> から入手できます。
  更に、パッチが必要になります。MIPS
  に限った話ではありませんが、バンドルされていないパッチはいつでも最新のものとは限りませんし、
  ビルドするには MIPS に固有ではない追加パッチが必要になるかもしれません。
  これらの別配布のパッチは異なったバージョン番号付けを行っていることもありますので、お勧めの方法は
  <htmlurl url="ftp://oss.sgi.com" name="oss.sgi.com">
  で配布されている RPM パッケージからソースとパッチを入手することです。

  また、上記のものが現在お勧めのバージョンです。
  古いバージョンは動くかどうか分かりません。
  もし古いバージョンを使おうと頑張っているということでしたら、バグレポートは送らないでください。
  どちらにせよ見ませんので。また、インストールする際には、binutils、egcs、
  glibc の順に行ってください。古いバージョンが既に入っている場合を除いては、
  この順番を変えると <sl>うまくいきません</sl>。

 <sect1><!-- Disk space requirements-->必要なディスク容量<p>
  <!--
  For the installation, you'll have to choose a directory where the files will be
  installed. I'll refer to that directory below with &lt;prefix>.  To avoid a particular
  problem, it's best to use the same value for &lt;prefix> as your native gcc.
  For example, if your gcc is installed in /usr/bin/gcc, then choose /usr for
  &lt;prefix>.  You must use the same &lt;prefix> value for all the packages
  that you're going to install.<P>
  -->
  インストール時にファイル群をインストールする先のディレクトリを選択しなければなりません。
  以下ではそのディレクトリを &lt;prefix&gt; と呼ぶことにします。
  特定の条件で発生するような問題を避けるため、&lt;prefix&gt;
  の値はそのマシンの本来の gcc と同じ値にするのが最良です。
  例えば gcc が /usr/bin/gcc としてインストールされているなら、&lt;prefix&gt;
  として /usr を選んでください。
  これからインストールしようとしているパッケージすべてに対して、同じ
  &lt;prefix&gt; を用いる必要があります。
  <p>
  <!--
  During compilation, you'll need about 31MB disk space for binutils. For
  installation, you'll need 7MB disk space on &lt;prefix>'s
  partition.  Building egcs requires 71MB, and installation 14MB.  GNU libc
  requires 149MB disk space during compilation, and 33MB for installation.
  Note, these numbers are just a guideline and may differ significantly for
  different processor and operating system architectures or compiler options.
  -->
  コンパイル中には、binutils には約 31MB のディスクの空きが必要です。
  また、インストールするためには &lt;prefix&gt; のあるパーティションに 7MB
  の空きが必要です。egcs の作成には 71MB が、インストールには 14MB が必要です。
  GNU libc はコンパイルに 149MB の空きが、そしてインストールには 33MB
  が必要です。注意してほしいのは、これは単なる目安だということです。
  異なるプロセッサやオペレーティングシステムやコンパイラオプションによって大きく異なるかもしれません。

 <sect1><!--Byte order-->バイトオーダ<p>
  <!--
  One of the special features of the MIPS architecture is that all processors
  except the R8000 can be configured to run either in big or in little endian
  mode.  Byte order means the way the processor stores multibyte numbers in
  memory.  Big endian machines store the byte with the highest value digits
  at the lowest address while little endian machines store it at the highest
  address.  Think of it as writing multi-digit numbers from left to
  right or vice versa.<P>
  In order to setup your cross-compiler correctly, you have to know the byte
  order of the cross-compiler target.  If you don't already know, check
  the section <ref id="hardware-platforms" name="Hardware Platforms"> for your
  machine's byte order.
  -->
  MIPS アーキテクチャの特徴的な機能の一つには、R8000
  を除くすべてのプロセッサでは、設定によってビッグエンディアンとリトルエンディアンのどちらででも
  動作可能であることが挙げられます。
  バイトオーダとは、メモリ中にプロセッサが複数のバイトを格納するやり方です。
  ビッグエンディアンのマシンでは、最大の桁側のバイト値が最小のアドレス位置に格納されます。
  リトルエンディアンのマシンでは、これが最大のアドレス位置に格納されます。
  複数の数字からなる数を左から右に書くか、逆順で書くかの違いだ、と考えてください。
  クロスコンパイラ環境を正しく設定するためには、クロスコンパイラのターゲットとなるマシンのバイトオーダを知らなければなりません。
  この内容を既に知っているのでなければ、マシンのバイトオーダについて
  <ref id="hardware-platforms" name="ハードウェアプラットフォーム"> の節を参照してください。

 <sect1><!-- Configuration names-->設定に使う名前<p>
<!--
  Many of the packages based on autoconf support many different
  architectures and operating systems.  In order to differentiate between
  these many configurations, names are constructed with
  &lt;cpu>-&lt;company>-&lt;os>, or even
  &lt;cpu>-&lt;company>-&lt;kernel>-&lt;os>.  Expressed this way,
  the configuration names of Linux/MIPS are: mips-unknown-linux-gnu for big
  endian targets, or mipsel-unknown-linux-gnu for little endian targets.  These
  names are a bit long and are allowed to be abbreviated to mips-linux or
  mipsel-linux.  You <sl>must</sl> use the same configuration name for all
  packages that comprise your cross-compilation environment.  Also, while
  other names, like mips-sni-linux or mipsel-sni-linux, are legal configuration
  names, use mips-linux or mipsel-linux instead. These are the configuration
  names known to other packages, like the Linux kernel sources, and they would
  otherwise have to be changed for cross-compilation.<P>
  I'll refer to the target configuration name below with &lt;target>.
  -->
  autoconf を使うパッケージの多くは、様々なアーキテクチャとオペレーティングシステムをサポートしています。
  これら多くの設定を区別するため、名前が
  &lt;cpu&gt;-&lt;company&gt;-&lt;os&gt; や
  &lt;cpu&gt;-&lt;company&gt;-&lt;kernel&gt;-&lt;os&gt;
  のように付けられています。この表現を使えば、Linux/MIPS の設定の名前は
  ビッグエンディアン向けには mips-unknown-linux-gnu
  で、リトルエンディアン向けには mipsel-unknown-linux-gnu
  です。この二つの名前は多少長いため、順に
  mips-linux と mipsel-linux という省略形が許されています。
  クロスコンパイル時の各パッケージのインストールでは、全パッケージに同じ名前を
  <sl>使わなければいけません</sl>。
  また、他の名前、例えば mips-sni-linux や mipsel-sni-linux
  も正しい設定名ですが、mips-linux と mipsel-linux のほうを使ってください。
  これらの名前は Linux カーネルソースなどの他のパッケージでも使っていますので、
  上記の二つ以外のものを使うとクロスコンパイル時に変更を行う必要が出てきます。
  <p>
  以下ではターゲットの設定に使う名前は &lt;target> と呼びます。

 <sect1><!-- Installation of GNU Binutils.-->GNU Binutils のインストール<p>
  <!--
  This is the first and simplest part (at least as long as you're trying to
  install on any halfway-sane UNIX flavour).  Just cd into a directory with
  enough free space and do the following:
  -->
  ここは最初の、最もやさしい部分です (少なくとも多少は真っ当な UNIX 系の OS
  上でインストールしようとしている場合には、ですが)。
  十分な空き容量のあるディレクトリに cd して、次の処理を行ってください。
  <verb>
   gzip -cd binutils-<version>.tar.gz | tar xf -
   cd binutils-<version>
   patch -p1 < ../binutils-<version>-mips.patch
   ./configure &#045;&#045;prefix=<prefix> &#045;&#045;target=<target>
   make CFLAGS=-O2
   make install
  </verb><!--
  This usually works correctly.  However, certain machines using GCC 2.7.x as
  compiler are known to dump core.  This is a known bug in GCC and can be fixed
  by upgrading the host compiler to GCC 2.8.1 or better.
  -->
  これで通常は正しく動作します。但し、GCC 2.7.x
  をコンパイラに使っている一部のマシンではコアダンプすることが知られています。
  これは GCC の既知のバグで、ホストマシンのコンパイラを GCC 2.8.1
  以降のものにすることで修正できます。

 <sect1><!-- Assert.h-->assert.hについて<p>
 <!--
 Some people have an old assert.h header file installed, probably leftover
 from an old cross-compiler installation.  This file may cause autoconf
 scripts to fail silently. Assert.h was never necessary and was only installed
 because of a bug in older GCC versions.  Check to see if the file
 &lt;prefix>/&lt;target>/include/assert.h exists in your installation.  If
 so, just delete the it - it should never have been installed for any version
 of the cross-compiler and will cause trouble.
 -->
 一部の人たちの環境には古い assert.h ヘッダファイルがインストールされています。
 これはおそらく古いクロスコンパイル環境の残骸だと思いますが、このファイルが残っていると
 autoconf はなにも言わずに失敗します。
 Assert.h が必要になることはなく、これは昔の版の GCC
 のバグのためにインストールされたものです。
 &lt;prefix&gt;/&lt;target&gt;/include/assert.h があなたのインストール環境にないか、チェックしてください。
 もしあるなら、単に消してください。
 これはどの版のクロスコンパイル環境でもインストールされるべきでは決してありませんし、トラブルの元にもなります。

 <sect1><!--Installing the kernel sources-->カーネルソースのインストール<p>
 <!--
 Installing the kernel sources is simple.  Just place them into some directory
 of your choice and configure them.  Configuring them is necessary so that
 files which are generated by the procedure will be installed.  Make sure
 you enable CONFIG_CROSSCOMPILE near the end of the configuration process.
 The only problem you may run into is that you may need to install some
 required GNU programs like bash or have to override the manufacturer-provided
 versions of programs by placing the GNU versions earlier in the PATH variable.
 Now, go to the directory &lt;prefix>/&lt;target>/include and create two
 symbolic links named asm and linux pointing to include/asm rsp. include/linux
 within your just installed and configured kernel sources.  These are
 necessary such that the necessary header files will be found during the next
 step.
 -->
 カーネルソースのインストールは簡単です。
 単にお好みのどこかのディレクトリに置き、設定するだけです。設定は必ず行ってください。
 というのは、その過程で作成されるファイルが、インストールされるからです。
 設定の最後のほうで CONFIG_CROSSCOMPILE を有効にすることを忘れないでください。
 引っかかる可能性のある問題は、場合によると bash のような GNU
 プログラムのインストールが必要になるかもしれないこと、また PATH
 環境変数を直して、ベンダの提供したものではなく GNU
 版のプログラムが先に呼ばれるようにしなければならないかもしれない、という二点だけです。
 インストール後に、直接 &lt;prefix&gt;/&lt;target&gt;/include
 に行って二個のシンボリックリンク、asm と linux を include/asm と
 include/linux を指すように作成してください。
 この作業は、次のステップ中に必要なヘッダファイルが見つかるようにするために、やっておかなければなりません。

 <sect1><!-- First installation of egcs-->egcs の最初のインストール<p>
 <!--
 Now the pain begins.  There is a so-called bootstrap problem.
 In our case, this means that the installation process of egcs needs an already
 installed glibc, but we cannot compile glibc because we don't have a
 working cross-compiler yet.  Luckily, you'll only have to go through this
 once when you install a cross-compiler for the first time.  Later, when you
 already have glibc installed, things will be much smoother.  So now do:
 -->
 さて、ここからが難所になります。いわゆるブートストラップ (ニワトリと卵)
 問題のためです。今回の場合、egcs のインストールには glibc
 があらかじめインストールされている必要がありますが、まだ動作するクロスコンパイラができていないので
 glibc のコンパイルができないのです。
 ありがたいことに、これを突破する必要があるのは、クロスコンパイラを作る最初の一回だけです。
 この後 glibc をインストールし終えたら、物事はずっとスムーズに行きます。
 では、行きましょう。
 <verb>
   gzip -cd egcs-1.1.2.tar.gz | tar xf -
   cd egcs-<version>
   patch -p1 < ../egcs-1.1.2-mips.patch
   ./configure &#045;&#045;prefix=<prefix> &#045;&#045;with-newlib &#045;&#045;target=<target>
   make SUBDIRS="libiberty texinfo gcc" ALL_TARGET_MODULES= \
           CONFIGURE_TARGET_MODULES= INSTALL_TARGET_MODULES= LANGUAGES="c"
 </verb> <!--
 Note that we deliberately don't build gcov, protoize, unprotoize, and the
 libraries.  Gcov doesn't make sense in a cross-compiler environment, and
 protoize and unprotoize might even overwrite your native programs - this
 is a bug in the gcc makefiles.  Finally, we cannot build the libraries
 because we don't have glibc installed yet.  If everything went successfully,
 install with:
 -->
 慎重に、gcov、protoize、unprotoize とライブラリは作らないように進めます。
 Gcov はクロスコンパイラ環境では意味をなしませんし、protoize と unprotoize
 は gcc の makefile
 のバグのため、既存の自マシン用のプログラムを上書きしてしまうかもしれません。
 最後に、ライブラリは glibc
 がまだインストールされていないため、作成できません。
 すべてうまくいったなら、次のようにインストールしてください。
 <verb>
   make SUBDIRS="libiberty texinfo gcc" INSTALL_TARGET_MODULES= \
           LANGUAGES="c" install
 </verb>
 <!--
 If you only want the cross-compiler for building the kernel, you're done.
 Cross-compiling libc is only required to be able to compile user applications.
 -->
 カーネルを作成するためのクロスコンパイラがほしいだけなら、ここで終了です。
 libc のクロスコンパイルは、ユーザアプリケーションをクロスコンパイルするためだけに必要になります。

 <sect1><!--Test what you've done so far-->ここまでやってきたことのテスト<p>
 <!--
 Just to make sure that what you've done so far is actually working, you
 may now try to compile the kernel.  Cd to the MIPS kernel's sources and
 type ``make clean; make dep; make''.  If everything went ok do ``make clean''
 once more to clean the sources.
 -->
 ここまでやってきたことが実際正しく動作するかを確認するには、この時点でカーネルをコンパイルしてみればよいでしょう。
 MIPS カーネルソースのディレクトリに cd
 して、`make clean; make dep; make'' と打ってみてください。
 すべて問題ないなら、``make clean'' を行って再度ソースをきれいにしておいてください。

 <sect1><!--Installing GNU libc-->GNU libc のインストール<p>
 <!--
 <sl>Note: Building glibc 2.0.6 using a compiler newer than egcs 1.0.3a is not
 recommended due to binary compatibility problems which may hit certain
 software.  It's recommended that you either use egcs 1.0.3a or use the files
 from a published binary package.  Crosscompiling GNU libc is always only the
 second best solution as certain parts of it will not be compiled when
 crosscompiling.  A proper solution will be documented here as soon as it is
 available and believed to be stable.</sl>  With this warning given, here's the
 recipe:
 -->
 <sl>注意：glibc 2.0.6 を egcs 1.0.3a より新しいコンパイラでコンパイルするのは
 お薦めできません。一部のプログラムが、
 バイナリの互換性問題にあたってしまうかもしれませんので。egcs
 1.0.3a を使うか、公開されているバイナリパッケージを使うことを勧めます。
 また、GNU libc をクロスコンパイルするのは常に次善の方法です、
 というのはクロスコンパイル時にはコンパイルされない部分があるからです。
 適切なやり方が見つかって安定性が確認されしだい、ここでそのやり方を文書化したいと思います。</sl>
 それでは、注意が済みましたので、レシピを。
 <verb>
   gzip -cd glibc-2.0.6.tar.gz | tar xf -
   cd glibc-2.0.6
   gzip -cd glibc-crypt-2.0.6.tar.gz | tar xf -
   gzip -cd glibc-localedata-2.0.6.tar.gz | tar xf -
   gzip -cd glibc-linuxthreads-2.0.6.tar.gz | tar xf -
   patch -p1 < ../glibc-2.0.6-mips.patch
   mkdir build
   cd build
   CC=<target>-gcc BUILD_CC=gcc AR=<target>-ar RANLIB=<target>-ranlib \
         ../configure &#045;&#045;prefix=/usr &#045;&#045;host=<target> \
         &#045;&#045;enable-add-ons=crypt,linuxthreads,localedata &#045;&#045;enable-profile
   make
 </verb>
 <!--
 You now have a compiled GNU libc which still needs to be installed.  Do
 <sl>not</sl> just type make install.  That would overwrite your host
 system's files with Linux/MIPS-specific files with disastrous effects.
 Instead, install GNU libc into some other arbitrary directory &lt;somedir>
 from which we'll move the parts we need for cross-compilation into the
 actual target directory:
 -->
 これでコンパイル済みの GNU libc
 ができましたが、まだインストールする必要があります。
 ここで単に make install と <sl>打ってはいけません</sl>。
 これをやるとホストマシンのシステムファイルが Linux/MIPS
 向けのファイルに置き換わって、破壊的な結果になります。
 そうではなく、GNU libc のインストールをどこか他の任意のディレクトリ
 &lt;somedir&gt; に一旦インストールして、そこからクロスコンパイルに必要になる部品を実際のターゲットディレクトリに移動します。
 <verb>
   make install_root=<somedir> install
 </verb>
 <!-- Now cd into &lt;somedir> and finally install GNU libc manually:-->
 ここで、&lt;somedir> に cd して、最後に GNU libc を手動でインストールします。
 <verb>
   cd usr/include
   find . -print | cpio -pumd <prefix>/<target>/include
   cd ../../lib
   find . -print | cpio -pumd <prefix>/<target>/lib
   cd ../usr/lib
   find . -print | cpio -pumd <prefix>/<target>/lib
 </verb><!--
 GNU libc also contains extensive online documentation.  Your system might
 already have a version of this documentation installed, so if you don't
 want to install the info pages, which will save you a less than a megabyte,
 or already have them installed, skip the next step:
 -->
 GNU libc には詳しいオンラインドキュメントが含まれています。
 あなたのシステムには既にこのドキュメントのどれかの版が含まれているでしょうから、もし
 info ページをインストールしたくない場合 (1MB 弱節約できます)
 や、既にインストールされている場合には、次の手順を飛ばしてください。
 <verb>
   cd ../info
   gzip -9 *.info*
   find . -name \*.info\* -print | cpio -pumd <prefix>/info
 </verb><!--
 If you're not bootstrapping, your installation is now finished.
 -->
 ブートストラップしない人は、ここでインストールはおしまいです。

 <sect1><!--Building egcs again-->egcs の再作成<p>
 <!--
 The first attempt of building egcs was stopped by lack of a GNU
 libc.  Since we now have libc installed we can rebuild egcs but this
 time as complete as a cross-compiler installation can be:
 -->
 最初の egcs の作成は GNU libc が無いため途中で止まっていました。今は
 libc もインストールしてあるので、ここで egcs の再作成を行えます。
 今回はクロスコンパイラとして完全なインストールができます。
 <verb>
   gzip -cd egcs-<version>.tar.gz | tar xf -
   cd egcs-<version>
   patch -p1 < ../egcs-1.1.2-mips.patch
   ./configure &#045;&#045;prefix=<prefix> &#045;&#045;target=<target>
   make LANGUAGES="c c++ objective-c f77"
 </verb><!--
 As you can see, the procedure is the same as the first time, with the
 exception that we dropped the &#045;&#045;with-newlib option.  This option was
 necessary to avoid the libgcc build breaking due to the lack of
 libc.  Now install with:
 -->
 見たとおり、手順は最初の時と殆ど同じですが、今回は --with-newlib
 オプションは落とします。このオプションは libgcc
 のビルドが libc
 が無いことで落ちるのを防ぐために必要でした。インストールは次のようにします。
 <verb>
   make LANGUAGES="c c++ objective-c f77" install
 </verb>
 <!--
 You're almost finished.  If you think you don't need the Objective&nbsp;C or
 F77 compilers, you can omit them from above commands. Each will save you about
 3MB.  Do not build gcov, protoize, or unprotoize.
 -->
 さて、殆ど完了です。もし Objective&nbsp;C や F77
 コンパイラが不要なら、上記のコマンドから省くことができます。各々 3MB
 位の節約になります。gcov、protoize と unprotoize は作成しないでください。

 <sect1><!--Should I build the C++, Objective&nbsp;C or F77 compilers?-->
 C++、Objective&nbsp;C や F77 コンパイラを作成すべきでしょうか？<p>

 <!--
 The answer to this question largely depends on your use of your cross-compiler
 environment.  If you only intend to rebuild the Linux kernel, then you have
 no need for the full blown setup and can safely omit the Objective&nbsp;C and
 F77 compilers.  You must, however, build the C++ compiler, because building
 the libraries included with the egcs distribution requires C++.
 -->
 この答えは、クロスコンパイラ環境の目的に大きく依存します。
 もしあなたが Linux カーネルを再作成することだけを考えているなら、何もかものセットアップを進める必要はなく、Objective&nbsp;C
 と F77 コンパイラは省いても問題ないでしょう。但し、C++
 コンパイラを作成する必要はあります。これは egcs
 ディストリビューションに含まれるライブラリを作成するには C++ が必要なためです。
 <sect1><!--How about float.h?-->float.h はどうすればいいのでしょう<p>
 <!--
 The installation of float.h is no longer necessary. Since about egcs 1.0.3a,
 a proper float.h header file will automatically be generated and installed.
 -->
 float.h のインストールはもう必要ありません。egcs 1.0.3a の頃から自動的に適切な
 float.h ヘッダファイルが作成され、インストールされるようになっています。

 <sect1><!--Known problem when cross-compiling-->クロスコンパイルでの既知の問題<p>
  <sect2><!-- IRIX crashes-->IRIX がクラッシュする<p>
  <!--
  Origin&nbsp;200 running IRIX 6.5.1 may crash when running ``make depend''
  on the Linux kernel sources.  IRIX&nbsp;6.5 on Indy and IRIX&nbsp;6.5.4 on
  Origin&nbsp;200 are known to work.
  -->
  Origin&nbsp;200 で IRIX 6.5.1 を走らせている場合、Linux
  カーネルソースから &ldquo;make depend&rdquo;
  を実行するとクラッシュすることがあります。
  Indy 上の IRIX&nbsp;6.5 と Origin&nbsp;200 の IRIX&nbsp;6.5.4
  は動くことが分かっています。

  <sect2><!--Resource limits on System&nbsp;V based hosts-->
   System&nbsp;V 系のホストでのリソース制限<p>
  <!--
  Typical System&nbsp;V-based Unices, like IRIX or Solaris, have limits for
  the maximum number of arguments to be passed to a child process which
  may be exceeded when cross-compiling some software like the Linux kernel
  or GNU libc.  For IRIX systems, the maximum length of the argument list
  defaults to 20KB, while Linux defaults to at least 128KB.  This size
  can be modified by the command ``systune ncargs 131072'' as root.
  -->
  System&nbsp;V 系の Unix システム、例えば IRIX や Solaris
  には子プロセスに渡せる引数の個数に制限があり、この制限を Linux カーネルや
  GNU libc のクロスコンパイル時に超えてしまうことがあります。
  IRIX システムでは引数のリストの最大長の既定値は 20KB ですが、Linux
  では少なくとも 128KB はあります。このサイズは root から
  `systune ncargs 131072'' コマンドを使って変更できます。

 <sect1>GDB<P><!--
 Building GDB as cross-debugger is only of interest to kernel developers. For
 them, GDB may be a life saver.  Such a remote debugging setup always
 consists of two parts:  the remote debugger GDB running on one machine, and
 the target machine running the Linux/MIPS kernel being debugged.  The machines
 are typically interconnected with a serial line.  The target machine's kernel
 needs to be equipped with a ``debugging stub'' which communicates with the
 GDB host machine using the remote serial protocol.<P>
 -->
 GDB をクロスデバッガとして作成することに興味を持つのは、カーネル開発者だけでしょう。
 カーネル開発者にとっては、GDB は命綱かもしれません。
 このようなリモートデバッグの設定はいつも二つの部分、あるマシン上で動く GDB
 リモートデバッガと、デバッグ対象の Linux/MIPS カーネルの動くターゲットマシン、
 からなります。この二台のマシン間は通常シリアルラインで接続されています。
 ターゲットマシンのカーネルには『デバッグ用のはめ込みプラグ』を備えておき、
 リモートシリアルプロトコルを用いる GDB ホストマシンと通信できるようにしておく必要があります。
 <p>

<!--
 Depending on the target's architecture, you may have to implement the
 debugging stub yourself.  In general, you'll only have to write very simple
 routines for the serial line.  The task is further simplified by the fact that
 most machines are using similar serial hardware, typically based on the 8250,
 16450 or derivatives.<P>
 -->
 ターゲットのアーキテクチャに依存しますが、おそらく『デバッグ用のはめ込みプラグ』は自分で作り込む必要があります。
 一般的に言って、シリアルライン用のとても簡単なルーチンを作る必要があるだけです。
 この作業は、殆どのマシンが通常 8250 や 16450 相当品
 を用いたよく似たシリアルハードウェアを用いているため、更に簡単なものとなっています。

 【訳注: 8250 と 16450 は殆ど同じ。16550 はソフトウェア上位互換で、PC-AT
 用のシリアルとして使われているもの。】<p>

 <!-- Write something about building GDB -->

<!--<sect>Compiling the kernel<P>-->
<sect>カーネルのコンパイル<P>
 <!--<sect1>Choosing a processor type<P>-->
 <sect1>プロセッサタイプを選択する<P>
  <sect2>R2000, R3000 ファミリ<P><!--
  <sect2>R2000, R3000 family<P>
   For these processors just select the R3000 option.  A kernel built for
   this option will not run on any other processors than R2000 and R3000
   family members.<P>-->
   これらのプロセッサでは、単に R3000 オプションを選択してください。
   このオプションで作成されたカーネルは R2000 と R3000
   ファミリのプロセッサ以外では走りません。<p>

  <sect2>R4000, R5000 ファミリ<P><!--
  <sect2>R4000, R5000 family<P>
   With the exception of the Nevada family these processors are all fully
   compatible with rescpect to the kernel.  Choose the option which matches
   your processor best for optimal performance.<P>-->
   Nevada
   ファミリを除いては、これらのプロセッサはカーネルの観点からはすべて互換です。
   最良の性能が得られるオプションを選択してください。<P>

  <sect2>R6000<P><!--
   Linux currently doesn't support the R6000 so this paragraph is entirely
   theoretical.  The R6000 has it's own, rather unique if not odd cache and
   MMU architecture; it also requires alot of workarounds as it's a quite
   broken piece of silicon.  Therefore a R6000 kernel will not work on any
   other processor nor will a kernel for another processor work on the
   R6000.<P>-->
   Linux は現在 R6000
   をサポートしていないので、以下は完全に理論上のみの話です。
   R6000 のキャッシュと MNU アーキテクチャは、変とは言わないまでも独特で、
   とても扱いにくいため多量の対処作業が必要になります。
   このため R6000 カーネルは他のプロセッサでは動かないでしょうし、
   他のプロセッサ用のカーネルも R6000 では動かないでしょう。<P>

  <sect2>Nevada<P><!--
   The Nevada nickname stands for the QED 5230, 5231, R5260, R5261, R5270 etc.
   family of CPUs.  It enables the use of additional instructions which are not
   supported on other processors therefore you only should choose this opition
   if you indeed have one of these processors.  If you're not sure configure
   for R4x00 or R5000 (see above) and <P>-->
   Nevada の愛称は、QED (現PMC Sierra) 社の RM5230, 5231, R5260, R5261, R5270
   ファミリプロセッサに付けられたものです。このオプションでは、
   他のプロセッサではサポートされていない追加命令が有効にされるため、
   このオプションを選択していいのは、本当にこの一群のプロセッサのどれかを使っているときのみです。
   自信がなければ、 R4x00 か R5000 (上記参照) を使ってください。<P>

  <sect2>SB1<P><!--
   Choose this option only for the Sibyte SB1 processor.  A kernel built for
   this processor will not work on any other processor type nor vice versa.
   Being a truly bleeding edge OS Linux supports this processor even though
   silicon doesn't even exist yet.-->
   Sibyte SB1 プロセッサの時のみこのオプションを選択してください。
   このプロセッサ向けに作成されたカーネルは他のプロセッサでは動きませんし、
   逆もまた真です。真に最先端の OS である Linux
   は、このプロセッサのシリコンがまだないのにも関わらず、このプロセッサをサポートしています。

   【訳注: SB1 はコア名で、このコアを採用しているのは現時点で Broadcom BCM1250,
   BCM1125 です。Sibyte は Broadcom に買収されていますが、Sibyte
   の名称はまだ残しています。】

  <sect2>R10000<P><!--
   Choose this option if you want to run Linux on a R10000, R12000 or R14000
   system.  A kernel built with this option will not work on R4000 or R5000
   family processors.-->
   R10000, R12000 または R14000 システムで Linux
   を実行する場合にはこれを選んでください。
   このオプションを付けて作られたカーネルは R4000 や R5000
   ファミリプロセッサでは動作しません。

  <sect2>MIPS32<P><!--
   Choose this option if you want to run Linux on a member of the MIPS32
   family.-->
   MIPS32 ファミリメンバで Linux を走らせる場合、これを指定してください。

   【訳注: MIPS64 ファミリは、R4000/5000 で動くはずです。】

   <P>

 <!--<sect1>Compatible options<P>-->
 <sect1>オプションの互換性<P><!--
  The kernel configuration process doesn't make a too strong attempt at making
  wrong configuration impossible.  So for example an SGI Indy may never have
  a framebuffer, yet it's possible to enable it which later on will result in
  a compile error.  This situation will improve in the future when CML2 will
  be the standard kernel configuration language; for 2.2 and 2.4 you still will
  have to care of your steps yourself.-->
  カーネル設定手順は、誤った設定が不可能になるような強過ぎる制約を入れてはいません。
  例えば SGI Indy ではフレームバッファは使えませんが、有効にすることはできますし、その結果後でコンパイルエラーになります。
  この状況は将来 CML2 が標準のカーネル設定言語になれば改善されるでしょうが、2.2
  と 2.4 カーネルでは、自分で足下に気を付ける必要があります。

 <sect1><!--Crosscompilation-->クロスコンパイル<P><!--
  The kernel has been carefully developped to ensure crosscompilation on a
  non-MIPS system is possible.  Once you've managed to get around the cliff
  of setting up a crosscompiler crosscompiling is easy.  To do so you have two
  options.  First you can pass CROSS_COMPILE=&lt;target>- (note the trailing
  dash) as an additional argument to your make invocations where you choose
  one of mips-linux, mipsel-linux, mips64-linux or mips64el-linux depending
  if your target is big or little endian, 32-bit or 64-bit.  An alternate
  way is setting the CONFIG_CROSSCOMPILE configuration option.  The kernel
  will then automatically choose the right value for CROSS_COMPILE which will
  keep make command lines a bit simpler.-->
  カーネルは非 MIPS システム上でのクロスコンパイル作成が可能となるように、注意深く開発されています。
  一旦クロスコンパイラの設定という崖を登ってしまいさえすれば、クロスコンパイルは容易です。
  これを行うためには、二つの選択枝があります。最初のものは、
  CROSS_COMPILE=&lt;target>- (最後のダッシュに注意) の後に mips-linux,
  mipsel-linux, mips64-linux, mips64el-linux
  のいずれかを続けたものを、make を起動する際の追加引数として渡す方法です。
  このうちのどれにするかは、ターゲットマシンが
  ビッグエンディアンかリトルエンディアンか、32-bit か 64-bit か、
  によります。もう一つのやり方は、CONFIG_CROSSCOMPILE
  設定オプションを与える方法です。カーネルはそれにより、CROSS_COMPILE
  に正しい値を自動的に設定しますので、コマンド行が少し簡単になります。

 <sect1>32-bit vs. 64-bit<P><!--
  By default the Linux/MIPS kernel source tree is configured to build a 32-bit
  target.  If you want to build a 64-bit kernel you'll have pass the additional
  ARCH=mips64 argument to all you make invokations.-->
  標準では Linux/MIPS カーネルソースツリーは 32-bit
  ターゲットを作成するようになっています。もし、64-bit
  カーネルをビルドしたい場合は、make が呼び出されるすべての箇所で ARCH=mips64
  の追加引数を渡してやる必要があります。

<sect><!-- Related Literature-->参考書籍<p>
 <sect1>See MIPS Run<p>
  <!--
  Author Dominic Sweetman, Publisher Morgan Kaufmann, ISBN 1-55860-410-3.-->
  著者: Dominic Sweetman, 版元: Morgan Kaufmann, ISBN 1-55860-410-3
  <!--

  This is intended as a pretty comprehensive guide to programming MIPS,
  wherever it's different from programming any other 32-bit CPU.  It's the
  first time anyone has tried to write a readable, and comprehensive,
  explanation and account of the wide range of MIPS CPUs available. It should
  be very helpful for anyone programming MIPS who isn't insulated by someone
  else's operating system.  Also, the author is a free-unix enthusiast who
  subscribes to the Linux/MIPS mailing list!
  -->
  この本は MIPS プログラミングのかなりわかりやすいガイドを目指したもので、特に他の
  32-bit CPU と異なる点が詳細に書かれています。これは入手できる広い範囲の
  MIPS CPU について読みやすい、包括的な説明が書かれた最初の本です。
  この本は他のオペレーティングシステムのことを知らなくはないような MIPS
  プログラマに大いに助けになるはずです。また、この本の著者は free-unix
  の信奉者で Linux/MIPS メーリングリストに参加しています。

  <!--
  John Hennessey, father of the MIPS architecture, was kind enough to write
  in the foreword: ``... this book is the best combination of completeness
  and readability of any book on the MIPS architecture ...'';
  -->
  MIPS アーキテクチャの父、John Hennessey はこの本に次の序文を寄せています:
  「この本は MIPS アーキテクチャについて書かれた本の中で、
  内容の完璧さと読みやすさにおいて最高のものです。」

  <!--
  It includes some context about RISC CPUs, a description of the
  architecture and instruction set, including the "co-processor 0"
  instructions used for CPU control; sections on caches, exceptions, memory
  management, and floating point.  There's a detailed assembly language
  guide, some stuff about porting, and some fairly heavy-duty software
  examples.
  -->
  この本は RISC CPU に関する多少の説明と MIPS
  アーキテクチャと命令セットの詳細な説明
  (CPU 制御のための co-processor 0
  命令、キャッシュの章、例外、メモリ管理及び浮動小数点) を含みます。
  また詳しいアセンブラ言語のガイド、移植性に関するいくつかの注意点、
  そしてかなり詳しいソフトウェアの例も書かれています。

  <!-- Available from:-->次のサイトと

<itemize>
   <ITEM><htmlurl url="http://www.algor.co.uk/algor/info/seemipsrun.html"
    name="Algorithmics"> (Europe)
   <ITEM><htmlurl
    url="http://www.mkp.com/books_catalog/catalog.asp?ISBN=1-55860-410-3"
    name="Morgan Kaufmann"> (US)
   <ITEM><htmlurl
    url="http://www.amazon.com/exec/obidos/ASIN/1558604103/algorithmicsltd"
    name="Amazon USA">
   <ITEM><htmlurl
    url="http://www.amazon.co.uk/exec/obidos/ASIN/1558604103/algorithmicsltd"
    name="Amazon UK">
  </itemize>

  <!-- and from good bookshops anywhere.  It's 512 pages and costs around
  &dollar;50 in the US, &pound;34 in the UK.
  -->
  大きな書店で入手できます。512 ページで、US では約 &dollar;50、英国では
  34 ポンドです。

<!--
  I'd be inclined to list two other books too, both from Morgan Kaufmann and
  available from www.mkp.com or any good bookshop:
  -->
  更に二冊の本も挙げておきたいと思います。どちらも Morgan Kaufmann
  社からで、www.mkp.com や大きな書店で入手できると思います。

  <sect1>The MIPS Programmer's Handbook<P><!--
  Authors Farquhar and Bunce, Publisher Morgan Kaufmann,
  ISBN&nbsp;1-55860-297-6.-->
    著者: Farquhar and Bunce, 版元: Morgan Kaufmann,
  ISBN&nbsp;1-55860-297-6.

<!--
  A readable introduction to the practice of programming MIPS at the low
  level, by the author of PMON.  Strengths: lots of examples; weakness:
  leaves out some big pieces of the architecture (such as memory management,
  floating point and advanced caches) because they didn't feature in the LSI
  ``embedded'' products this book was meant to partner.
  -->
  PMON の作者による、低レベルの MIPS
  プログラミングを試みる際の読みやすい入門書です。
  長所：例が豊富です。短所：アーキテクチャの大きな項目がいくつか抜けています
  (例えば、メモリ管理、浮動小数点や高度なキャッシュ管理など)。
  これはこの本の読者層として想定されている組込用製品では使われない機能であるためです。

  <sect1>Computer Architecture - A Quantitative Approach<p>
  <!-- Authors Hennessy & Patterson, Publisher Morgan Kaufmann,-->
  著者: Hennessy &amp; Patterson, 版元: Morgan Kaufmann,
  ISBN&nbsp;1-55860-329-8.
  <p>【和訳：コンピュ−タ・ア−キテクチャ〜設計・実現・評価の定量的アプローチ〜
  ヘネシー＆パターソン著、富田眞冶、村上和彰 訳
  B5判、800ページ、価格（本体11,650円+税）ISBN 4-8222-7152-8 日経BP社。
  訳は第一版のものです】</p>

  <!-- The bible of modern computer architecture and a must-read if you want
  to understand what makes programs run slow or fast.  Is it about MIPS?
  Well, it's mostly about something very <em>like</em> MIPS...  Its sole
  defect is its size and weight - but unlike most big books it's worth
  every page.
  --><p>
  現在のコンピュータアーキテクチャの基本中の基本の教科書で、
  プログラムがなぜ早かったり遅かったりするのかを知りたいなら必読です。この本が
  MIPS についてかどうかですが、とても MIPS
  に <em>似た</em> アーキテクチャを例にしています。
  この本の唯一の欠点はその大きさと重さです -
  但し、重い本の通弊をもたず、この本はどのページにも価値があります。
</p>

  <sect1>UNIX System&nbsp;V ABI MIPS Processor Supplement<p>
  By Prentice Hall, Published 05/1991, ISBN&nbsp;0-13880-170-3.
  <!-- This book defines many of the MIPS specific technical standards like calling
  conventions, ELF properties, and much more that is being used by Linux/MIPS.
  Unfortunately it's out of print.  Similarly, the site
  <em>"http://www.mipsabi.org/"</em> is offline.
  -->
  この本は MIPS 固有の技術標準、例えば関数呼び出し手順や、ELF
  の形式など、Linux/MIPS で使っている標準を多数規定しています。
  残念ながら、これは現在品切れです。同様にサイト
  <em>"http://www.mipsabi.org/"</em> にも現在アクセスできません。
  <sect1><!--The mips.com site-->mips.com サイト<p>
  <!-- Under <url url="http://www.mips.com/publications"> there are various PDF
  documents and data sheets about individual processors.
  -->
  <url url="http://www.mips.com/publications">
  以下に各プロセッサの概説やデータシートが PDF 形式で置かれています。

  <sect1><!--The NEC site-->NEC サイト<p>
  <!-- NEC Electronics (<url url="http://www.necel.com"> includes complete manuals
  about their VR41xx processors.
  -->
  NEC Electronics (<url url="http://www.necel.com">)
  には NEC 製の VR41xx プロセッサに関するマニュアルが一式そろっています。
  </p><p>
  【訳注：www.nec.co.jp にも多数置かれています。日本語のものは物によっては
  NEC に問い合わせる要あり。】</p>

  <sect1>techpubs.sgi.com<P><!--
  While being very SGI centric <url url="http://techpubs.sgi.com"> has a number
  of ABI related documents online that also apply to Linux/MIPS.-->
  SGI 中心ですが、<url url="http://techpubs.sgi.com"> にある ABI
  関連の多数の文書は Linux/MIPS にも適用されるものです。

  <sect1>oss.sgi.com<P><!--
  Oss.sgi.com has a collection of ABI related documents available under
  <url url="ftp://oss.sgi.com/pub/linux/mips/doc/ABI/"> among those
  electronically readable versions of the MIPS ABI documents, N32
  documents etc.  Some of these replicate what's available at other places
  but here basically everything that's relevant is available in one place.-->
  Oss.sgi.com には <url url="ftp://oss.sgi.com/pub/linux/mips/doc/ABI/">
  以下に ABI 関連の文書が集められており、その中には電子的に読める MIPS ABI
  文書や、N32 文書等があります。
  これらの内には他の場所でも手に入るものもありますが、ここは基本的には一カ所に関連文書のすべてが集められている場所、です。

<sect>日本語訳について
<p>
誤字・脱字・誤訳等なにかありましたら &lt;JF@linux.or.jp&gt; までお知らせください。
</p>
<p>翻訳：
<itemize>
<item>かねこ &lt;skaneko@a2.mbn.or.jp&gt;</item>
</itemize>
校正：
<itemize>
<item>岡本さん &lt;kokamoto@itg.hitachi.co.jp&gt</item>
<item>中野さん &lt;nakano@apm.seikei.ac.jp&gt;</item>
</itemize>
</p>
</sect>
</article>
