[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

/Documentation/bootcd.list 1.14



こんにちは。

/Documentation/bootcd.list 1.14 の翻訳です。

-- やまの

<html>
<head>
<!-- Copyright (c) 2000
	The NetBSD Foundation, Inc.  ALL RIGHTS RESERVED. -->
<link rev="made" href="mailto:www@JP.NetBSD.ORG">
<title>NetBSD Bootable CD ROM HOWTO</title>
</head>
<body bgcolor="#FFFFFF" text="#000000">
<HEADING>ブート可能な CD ROM の作成方法

<LIST>

<SECTION>Overview

<ENTRY>introduction 概要と目的

このドキュメントでは、ブート可能な NetBSD CD ROM の作成方法を
説明します。

<SECTION>CD イメージを作成する
CD ROM を作成するためには、まず CD のイメージを作成する必要があります。
このイメージを、最初にハードディスク上に(最大でも 650 MB 程度)ファイル
として保存し、その後 CD に焼きます。

このセクションでは、<tt>mkhybrid</tt> が使用可能であることを前提として
います。もし、NetBSD マシン上に CD イメージを作るのなら、
<PKGSRC>sysutils/mkhybrid
パッケージを使い、mkhybrid をインストールすることができます。
また、<tt>mkisofs</tt> を使うこともできます。
<PKGSRC>sysutils/mkisofs
パッケージが用意されています。

以下の例では、<tt>/cdsources</tt> ディレクトリがシステム上に存在し、
その中にCD ROM に焼く全てのファイルが含まれているものとします。
インストール CD を作成するためのお勧めのレイアウトは、
<a href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.4.2">ftp.netbsd.org</a>
のディレクトリ構造です。例えば:
<pre>
  /cdsources/i386/.....
  /cdsources/sparc/.....
</pre>


<ENTRY>alphaimage NetBSD/alpha
NetBSD/alpha 用のブート可能な CD ROM を作成するためには、二つの手順が
必要です。最初に CD に焼くファイルの ISO 9660 イメージを作成します。
このイメージのルートディレクトリには、二番目のブートプログラムとカーネル
が存在しなければなりません。蛇足ですが、一番目のブートプログラムは次の
手順で必要となります。ブートプログラムとカーネルを正しいディレクトリに
置くために、以下の作業をおこなってください。
<pre>
  cd /cdsources/alpha/binary/sets
  tar -zxvf base.tgz ./usr/mdec/boot ./usr/mdec/bootxx_cd9660
  mv -f ./usr/mdec/boot /cdsources/boot
  mkdir /tmp/mdec.alpha
  mv -f ./usr/mdec/bootxx_cd9660 /tmp/mdec.alpha/bootxx_cd9660
  rmdir ./usr/mdec
  cd /cdsources/alpha/installation/instkernel
  cp -f netbsd.gz /cdsources/netbsd.gz
</pre>
さて、ISO 9660 イメージを作成しましょう。
<pre>
  mkhybrid -o output.iso -a -l -J -r -L /cdsources
</pre>
次に、NetBSD/alpha のディスクと CD-ROM のブートストラップソフトウェア
を、<tt>installboot(8.alpha)</tt> を使いインストールします。以下のコマンド
を実行してください:
<pre>
  installboot -v output.iso /tmp/mdec.alpha/bootxx_cd9660 
</pre>
このコマンドを NetBSD/alpha マシン上で実行するか、alpha 用の installboot
プログラムを、現在、使用中のシステム上でコンパイルする必要があることに
注意してください。alpha 用の installboot プログラムは、NetBSD/i386 上で
コンパイル、実行できるはずです。

<ENTRY>i386image NetBSD/i386
このセクションでは、NetBSD/i386 のブート可能な CD ROM を作成する方法
を説明します。ここでとりあげる例は、NetBSD-1.4.2/i386 インストール CD
を作成する方法です。 <tt>/cdsources</tt> ディレクトリがシステム上に存在
し、その中にすべてのファイルが含まれており、そのディレクトリ構造は
<a
href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.4.2/i386/">NetBSD-1.4.2/i386</a>
と同じものとします。CD に焼きたいファイルによって内容はかわりますが、
重要なのは、ブート可能なイメージとして使用される
<tt>/cdsources/i386/installation/floppy/boot-big.fs</tt> が存在することです。

CD イメージを作るために以下のコマンドを実行します:
<pre>
  mkhybrid -o output.iso -b i386/installation/floppy/boot-big.fs \ 
           -c boot.catalog -a -l -J -r -L /cdsources
</pre>
これで、<tt>output.iso</tt> ファイルが作成されます。このファイルが CD 
のイメージです。オプションは以下の通りです:
<ul>
<li><tt>-b i386/installation/floppy/boot-big.fs</tt> -- ブートイメージを指定します。
<li><tt>-c boot.catalog</tt> -- ブートカタログを作成します。
<li><tt>-a</tt> -- 「~」や「#」を含むファイル名を許可します。
<li><tt>-l</tt> -- 長いファイル名(32 文字)を許可します。
<li><tt>-J</tt> -- Joliet 拡張を含みます。
<li><tt>-r</tt> -- ファイルのパーミッションをセットします。
<li><tt>-L</tt> -- 「.」で初まるファイル名を許可します。
<li><tt>/cdsources</tt> -- ディレクトリ 
<tt>/cdsources</tt> が CD イメージのルートであることを指定します。
</ul>

<ENTRY>macppcimage NetBSD/macppc
Open Firmware は ISO 9660 CD を読み込むことができます。
したがって、カーネル、<tt>ofwboot.elf</tt> 、<tt>ofwboot.xcf</tt>
のコピーを CD の適当な場所に置けば、open firmware から以下のように
ブートできます:
<!-- XXX この部分原文がおかしいような気がする。"ofwboot.elf or ofwboot.xcf"
     XXX でないと、以下の .xcf instead of .elf と矛盾する。あとで確認。-->
<pre>
  boot cd:,/path/to/files/ofwboot.elf
</pre>
(もし、古いマシンを使っているのであれば、<tt>.elf</tt> のかわりに 
<tt>.xcf</tt>を指定してください)
これらのファイルが CD ディレクトリ階層のトップレベルに存在する場合は、
パスが省略できるので、そうすることをお勧めします:
<pre>
  cp -f /cdsources/macppc/binary/kernel/ofwboot.elf /cdsources
  cd /cdsources/macppc/binary/sets/
  tar -zxvf kern.tgz 
  mv -f netbsd /cdsources/netbsd.macppc
</pre>

ofwboot は圧縮されたカーネルを読み込むことができます。したがって容量
を節約したいのであれば、カーネルを gzip することができます。

イメージは以下のように作成します:
<pre>
  mkhybrid -o output.iso -a -l -J -r -L /cdsources
</pre>

<ENTRY>pmaximage NetBSD/pmax
NetBSD/pmax は、FFS または ISO9660 CD ROM からブートすることができます。
このセクションでは ISO 9660 CD ROM を作成します。注意してほしいのは、
bootxx_cd9660 プログラムは NetBSD-1.4.x <em>以降</em> でないと追加
されないという事です。もし、NetBSD-1.4.x を使用するのであれば、-current 
スナップショットから <tt>boot.pmax</tt>、<tt>installboot</tt>、そして 
<tt>bootxx_cd9660</tt> を持ってきてください。ソースから作成する場合は、
1999 年 11 月 <em> 以降 </em> のものである事を確認してください。

NetBSD/pmax 用のブート可能な CD ROM を作成するためには二つの手順が
必要です。最初に、CD に焼くファイルの ISO 9660 イメージを作成します。
このイメージのルートディレクトリには、二番目のブートプログラムとカーネル
が存在しなければなりません。蛇足ですが、一番目のブートプログラムは次の
手順で必要となります。ブートプログラムとカーネルを正しいディレクトリに
置くために、以下の作業をおこなってください。
<pre>
  cd /cdsources/pmax/binary/sets
  tar -zxvf base.tgz ./usr/mdec/boot.pmax ./usr/mdec/bootxx_cd9660
  mv -f ./usr/mdec/boot.pmax /cdsources/boot.pmax
  mkdir /tmp/mdec.pmax
  mv -f ./usr/mdec/bootxx_cd9660 /tmp/mdec.pmax/bootxx_cd9660
  rmdir ./usr/mdec

  cd /cdsources/pmax/binary/kernel
  cp -f install.gz /cdsources/netbsd.pmax.gz
  gunzip /cdsources/netbsd.pmax.gz
</pre>
さて、ISO 9660 イメージを作成しましょう。
<pre>
  mkhybrid -o output.iso -a -l -J -r -L /cdsources
</pre>
次に、NetBSD/pmax のディスクと CD-ROM のブートストラップソフトウェア
を、<tt>installboot(8.pmax)</tt> を使いインストールします。以下のコマンド
を実行してください:
<pre>
  /usr/mdec/installboot -v output.iso /usr/mdec/bootxx_cd9660 
</pre>
二番目の手順は、NetBSD/pmax 上で実行する必要があります。ただし、イメージ
をローカルマシン上で作成していない場合は、リモートマシン上の ISO イメージ
を NetBSD/pmax マシンに NFS マウントすることも可能です。NetBSD-1.5 以降
では、NetBSD/pmax installboot プログラムを他の NetBSD アーキテクチャー上
でコンパイルすることができます。これにより、pmax 以外のマシンを使いブート
可能イメージを作成することが可能になります。

<ENTRY>sparcimage NetBSD/sparc
NetBSD/sparc 用のブート可能な CD ROM を作成するためには、三つの手順が
必要です。最初に CD に焼くファイルの、ほぼ完全な ISO 9660 イメージを
作成します。例えば:
<pre>
  mkhybrid -o output.iso -a -l -J -r -L /cdsources
</pre>
次にブート可能なフロッピーのイメージを入手します。NetBSD-1.4.2/sparc
用のイメージは <a
href="ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.4.2/sparc/installation/bootfs/syboot-142.fs.gz">ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-1.4.2/sparc/installation/bootfs/syboot-142.fs.gz</a>
にあります。

最後に ISO イメージを、(a) sun disklabel が先頭になり、(b) オリジナルの
イメージが一番後になるように、(c)そして、ブートローダーのために disklabel 
中のオフセットとサイズを正しい値に書きかえます。<tt>mksunbootcd</tt> 
プログラムを使い、この作業をおこないます。もし、<tt>mksunbootcd</tt> 
がインストールされていなければ、
<PKGSRC>sysutils/mksunbootcd パッケージを使用し、インストールすること
ができます。もし、NetBSD 以外のシステム上にイメージを作っているのなら、
そのシステム上で <tt>mksunbootcd</tt> をコンパイルすることもできます。
ソースは <a href="ftp://ftp.netbsd.org/pub/NetBSD/misc/mksunbootcd/">
ftp://ftp.netbsd.org/pub/NetBSD/misc/mksunbootcd/</a> にあります。

<tt>mksunbootcd</tt> は以下のように使います:
<pre>
  mksunbootcd output.iso syboot-142.fs syboot-142.fs syboot-142.fs
</pre>
この例では、sun4、sun4c、sun4m システムでブートするために、ブート
可能イメージとして同じものを 3回指定しています。もし、マシン毎に
異なるブート可能イメージを使う必要がある場合、以下のようにしてください。
<pre>
  mksunbootcd output.iso boot-sun4.fs boot-sun4c.fs boot-sun4m.fs
</pre>

<tt>mksunbootcd</tt> は <tt>output.iso</tt> ファイルを書きかえるので、
複数回実行しないでください。

なお、この手順は、NFS マウントされたディレクトリ上でも実行できます。
例えば、ISO イメージがリモートマシン上にある場合でも、それを NetBSD 
マシンにマウントし、ネットワークに負荷をかける事なく、<tt>mksunbootcd</tt> 
を実行することができます。

<ENTRY>sparc64image NetBSD/sparc64
現在、CD からの NetBSD/sparc64 のブートはサポートされていません。
しかし、この問題は sparc64 の TODO リストにのっていますし、ハードウェア的
には CD からのブートをサポートしています。

<ENTRY>sun3image NetBSD/sun3
<em>このセクションは未完成です。</em>

<ENTRY>vaximage NetBSD/vax
NetBSD/vax は、FFS または ISO 9660 CD ROM からブートすることができます。
このセクションでは、ISO 9660 CD ROM を作成します。この機能は NetBSD-1.5 
までは追加されない事に注意してください。

NetBSD/vax 用のブート可能な CD ROM を作成するためには二つの手順が
必要です。最初に、CD に焼くファイルの ISO 9660 イメージを作成します。
このイメージのルートディレクトリには、二番目のブートプログラムとカーネル
が存在しなければなりません。蛇足ですが、一番目のブートプログラムは
二番目の手順で必要となります。ブートプログラムとカーネルを正しい
ディレクトリに置くために、以下の作業をおこなってください。
<pre>
  cd /cdsources/vax/binary/sets
  tar -zxvf base.tgz ./usr/mdec/boot ./usr/mdec/xxboot
  mv -f ./usr/mdec/boot /cdsources/boot.vax
  mkdir /tmp/mdec.vax
  mv -f ./usr/mdec/xxboot /tmp/mdec.vax/xxboot
  rmdir ./usr/mdec

  cd /cdsources/pmax/binary/kernel
  cp -f install.gz /cdsources/netbsd.vax.gz
  gunzip -f /cdsources/netbsd.vax.gz
</pre>
さて、ISO 9660 イメージを作成しましょう。
<pre>
  mkhybrid -o output.iso -a -l -J -r -L /cdsources
</pre>
次に、NetBSD/vax のディスクと CD-ROM のブートストラップソフトウェア
を、<tt>installboot(8.vax)</tt> を使いインストールします。
<tt>installboot(8.vax)</tt> コマンドは以下のように使います:
<pre>
  /usr/mdec/installboot -v output.iso /usr/mdec/xxboot
</pre>
二番目の手順は、NetBSD/vax 上で実行する必要があります。ただし、イメージ
をローカルマシン上で作成していない場合は、リモートマシン上の ISO イメージ
を NetBSD/vax マシン に NFS マウントすることも可能です。あるいは、NetBSD/vax 
installboot プログラムを他の NetBSD アーキテクチャー上でコンパイルすること
ができます。


<ENTRY>multiimage 複数のマシン
以下の手順で、alpha、i386、pmax、sparc でブート可能な一枚の CD を
作成しています。また、vax でブート可能な CD を作ることも可能です。
複数のアーキテクチャーでブート可能な CD を作成するためには、以下の
手順を順番に実行してください。この順番は重要なので注意してください。
<ul>
<li>それぞれのマシンのセクションに記述されている、カーネルやブート
プログラムなどを含む必要なファイルがすべてそろっていることを確認
してください。
<li><tt>cdsources</tt> ディレクトリの適当な場所に <tt>mdec.pmax</tt>
ディレクトリを作ってください。そして、pmax <tt>bootxx_cd9660</tt> を
そこに置いてください。例えば、
<tt>/cdsources/usr/mdec.pmax/bootxx_cd9660</tt>.
<li><tt>cdsources</tt> ディレクトリの適当な場所に <tt>mdec.vax</tt>
ディレクトリを作ってください。そして、vax <tt>xxboot</tt> を
そこに置いてください。例えば、
<tt>/cdsources/usr/mdec.vax/xxboot</tt>.
<li>i386 のブート可能なイメージを作成します。
<pre>
  sh
  mkhybrid -v -v -o output.iso -b i386/installation/floppy/boot-big.fs \ 
           -c boot.catalog -a -l -J -r -L /cdsources 2&gt;&1 | tee /tmp/mkhybrid.log
  exit
</pre>
<tt>-v</tt> フラグが二度必要な事に注意してください。
<li>sparc bootblock インストールするために、<tt>mksunbootcd</tt> 
を NetBSD/sparc マシン上で実行してください。あるいは、
<PKGSRC>sysutils/mksunbootcd
パッケージを、別の NetBSD マシンにインストールしてください。
<pre>
  mksunbootcd output.iso syboot-142.fs syboot-142.fs syboot-142.fs
</pre>
<li> pmax 用のブートブロックをインストールするために、pmax の
<tt> installboot(8.pmax)</tt> を NetBSD/pmax 上で実行してください。
(あるいは、pmax installboot プログラムを他の NetBSD-1.5 以降のマシン上で
コンパイルし、実行してください。)
NetBSD/alpha ブートプログラムと共存するために、pmax ブートプログラム
は、ISO ファイルシステムにインストールしなければならない事に注意して
ください。pmax installboot プログラムにブートプログラムの場所を知ら
せるために、mkhybrid の実行ログファイルを調べる必要があります。
<pre>
  grep "usr/mdec.pmax/bootxx_cd9660" /tmp/mkhybrid.log
</pre>
以下のように出力されるはずです:
<pre>
  148017 148020 cdsources/usr/mdec.pmax/bootxx_cd9660
</pre>
最初の数字(この場合、148017)が、installboot プログラムに渡す必要のある
ISO ブートブロックです。さて、installboot プログラムを実行しましょう:
<pre>
  installboot -i 148017 -v output.iso /tmp/mdec.pmax/bootxx_cd9660
</pre>
<tt> installboot(8.vax)</tt> を NetBSD/vax 上で実行してください。
(あるいは、vax installboot プログラムを他の NetBSD-1.5 以降のマシン上で
コンパイルし、実行してください。)
NetBSD/alpha ブートプログラムと共存するために、vax ブートプログラム
は、ISO ファイルシステムにインストールしなければならない事に注意して
ください。vax installboot プログラムにブートプログラムの場所を知ら
せるために、mkhybrid の実行ログファイルを調べる必要があります。
<pre>
  grep "usr/mdec.vax/xxbootxx" /tmp/mkhybrid.log
</pre>
以下のように出力されるはずです:
<pre>
  148017 148020 cdsources/usr/mdec.vax/xxboot
</pre>
最初の数字(この場合、148017)が、installboot プログラムに渡す必要のある
ISO ブートブロックです。さて、installboot プログラムを実行しましょう:
<pre>
  installboot -i 148017 -v output.iso /tmp/mdec.vax/xxboot
</pre>
<li> alpha のブートブロックをインストールするために、
<tt>installboot(8.alpha)</tt> を NetBSD/alpha マシン上で実行してください。
alpha と sun のチェックサムの同期をとるためのオプション <tt>-s</tt> 
が含まれている事を確認してください。
<pre>
  installboot -vs output.iso /tmp/mdec.alpha/bootxx_cd9660
</pre>
</ul>

<ENTRY>mkisoimage mkisofs を使う
<tt>mkhybrid</tt>の代わりに、<tt>mkisofs</tt> を使うこともできます。
簡単な使用方法とフラグは:
<pre>
  mkisofs -a -b i386/installation/floppy/boot-big.fs -c boot.catalog \ 
          -f -l -r -J -o output.iso /cdsources/
</pre>
<PKGSRC>sysutils/mkisofs
パッケージが用意されています。

<SECTION>CD イメージの検査
今さっき作ったファイルシステムの検査のために、CD イメージをマウントする
ことができます。

<ENTRY>netbsd_mountimage NetBSD の場合
以下のようにして、CD イメージをマウントします:
<pre>
  vnconfig -c vnd0 output.iso
  mount -t cd9660 /dev/vnd0a /mnt
</pre>
これで /mnt へ cd し、新しく作った CD イメージを調べる事ができます。
イメージをアンマウントするためには、以下のようにしてください:
<pre>
  umount /mnt 
  vnconfig -u vnd0
</pre>

<ENTRY>linux_mountimage Linux の場合
Linux も同様の機能をもっています。CD イメージをマウントするためには:
<pre>
  mount -t iso9660 -o ro,loop=/dev/loop0 output.iso /mnt
</pre>
そして、CD イメージをアンマウントするためには:
<pre>
  umount /mnt
</pre>

<ENTRY>solaris_mountimage Solaris の場合
Solaris 8 以降では、CD イメージをマウントできるそうです。詳細や
マウント方法は、Solaris の man page <tt>lofiadm</tt> を参照して
ください。
<P>
古いバージョンの Solaris では、Joerg Schilling の書いた
<tt>fbk</tt> ドライバーを使うとよいでしょう。<tt>fbk</tt> ドライバーは
<a href="ftp://ftp.fokus.gmd.de/pub/unix/kernel/fbk/">ftp://ftp.fokus.gmd.de/pub/unix/kernel/fbk/</a> にあります。
インストールの方法は、<tt>fbk</tt> のドキュメントを参照してください。
<tt>fbk</tt>がインストールされていれば、以下のコマンドで ISO 9660 イメージ
をマウントすることができます:
<pre>
  mount -F fbk -o ro,type=hsfs /dev/fbk0:output.iso  /mnt
</pre>
そして、CD イメージをアンマウントする時は:
<pre>
  umount /mnt
</pre>

<SECTION>CD を焼く

<ENTRY>cdrecord cdrecord を使う場合(U*nix)
<tt>cdrecord</tt> は、CD イメージを CD に焼くために使用されます。
<PKGSRC>sysutils/cdrecord
パッケージが用意されています。

<tt>cdrecord</tt> の使用方法の例は以下の通りです:
<pre>
  cdrecord -v speed=4 dev=/dev/cd1c output.iso
</pre>
CD ライターの速度とデバイス名(i386 の場合、<tt>/dev/cd1d</tt>でしょう)を、
適切なものに置き換えてください。

<ENTRY>winrecord Windows を使う場合
ISO 9660 イメージを CD に書き込むための Windows 用のプログラムは
いくつか存在します。このセクションでは、特定のプログラムをお勧め
することはせずに、プログラムの紹介だけにとどめておきます。
<ul>
<li><a href="http://www.goldenhawk.com/cdrwin.htm">CDRWIN</a>.
商用ソフトウェア。(i386 で)ブート可能 ISO 9660 イメージを作成し、
CD に書き込む事が可能です。
<li><a href="http://www.goldenhawk.com/freeware.htm">FILE2CD</a>.
ISO 9660 イメージを CD に書きこむことのできるフリーウェア。
<li><a
href="http://www.adaptec.com/products/overview/ecdc.html">
Adaptec Easy CD Creator Deluxe</a>。商用ソフトウェア。
<li>Adaptec Easy CD Creator。多くの Windows 用のCD ライターに附属しています。
</ul>

<ENTRY>macrecord MacOS を使う場合
ISO 9660 イメージを CD に書き込むための MscOS 用のプログラムは
いくつか存在します。このセクションでは、特定のプログラムをお勧め
することはせずに、プログラムの紹介だけにとどめておきます。
<ul>
<li><a
href="http://www.adaptec.com/products/overview/toast.html">
Adaptec Toast</a>。商用ソフトウェア。
</ul>


</LIST>

<a href="index.html"><em>NetBSD Documentation</em>にもどる</a>
<hr>

<DOCLINK>

<hr>
<address>
  <a href="../Misc/feedback.html">(Contact us)</a>
  $NetBSD: bootcd.list,v 1.14 2000/07/05 13:12:05 dmcmahill Exp $<br>
  <a href="../Misc/disclaimer.html">Copyright &copy; 2000
    The NetBSD Foundation, Inc.  ALL RIGHTS RESERVED.</a>
</address>

</body>
</html>