  Linux+Solaris HOWTO
  MaxBerger <max.berger@xslt.de>
  v0.8-$Revision: 1.1 $, $Date: 2000/04/17 23:48:03 $
  日本語訳: 木村 智明<t-kimura@po.shiojiri.ne.jp>
  v1.0.0j  May. 13, 2001

  この HOWTO は、１台の PC で Linux(x86) と Solaris(x86) を一緒に使う方
  法について書かれています。

  ______________________________________________________________________

  目次

  1. イントロダクション
     1.1 なんで Solaris なの?
     1.2 この HOWTO で触れられている事
     1.3 参照したバージョン
     1.4 注意事項

  2. ハードディスクの準備
     2.1 伝統的な PC のパーティション
     2.2 Solaris パーティションラベル
     2.3 ハードディスクの容量
     2.4 簡単なチェック項目

  3. Linux の準備
     3.1 新しい kernel の構築
     3.2 ブートローダの準備

  4. Solaris のインストール
     4.1 Solaris interactive
     4.2 Web-Start
     4.3 GNU-tools の入手

  5. ブートに関して
     5.1 Solaris 付属のブートマネージャを使う
     5.2 lilo を使う
     5.3 grub を使う

  6. データの共有
     6.1 共有パーティションを使う
     6.2 その他の手段

  7. 他のシステムのバイナリーを実行させる
     7.1 Solaris 上で Linux のバイナリーを実行する
     7.2 Linux 上で Solaris のバイナリーを実行する

  A. さらに情報を見つけるには
  B. 謝辞
     B.1 お礼
     B.2 疑問, 注文, 提案
     B.3 著作権

  C. 日本語訳について

  ______________________________________________________________________

  1.  イントロダクション

  1.1.  なんで Solaris なの?

  実によい質問ですね。 Linux を使うことができるご時世に、なんで Solaris
  なのでしょう？ Solaris は商用システムですから、サポートするハードウェ
  アは多くはありません。でも、この文章を読んでいるということは、すでに
  Solaris を使おうと決めているのかもしれませんね。そうでなくとも、使って
  みるべき理由はいくつかあります -

  o  私の場合、Solaris マシンのシステム管理のアルバイトをしています。で
     すから、自宅で Linux の巧みなコマンドパラメータや、気の利いたコツを
     覚えてみても、Solaris マシン上で使えなければなんにもならないので
     す。

  o  Sun 社は Solarils を``送料と手数料のみ''で何度か提供していますし、
     これからもそのような形で提供されるでしょう。この``ほとんど無料''と
     いうのは、なかなか魅力的です。

  o  CDE が好きだというのも、Solaris を使う理由になるかもしれません。

  1.2.  この HOWTO で触れられている事

  この HOWTO では、すでに Linux が動いている x86 マシンに対して、
  Solaris 7 または 8 をインストールしようとするのを、助けようとするもの
  です。主に対象とするのは、

  o  データを破壊しないようにインストールするには、 ``「ハードディスクの
     準備」''の章を読んでください。

  o  Linux と Solaris を共存させる( boot manager を利用)には、 ``「ブー
     トに関して」''の章を読んでください。

  o  Linux と Solaris の間でデータを共有するには、 ``「データの共
     有」''の章を読んでください。

  1.3.  参照したバージョン

  この文章を書くにあたって、参照したバージョン -

  o  Solaris 7 x86 (= Solaris 2.7 / SunOS 5.7)

  o  Solaris 8 x86 (= Solaris 2.8 / SunOS 5.8)

  o  Linux 2.2.14, 2.3.99-pre3

  o  fdisk v2.10f

     この情報は、他のバージョンのソフトウェアにも適応できるかもしれませ
     んが、まったく違うかもしれません。

  1.4.  注意事項

  お願いですから、システムからデータが消える前に、バックアップをとってお
  いてください。この文章に記されている多くの事は、とんでもないデータの消
  失をおこすかもしれません。私はデータの消失に対して、何ら責任をとれませ
  ん。 ``「著作権」''の章もみておいてください。

  2.  ハードディスクの準備

  Solaris のためにハードディスクを準備するには、一般的な PC のパーティ
  ションテーブルと、Solaris のディスクスライスについて知る必要がありま
  す。この HOWTO では、１台だけハードディスクを持つシステムについて述べ
  ていますが、すべての情報は、複数台のディスク環境でも同じように適応でき
  るでしょう。

  2.1.  伝統的な PC のパーティション

  標準的なパーティションテーブルでは、４つだけエントリーがあります。我々
  にとって重要なエントリーは、下記のものです -

     プライマリ パーティション
        １つ確保されます。 またぴったり１つのパーティションを含んでいま
        す。リソースの無駄遣いのようですが、ブートできるのはこのパーティ
        ションだけです。

     拡張領域（拡張パーティション）
        １つ確保されます。ここには、DOS や Linux など他のパーティション
        を含む事ができます。

     Solaris パーティション
        １つ確保されます。ここには、複数の Solaris パーティションを含む
        ことができます。

  自分のシステムに何のパーティションがあるのか知るために、fdisk を使いま
  しょう。パーティション番号 1 から 4 (hda1..4, sda1..4, ...)  は、パー
  ティションテーブルの１つです。

  2.2.  Solaris パーティションラベル

  Solaris は独自のパーティション機構を持ちます。この機構では、パーティ
  ションテーブルのうち１つの領域を使い、それが（Solaris における）全体の
  ディスクとして振舞うことになります。

  この仮想ディスクは、（最大）８つまでのスライスに分割されます。３番目の
  スライス、s2 は、仮想ディスク全体をカバーしています。そのため、実際に
  は Solaris の為に７つまでのスライスを持つことになります。

  あいにく、Solaris パーティションは、Linux の Swap パーティション
  (82)と同じタイプです。それゆえ、Linux の Swap パーティション(82)をプラ
  イマリパーティションとして確保する事ができません。Linux では問題になり
  ませんが、Solaris ではどうなのか誰にもわかりません。

  Linux の fdisk は、``Sun disklabel'' をサポートしているのですが、これ
  が役立つようには思えません。

  2.3.  ハードディスクの容量

  当然ですが、Solaris はディスク領域を必要とします。Solaris 8 の最小イン
  ストール で、300MB 程です。一般的なツールのインストールには 700MB
  程、``developer-system''では、およそ 1GB 必要です。

  しかし、これは基本インストールに必要とされる領域に過ぎません。あなたは
  多くの GNU-Tools をはじめ、他もろもろをインストールしたいでしょう。そ
  れにもし Solaris - Linux 間でデータの共有をしたい場合、共有は Solaris
  のパーティション上で行わねばなりません。

  あなたはもしかして、Solaris - Linux 間で home ディレクトリの共有まで考
  えているかもしれません。これを書いている時点において言うならば、そんな
  考えは捨ててください！私は自分の home ディレクトリを共有しようとして、
  めちゃめちゃにしてしまい、バックアップにすごーく感謝しました。この章も
  参照してください。 ``データの共有''

  2.4.  簡単なチェック項目

  これらは簡単なチェック項目です。自分で確認してみてください -

  o  パーティションテーブルにあるエントリのうち、使っているのは３つ以下
     ですか？

  o  プライマリパーティションとして、Linux swap パーティションではないパ
     ーティションが確保してありますか？

  o  少なくとも１つの Linux ext2 パーティションが、プライマリとして確保
     してありますか？

  o  パーティションに区切っていない領域が、少なくとも 1GB 以上あります
     か？

  3.  Linux の準備

  3.1.  新しい kernel の構築

  人によっては、kernel の再構築が嫌いな方がいます。もし、１つのハード
  ディスク上で Solaris - Linux 間でデータの共有をしたいのなら、必ず
  kernel の再構築をする必要があります。しかし、データの共有をしたくない
  のであれば、古い kernel を使う事で kernel の再構築は避ける事ができま
  す。

  kernel のオプションに、``Solaris compatibility''というのがあります -

  o  code maturity の下層 -

     Prompt for development drivers
        残念な事ですが、UFS への書き込みは、まだ実験段階です。

  o  file systems において -

     UFS file system support
        UFS は、Solaris のファイルシステムです。

     UFS file system write support
        Solaris にデータを渡す、唯一の方法です。

     partition types / Solaris
        (x86) partition table support" Solaris パーティションに含まれて
        いるスライスをみつけるために必要です。

     kernel の構築に関するより詳しい情報は、Kernel-HOWTO で見つける事が
     できます。

  3.2.  ブートローダの準備

  ブートローダをいじくる前に、もとのシステムを起動可能な、緊急起動ディス
  クが用意してあるか確認してください。

  残念ながら、Solaris のインストールでは、マスターブートレコード (master
  boot record : MBR) や、もともとあるブートマネージャを上書きしてしまい
  ます。

  しかし幸いなことに、Solaris のブートマネージャは、チェインブートが可能
  です。この機能を使うためには、古いブートローダ (e.g. lilo) を、プライ
  マリ Linux パーティションのブートセクタに置く必要があります。

  lilo に関しては、次のようになります - /etc/lilo.conf を見てください。
  その中にある boot= の行を探してください。もしその行が、 boot=/dev/hda1
  の様になっていたら、全てうまくいっています。しかし、その行がもし
  boot=/dev/hda の様になっていたら、それは MBR を指しています。プライマ
  リ Linux パーティションを指すように、変更してください。 (e.g.
  boot=/dev/hda1)

  ブートローダがチェインブート可能かどうか調べる方法は、lilo を MBR へイ
  ンストールしてみて、他のブートマネージャでチェインブートができるか試し
  てみることです。私は、次に示すようなlilo.conf.mbr と名付けたファイルを
  使っていました。こんな内容です -

  ______________________________________________________________________
  #lilo.conf.mbr
  #Lilo in Master Boot Record doing nothing but chain-loading another lilo
  boot=/dev/hda
  root=/dev/hda5
  install=/boot/boot.b
  map=/boot/map
  vga=ask
  delay=50
  other=/dev/hda1
  label=lilochain
  ______________________________________________________________________

  これを lilo -C lilo.conf.mbr と実行する事で、 MBR に lilo をインストー
  ルできます。また、lilo をハードディスクのブートセクタにインストールす
  るために、lilo を実行する事を忘れないでください。

  ここで直ちにリブートすると、起動時に lilo プロンプトが現れるはずです。
  この状態のとき other を選択すると、もともとある lilo が起動され、Linux
  の起動に移行していきます。

  4.  Solaris のインストール

  4.1.  Solaris interactive

     Solaris 7
        Solaris の対話式インストールは、一枚目のCDにあります。一枚目から
        起動して、Solaris interactive を選択してください。

     Solaris 8
        Solaris 8 では、対話式インストーラは software CD の一枚目にあり
        ます。インストール CD は、全く必要ありません。

  Solaris のインストール自体は、整然と進んでいきます。混乱するとすれば、
  パーティションの確保でしょう。Solaris は、自動的にハードディスクの空き
  容量全部を使って、仮想ディスクを作ります。ですから、仮想ディスクにスラ
  イスを確保する段階になったら、 Solaris/Linux 間のデータ交換用の領域を
  追加する事を忘れないでください。この為に便利なマウント場所
  は、/export/share の様な、拡張パーティションです。

  注意事項 - もし Solaris インストール最中に作業を中断してしまうと、この
  段階ではすでにハードディスクの MBR が書き換えられてしまっているでしょ
  うから、二度とハードディスクから起動できなくなるかもしれません。

  4.2.  Web-Start

  私は一度も Web-Start でうまくいった事がありません。もしこれを使った経
  験がある方がいらっしゃいましたら、メールをください。

  しかし、一旦 Solaris をインストールしてしまえば、 web-start-package で
  問題が起きた事はありません。

  4.3.  GNU-tools の入手

  Solaris の標準インストールでは、less コマンドすらインストールされませ
  ん。そんなものは、Solaris 向け RedHat Package Manager(RPM) からもって
  くれば? と薦めるかたもいますが、通常は標準のパッケージ tool を使いま
  す。多くのすばらしいパッケージは、http://www.sunfreeware.com で見つけ
  る事ができます。標準パッケージは、次のコマンドでインストールできます。
  pkgadd <package> また web-start ではこのようになりま
  す。java <packagewithoutclassextension>

  5.  ブートに関して

  5.1.  Solaris 付属のブートマネージャを使う

  ブート時、Solaris のブートマネージャでは、どのパーティションから起動す
  るのか、４つのプライマリパーティションから選択できます。もし自分のブー
  トローダを、プライマリパーティションのブートセクタにインストールしてい
  るのなら、全てうまくいくでしょう。このパーティションからブートさせるだ
  けで、Linux が起動するはずです。

  5.2.  lilo を使う

  今、lilo は二番目のブートローダとして機能しています。しかし、もう一度
  第一のブートローダとして使いたくありませんか？何も問題はありませ
  ん。lilo は簡単に Solaris をチェインブートできます。ただ、lilo.conf に
  対して、適切に other= の行を付け加えればよいだけです。

  テストするにあたって、まず初めに Solaris のチェインロードをブートセク
  タにある lilo に加えてみましょう。そして心ゆくまで、 lilo Solaris
  ,lilo Solaris ... と チェインロードさせてみましょう。もしこれがうまく
  いくようなら、lilo を再び MBR へ戻す事ができるでしょう。

  しかしながら、Solaris がパーティションテーブルをめちゃめちゃにしてし
  まったかもしれません。この事は、私のシステムに Solaris 8 をインストー
  ルした後、発生しました。 lilo は新型のパーティションとは相性がよくあり
  ません。fdisk も同様です。 Solaris 7 の時は、なにも問題がなかったので
  すが。

  5.3.  grub を使う

  大変残念な事なのですが、私は Solaris で grub boot を経験した事がありま
  せん。だれか経験がある人がいましたら、私までメールを下さい！

  (訳注 : grub とは、GNU GRUB という Multiboot ブートローダの事です。詳
  しい情報が必要な方は、GNU GRUB のサイト GNU GRUB
  <http://www.gnu.org/software/grub/grub.ja.html> へアクセスしてみてくだ
  さい。)

  6.  データの共有

  6.1.  共有パーティションを使う

  もし「``新しいカーネルの構築''」の章で触れたように、カーネルを Sun
  ディスクラベルと UFS をサポートするように構築しているのなら、 Solaris
  パーティションをマウントする事ができます。カーネルのブート中に、次の様
  なメッセージを目にするでしょう -

    hda: [PTBL] [523/255/63] hda1 hda2 < hda5 hda6 hda7 hda8 > hda3 <Polaris: [s0]
    hda9 [s1] hda10 [s2] hda11 [s3] hda12 [s6] hda13 [s7] hda14>

  このケースでは、パーティション 3 (hda3) は、６つのスライス
  (s0,s1,s2,s3,s6,s7) をもつ Solaris パーティションを意味します。これら
  のスライスは、Linux において、hda9 から hda14 のデバイスとして認識され
  ます。

  Solaris のパーティションを、マウントしてみましょう。 UFS パーティショ
  ンをマウントする時には、常に -oufstype= の指定が必要です。このケースで
  は、-oufstype=sunx86 となります。つまり、パーティションをマウントする
  コマンドは、この様になります -

    mount -oufstype=sunx86 /dev/hda14 /mnt

  さあ、パーティションを確認してみましょう。注意点 - UFS パーティション
  に対しての書き込みは、まだ実験的なものです。お願いですから、UFS パー
  ティションに書き込んだデータを信用しないようにしてください。

  もし、Solaris パーティションをブート時に自動でマウントするようにしたけ
  れば、次の様な行を /etc/fstab に加えてください。

    /dev/hda14 /solaris ufs ufstype=sunx86 0 0

  6.2.  その他の手段

  当たり前の事ですけど、データを共有するには他の手段もあります -

     フロッピーディスク
        私は、フロッピーディスクのどのファイルシステムが Solaris で使え
        るのか知りません。 知っていたらメールをください。

     ネットワーク経由
        Solaris は NFS が利用できます。Linux も NFS が使えます。この方法
        は、データを共有するには一番良い方法かもしれませんね。

  7.  他のシステムのバイナリーを実行させる

  7.1.  Solaris 上で Linux のバイナリーを実行する

  これは、``lxrun''というプログラムを使う事でサポートされています。私に
  は、まだこのプログラムをテストする暇がありません。もっと情報が必要でし
  たら、Solaris のウェブサイトをみてください。

  7.2.  Linux 上で Solaris のバイナリーを実行する

  私の知る限り、サポートされていません。

  A.  さらに情報を見つけるには

  これらの URL は、きっと役に立つでしょう -

  o  Sun Freeware <http://www.sunfreeware.com>
     私が Solaris 用のリソースを見つけるにあたって、まず最初にアクセスす
     るサイトです。多くの GNU-tools が、バイナリ形式で即インストールでき
     る状態になって置いてあります。

  o  Sun Microsystems <http://www.sun.com>

     Sun 社の公式サイト

  o  Solaris Homepage <http://www.sun.com/Solaris>

  o  Solaris Hardware Compatibility List (HCL)
     <http://soldc.sun.com/support/drivers/hcl/index.html>

  o  Solaris Online Documentation <http://docs.sun.com>

  o  My Website <http://www.xslt.de>
     いつでもこのドキュメントの最新バージョンを、ページのどこかで見つけ
     る事ができます。

  B.  謝辞

  B.1.  お礼

  自分のマシンに Solaris をインストールし、この HOWTO を検証してくれた
  Marcel Meyer 氏に感謝いたします。

  B.2.  疑問, 注文, 提案

  これらは、いつでも歓迎します。 max.berger@xslt.de までどうぞ。

  B.3.  著作権

  訳注：著作権に関する宣言は、原文を尊重することとし、訳は参考程度にとど
  めます。

  This document is copyrighted (C) by Max Berger. You may use and/or
  modify it according to the Linux Documentation Project License (LDPL)
  found at http://www.linuxdoc.org/COPYRIGHT.html.

  参考訳：この文章の著作権は、Max Berger が所有します。この文章の利用及
  び変更にあたっては、Linux Documentation Project License(LDPL) に従って
  ください。 Linux Documentation Project License(LDPL) は、ここで見る事
  ができます。http://www.linuxdoc.org/COPYRIGHT.html.

  According to the license you don't have to tell me, but I'd very much
  like to know when you modify and/or republish this document.

  参考訳：このライセンスに従う限り、私に連絡をする必要はありません。です
  が、私にとって、この文章が改良されたり再出版されたりする事を知るのは、
  とっても嬉しい事です。

  Although the information given in this document is believed to be
  correct, the author will accept no liability for the content of this
  document. Use the tips and examples given herein at your own risk.

  参考訳：この文章で書いた情報は正しいものであると信じていますが、作者は
  この文章の内容に対して、なんら責任を負いません。この文章中に出ているサ
  ンプルは、自己責任において使ってください。

  C.  日本語訳について

  日本語訳 初版: 2001年 5月 13日

  この文書を翻訳及び編集するにあたり、以下の方々からアドバイスを頂きまし
  た。 (50音順)
  本当にありがとうございました。

  o  岡本 さん

  o  大畑 さん

  o  後藤 雅晴さん

  o  小林 雅典さん

  o  境真 太郎さん

  o  佐野 武俊さん

  o  鈴木 康弘さん

  o  千旦 さん

  o  高城 正平さん

  o  山下 義之さん

