<!doctype linuxdoctr system>

<article>

<title>Alpha Miniloader Howto</title>
<author>David A. Rusling, <tt/david.rusling@reo.mts.dec.com/
<date>v0.81, 17th April 1996
<trans>松本庄司,<tt/shom@i.h.kyoto-u.ac.jp/
<tdate>1996年6月15日
<abstract>
この文書には、 Alpha ベースの機械を初期化して Linux をロードする
プログラム、Miniloader のことが書いてあります。
Alpha Linux Miniloader は Milo と呼ばれています。
</abstract>

<p>
<bf>注意: この文書はかなり以前に書かれたものなので、
いまどきの Linux 環境にはあてはまらない箇所があります。
(JF Project)</bf>
</p>

<toc>

<sect>イントロダクション<label id="intro-section">

<!--
<p>This document describes the Miniloader for Linux on Alpha AXP (Milo).
This firmware is used to initialize Alpha AXP based systems, load and
start Linux and, finally, provide PALcode for Linux.
-->

<p>この文書では Alpha AXP で動く Linux のための Miniloader (Milo) 
について記述しています。このファームウェアは、
Alpha AXP ベースのシステムの初期化、Linux の読み込み、起動、
 Linux 用の PALcode の準備に使われます。

<!--
<sect1>Copyright
-->
<sect1>著作権

<p>The Alpha Miniloader (Milo) HOWTO is copyright (C) 1995, 1996 David A Rusling.

<p><bf/Copyright./ Like all Linux HOWTO documents, it may be reproduced and 
distributed
in whole or in part, in any medium, physical or electronic, so long as
this copyright notice is retained on all copies.
Commercial redistribution is allowed and encouraged; however the author
would <em/like/ to be notified of such distributions.
You may translate this HOWTO into any language whatsover provided that
you leave this copyright statement and disclaimer intact, and that you append
a notice stating who translated the document.

<p><bf/著作権：/他の Linux HOWTO ドキュメントと同様に、この著作権表示が
入っていれば、本文の全てまたは一部にかかわらず、また物理的にも電子的にも、
複製したり配布したりできます。
商業的再配布も奨励しますが、<em/できれば/著者に連絡してください。
この HOWTO はどんな言語に訳してもかまいません。
ただしこの著作権表示と免責事項はそのまま残しておき、
翻訳者が誰であるかを明示した注意書きを加えてください。

<p>&lsqb;訳注：日本語訳／松本庄司＠京大人間環境 
(Translation into Japanese : MATSUMOTO Shoji, Graduate School of Human and Envilonmental Studies, Kyoto-Univ, Japan, 
<url url="mailto:shom@i.h.kyoto-u.ac.jp" name="shom@i.h.kyoto-u.ac.jp">)&rsqb;

<p><bf/Disclaimer./ While I have tried to include the most correct and
up to date information available to me, I cannot guarantee that usage
of information in this document does not result in loss of data or
equipment.   I provide NO WARRENTY about the information in the HOWTO and
I cannot be made liable for any consequences resulting from using the
information in this HOWTO.

<p><bf/免責事項：/私はできるだけ正確で新しい情報を収めるようにしていますが、
この文書の情報によってデータや設備がいかなる損害を受けようとも、
責任は持ちません。HOWTO にある情報については保証できませんし、
情報を利用した結果についても責任は持てません。


<sect1> この文書の最新版

<!--
<p> The latest version of this document can be found in
<url
url="ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader/docs">
and David Mosberger-Tang is kind enough to include the html form of it
in his excellent Linux Alpha FAQ site
<url url="http://www.azstarnet.com/~axplinux">.
-->

<p>この文書の最新版は
<url url="ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader/docs">
にあります。また、David Mosberger-Tang 氏の好意により、この文書の
html 版が彼の素晴しい Linux Alpha FAQ サイト
<url url="http://www.azstarnet.com/~axplinux">
に置いてあります。


<sect> Milo って何？<label id="what-section">

<!--
<p>On Intel based PC systems, the BIOS firmware
sets up the system and then loads the image to be run from the boot
block of a DOS file system.
This is more or less what Milo does on an Alpha based system,
however there are several interesting differences between BIOS firmware and
Milo, not least of which is that Milo includes and
uses standard Linux device drivers unmodified.
Milo is firmware, unlike LILO, which relies on the BIOS firmware to
get itself loaded.
The main functional parts of Milo are:
-->

<p>Intel ベースの PC システムでは、
BIOS のファームウェアがシステムをセットアップし、
DOS ファイルシステムのブートブロックから実行イメージを読み込みます。
これは Milo が Alpha ベースのシステムで行っていることとそれほど変わりません。
しかし、 Milo と BIOS ファームウェアには、いくつかの興味深い相異点があります。
その一つは、
標準的な Linux のデバイスドライバが手を加えずに組み込まれているということです。
また、自分自身の読み込みを BIOS ファームウェアに頼っている LILO とは違って、
 Milo はそれ自身がファームウェアです。Milo の主な機能は次のようなものです：

<enum>
<item> PALcode
<item> メモリセットアップコード(ページテーブルを作り、仮想アドレッシングを有効にする)
<item> ビデオコード(BIOS エミュレーションコードと TGA(21030))
<item> Linux カーネルコード(これには、割り込み処理などの実際の Linuxカーネルコードと擬似カーネルコードが含まれます)
<item> Linux ブロックデバイスドライバ(フロッピードライバなど)
<item> ファイルシステムサポート(ext2・MS-DOS・ISO9660)
<item> ユーザインターフェースコード(MILO)
<item> カーネルインターフェースコード(Linux 用のメモリマップと HWRPB のセットアップ)
<item> 環境変数を制御する NVRAM コード
</enum>

<p>以下にこれらの機能の詳細を述べます。

<!--
<p>PALcode can be thought of as a tiny software layer that tailors the
chip to a particular operating system.
It runs in a special mode (PALmode) which has certain restrictions but it
uses the standard Alpha instruction set with just five extra instructions.
In this way, the Alpha chip can run such diverse operating systems as
Windows NT, OpenVMS, Digital Unix and, of course, Linux.
The PALcode that Milo uses (and therefore Linux itself)
is, like the rest of Milo, freeware.
It is derived from Digital's Evaluation Board software example Digital Unix
PALcode..
The differences between the different PALcodes are because of
differences in address mapping and interrupt handling that
exist between the Alpha chips (21066 based systems have
a different I/O map to 21064+2107x systems) and different
Alpha based systems.
-->

<p>PALcode とは、
チップを特定のオペレーティングシステムに合わせる
単純なソフトウェアレイヤと考えることができます。
 PALcode は PALmode という特殊なモードで動きます。
このモードには制限がありますが、
標準の Alpha 命令セットと 5 つの拡張命令のみで動作します。
このモードを使うことによって、Windows NT、Open VMS、 Digital Unix、
そしてもちろん Linux といった様々なオペレーティングシステムを
 Alpha チップ上で実行させることが可能になります。
 Milo の使う (すなわち Linux の使う) PALcode は、
 Milo の他の部分と同様にフリーウェアです。
この PALcode は Digital 社の評価用ボードの Digital Unix PALcode 
の例を元にしています…。
Alpha チップと種々の Alpha ベースのシステムにある
I/O アドレスのマッピングや割り込み処理の違いによって
(21066 ベースのシステムは 21064+2107x ベースのシステムでは
 I/O マップが違います)、
PALcode が変わってきます。

<!--
<p>For Milo to operate properly it needs to know what memory
is available, where Linux will eventually be running from and it must be
able to allocate temporary memory for the Linux device drivers.
The code maintains a memory map that has entries for permanent and temporary
allocated pages.
As it boots, Milo uncompresses itself into the correct place in
physical memory.   When it passes control to the Linux kernel,
it reserves memory for the compressed version of itself, the PALcode
(which the kernel needs) and some data structures.
This leaves <tt/most/ of the memory in the system for Linux itself.
-->

<p> Milo が正しく動作するためには、
メモリのどの部分が利用可能かわからねばなりませんし、
Linux の実行開始位置も知っておかねばなりません。
また、 Linux のデバイスドライバ用に、一時的にメモリを割り当てる必要もあります。
Milo のコードは、
常に確保しておくページや一時的に確保するページのエントリを管理します。
 Milo は起動直後に自分自身を物理メモリの適切な場所に展開します。
次に自分を圧縮しておけるだけのメモリと、
(カーネルが必要とする) PALcode といくらかのデータ領域を確保し、
 Linux カーネルに制御を渡します。
これによって、Linux 自身にメモリの<tt/ほとんど/を残しておきます。

<p>メモリコードの最後では、 Linux が必要とするデータ構造が仮想メモリの
適切な位置にくるように仮想アドレッシングを設定します。

<!--
Milo contains video code that initialises and uses the video device
for the system.   
It will detect and use a VGA device if there is one, otherwise
it will try to use a TGA (21030) video device.   
Failing that, it will assume that there is no graphics device.
The BIOS emulation that the standard, pre-built, images include is
Digital's own BIOS emulation which supports most, if not all, of
the standard graphics devices available.
-->

<p>Milo にはシステムのビデオデバイスを初期化し利用するビデオコードが
含まれています。ビデオコードは、まず VGA を使おうとし、
見付からなかったら TGA (21030) ビデオデバイスを使おうとします。
それでも失敗すると、グラフィックデバイスはないものと見なします。
標準のコンパイル済み BIOS エミュレーションコードには
 Digital 社の BIOS エミュレーションコードが含まれています。
このエミュレーションコードを使えば、全てとはいいきれませんが、
ほとんどの標準的なグラフィックデバイスを使うことができます。

<!--
Linux device drivers live within the kernel and expect 
certain services from the kernel.  Some of these services are provided directly
by Linux kernel code, for example the interrupt handling and some is provided
by kernel look-alike routines.
-->

<p>Linux のデバイスドライバはカーネルに埋め込まれていますので、
サービスの一部はカーネルにに任せてしまいます。
例えば割り込みのハンドルなどは、
カーネルの擬似ルーチンだけが入っています。

<!--
<p>Milo's most powerful
feature is that you can embed unaltered Linux device drivers into it.
This gives it the potential to support every device that Linux does.
Milo includes all of the block devices that are configured into the
Linux kernel that it is built against as well as a lot of the block device
code (for example, ll_rw_blk()).
-->

<p>Milo の最も強力な点は、選択されていない
&lsqb;訳注：カーネルに入っていない&rsqb;
Linux デバイスドライバを内蔵できるところです。
これによって Linux の全てのデバイスドライバに対応できる可能性が出てきます。
Milo には、Linux カーネル内の多くのブロックデバイスに対応する
ブロックデバイス(例えば ll_rw_blc())が組み込まれています。

<!--
<p>Milo loads the Linux kernel from real file systems rather 
than  from boot blocks and other strange places.
It understands MSDOS, EXT2 and ISO9660 filesystems.
Gzip'd files are supported and these are recommended, particularly if
you are loading from floppy which is rather slow.
Milo recognises these by their <em>.gz</em> suffix.
-->

<p>Milo は、ブートブロックや他の特殊な場所
&lsqb;訳注：SRM など&rsqb;からではなく、
実際のファイルシステム、すなわち MSDOS、EXT2、ISO9660 ファイルシステムから 
Linux のカーネルを読み込みます。
gzip で圧縮されたファイルも読み込めますので、
特にフロッピーから読み込む場合にはお薦めです。
Milo はファイル末尾が <em>.gz</em> であるファイルを
圧縮ファイルだと認識します。

<!--
<p>Built into Milo is a simple keyboard driver which, together with
an equally simple video driver allows it to have a simple user interface.
That interface allows you to list file systems on configured devices, boot
Linux or run flash update utilities and set environment variables that 
control the system's booting.
Like LILO, you can pass arguments to the Kernel.
-->

<p>Milo は単純なキーボードドライバとビデオドライバを内蔵しており、
それらを使って簡単なユーザインターフェースを実現しています。
このインターフェースによって、設定済みのファイルシステムのリストを取ったり、
Linux をフラッシュメモリから起動したり、
ユーティリティをアップデートしたり、
システムの起動を制御する環境変数を設定したりできます。
LILO のように、カーネルに引数を与えることもできます。


<!--
<p>Milo must tell the Linux kernel what sort of system this is,
how much memory there is and which of that memory is free.
It does this using the HWRPB (Hardware Restart Parameter Block) data 
structure and associated memory cluster descriptions.
These are placed at the appropriate place in virtual memory just before
control is passed to the Linux kernel.
-->

<p>Milo はシステムの種類・塔載メモリの量・フリーメモリの量を
 Linux カーネルに渡します。
これは HWRPB (HardWare Restart Paramater Block) というデータ構造体と
メモリクラスタの記述を使って実現されています。
これらは、 Linux カーネルに制御が移る直前に、
仮想メモリの適切な場所に配置されます。


<!--
<sect> Pre-Built Standard Milo Images.
-->
<sect>コンパイル済みの標準的な Milo のイメージ

<!--
<p>If you are planning to run Linux on a standard Alpha based system, then
there are pre-built "standard" Milo images that you might use.
These (along with the sources and other interesting stuff)
can be found in 
<url 
url="ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader">.
-->

<p>Linux を標準的な Alpha ベースのシステムで動かすのならば、
既製の&dquot;標準&dquot; Milo イメージを使うことができます。
Milo イメージは、ソースその他と共に
<url 
url="ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader">
にあります。

<!--
<p>The <tt>images</tt> subdirectory contains a directory per standard system
(eg AlphaPC64) with Milo images having the following naming convention:
-->

<p><tt>images</tt> というサブディレクトリには、
標準的なシステム(例えば AlphaPC64 など)ごとにそれぞれのディレクトリがあります。
そこにある Milo のイメージには次のような規則で名前が付けられています：

<!--
<enum>
<item> <tt>milo</tt> - Miniloader executable image, this image can be loaded in
a variety of ways,
<item> <tt>fmu.gz</tt> - Flash management utility,
<item> <tt>milo.dd</tt> - Full floppy disk image (for example of a 
	boot block floppy).   These should be written using rawrite.exe
	or <tt>dd</tt> on Linux.
</enum>
-->

<enum>
<item> <tt>milo</tt> - Miniloader 実行イメージ
(このイメージは色々な方法で読み込むことができます)
<item> <tt>fmu.gz</tt> - フラッシュメモリマネージメントユーティリティ
<item> <tt>milo.dd</tt> - ブートブロックフロッピーディスクイメージ
(これは rawrite.exe や Linux 上の dd で書かねばなりません)
</enum>

<!--
<p>The <tt>test-images</tt>, like the <tt>images</tt> subdirectory 
contains a directory per standard system.   These images are somewhat
experimental but tend to contain all the latest features.
-->

<p><tt>images</tt> ディレクトリと同じような <tt>test-images</tt> という
ディレクトリもあります。ここに置いてあるイメージは試験的なものですが、
最新の機能が備わっているでしょう。


<!--
<sect> How To Build Milo <label id="build-section">
-->
<sect>Milo の作り方 <label id="build-section">

<!--
<p> You build Milo 
seperately from the Kernel.  As Milo requires parts of the kernel
to function (for example interrupt handling) you must first 
configure and build the
kernel that matches with Milo that you want to build.  Mostly this
means building the kernel with the same version number.  
So, milo-1.3.76.tgz will build against linux-1.3.76.tar.gz.  
Milo <tt/may/ build against a higher version of the kernel, but there 
again it may not.
In the remainder of this discussion,
I assume that your kernel sources and object files are stored in the
subtree at <tt>/usr/src/linux</tt>.
-->

<p>Milo はカーネルとは別に作ります。
Milo にはカーネルの一部(例えば割り込み処理など)が必要ですので、
まず作りたい Milo に合うカーネルを作っておかねばなりません。
ほとんどの場合、バージョンが同じカーネルを作ることになります。
例えば、 milo-1.3.76.tgz は linux-1.3.76.tar.gz に対応するものです。
<tt/もしかすると/バージョンのもっと高いカーネルにも使えるかもしれませんが、
駄目かもしれません。
以下、カーネルのソースとオブジェクトファイルは /usr/src/linux にあると
仮定して話を進めます。

<!--
<p>To build Milo, 
change your working directory to the milo source directory and
invoke <tt/make/ with:
-->
<p>Milo を作るには、まず Milo のソースのあるディレクトリに移動して、
下のようにします：

<tscreen><verb>
     make KSRC=/usr/src/linux config
</verb></tscreen>

<!--
<p>Just like the Linux kernel, you will be asked a series of questions
-->

<p>Linux のカーネルを作る時と同じように、いくつかの質問に答えます。

<tscreen><verb>
     Echo output to the serial port (MINI_SERIAL_ECHO) [y]
</verb></tscreen>

<!--
<p> It's a good idea to echo kernel printk to <tt>/dev/ttyS0</tt> if you can.
If you can (and want to), then type "y", otherwise "n".  
-->

<p>カーネルの printk を <tt>/dev/ttyS0</tt> に出力するのは悪くないでしょう。
できれば(そして望むなら)&dquot;y&dquot;と答えます。

<tscreen><verb>
     Use Digital's BIOS emulation code (not free) (MINI_DIGITAL_BIOS_EMU) [y]
</verb></tscreen>

<!--
<p> This code is included as a library which is freely distributable
so long as it is used on an Alpha based system.  The sources are
not available.   If you answer <tt>n</tt> then the freeware 
alternative BIOS emulation will be built.  It's sources are included
with Milo.
-->

<p>このコードには、 Alpha ベースのシステムで使う限りは自由に配布できる
ライブラリが含まれています。しかし、ソースは配布できません。
もし&dquot;n&dquot;と答えれば、
代わりにフリーの BIOS エミュレートコードが使われます。
ソースは Milo と同じ場所にあります。

<!--
<sect>How To Load Milo<label id="load-section">
-->
<sect>Milo の読み込み<label id="load-section">

<!--
<p>The most commonly supported method of loading Milo is from the Windows NT
ARC firmware as most shipping systems support this.  However, there are
a wide variety of  loading Milo.   It may be loaded from:
-->

<p>ほとんどのシステムが Windows NT ARC ファームウェアを載せていますので、
Milo を読み込む方法として最も汎用的です。
Windows NT ARC ファームウェアを含め、
以下のような様々な方法で Milo を読み込むことができます：

<itemize> 
<!--
<item> a failsafe boot block floppy,
-->
	<item> 緊急用(failsafe)ブートブロックフロッピー
<!--
<item> the Windows NT ARC firmware, 
-->
	<item> Windows NT ARC ファームウェア
<!--
<item> Digital's SRM console, 
-->
	<item> Digital 社の SRM コンソール 
<!--
<item> an Alpha Evaluation Board Debug Monitor,
-->
	<item> Alpha 評価用ボードデバッグモニタ
<!--
<item> flash/ROM.
-->
	<item> フラッシュメモリ(または ROM)
</itemize>

<!--
<sect1>Loading Milo from the Windows NT ARC firmware<label id="arc-section">
-->
<sect1>Windows NT ARC ファームウェアから Milo を読み込む<label id="arc-section">

<!--
<p>Most, if not all, Alpha AXP based systems include the Windows NT
ARC firmware and this is the prefered method of booting Milo and thus
Linux.  Once the Windows NT firmware is running and you have the correct
Milo image for your system, this method is completely generic.
-->

<p>Alpha AXP ベースのシステムのほとんどには
Windows NT ARC ファームウェアが載っています。
これは Milo や Linux を起動する手段として十分に薦められます。
Windows NT ファームウェアが動いており、
自分のシステムに適した Milo のイメージがあるならば、
どのシステムでもこの方法でうまくいきます。

<!--
<p>The Windows NT ARC firmware is an environment in which programs can run
and make callbacks into the firmware to perform actions.  The Windows NT
OSLoader is a program that does exactly this.   Linload.exe is a 
much simpler program which does just enough to load and execute Milo.
It loads the appropriate image
file into memory at 0x00000000 and then makes a swap-PAL PALcall to
it.  
Milo, like Linux, uses a different PALcode to Windows NT which is why the
swap has to happen.
Milo relocates itself to 0x200000 and continues on through the
PALcode reset entry point as before.
-->

<p>Windows NT ARC ファームウェア環境では、プログラムを動かしたり
ファームウェアを動作させるコールバックを作ったりできます。
これを行うのが Windows NT OSLoader です。
単に Milo の読み込みと実行だけをするのが linload.exe です。
linload.exe は適切なイメージファイルをメモリの 0x00000000 に読み込み、
それに対して swap-PAL PALcall を発行します。
この swap が必要なのは、Milo が Linux と同様に
Windows NT とは異る PALcode を使うためです。
&lsqb;訳注：ARC コンソールの段階では PALcode が WinNT 用になっているため、
これを Linux&etago;Milo 用に置きかえなければいけません&rsqb;。
Milo は自分自身を 0x200000 にリロケートし、
リセットエントリポイントから PALcode を再実行します。

<!--
<p>Before you add a Linux boot option, 
you will need to copy linload.exe and the appropriate Milo that you
wish to load to someplace that the Windows NT ARC firmware can read from.  
In the following example, I assume that you are booting from a DOS format
floppy disk:
-->

Linux の選択項目をつけ加える前に、
 Windows NT ARC ファームウェアが読み込める形の Milo と
 linload.exe をコピーしておかねばなりません。
 DOS フォーマットのフロッピーから起動するような例を挙げておきます：

<enum>
<!--
<item> At the boot menu, select <tt/"Supplementary menu..."/
-->
<item> ブートメニューで <tt/"Supplementary menu..."/ を選びます。
<!--
<item> At the <tt/"Supplementary menu"/, select <tt/"Set up the system..."/
-->
<item> <tt/"Supplementary menu"/ で <tt/"Set up the system..."/ を選びます。
<!--
<item> At the <tt/"Setup menu"/, select <tt/"Manage boot selection menu..."/
-->
<item> <tt/"Setup menu"/ で <tt/"Manage boot selection menu..."/ を選びます。
<!--
<item> In the <tt/"Boot selections menu"/, choose <tt/"Add a boot selection"/
-->
<item> <tt/"Boot selections menu"/ で <tt/"Add a boot selection"/ を選びます。
<!--
<item> Choose <tt/"Floppy Disk 0"/
-->
<item> <tt/"Floppy Disk 0"/ を選びます。
<!--
<item> Enter <tt/"linload.exe"/ as the osloader directory and name
-->
<item> osloader directory と name に <tt/"linload.exe"/ を入力します。
<!--
<item> Say "yes" to the operating system being on the same partition
as the osloader
-->
<item> operating system being on the same partition as the osloader には "yes" と答えます。
<!--
<item> Enter "\" as the operating system root directory
-->
<item> operationg system root directory には &dquot;&bsol;&dquot; を入力します。
<!--
<item> I usually enter <tt/"Linux"/ as the name for this boot selection
-->
<item> name for this boot selection には私は <tt/"Linux"/ を入れています。
<!--
<item> Say "No" you do not want to initialise the debugger at boot time
-->
<item> you do not want to initialise the debugger at boot time には &dquot;No&dquot; と答えます。
<!--
<item> You should now be back in the <tt/"Boot selections menu"/, choose the
<tt/"Change a boot selection option"/ and pick the selection you just created
as the one to edit
-->
<item> <tt/"Boot selections menu"/ に戻り、<tt/"Change a boot selection option"/ で 今作った項目を選びます。
<!--
<item> Use the down arrow to get <tt/"OSLOADFILENAME"/ up and then type in the
name of the Milo image that you wish to use, for example <tt/"noname.arc"/
followed by return.
-->
<item> 下の矢印キーを押して <tt/"OSLOADFILENAME"/ を選び、
<tt/"noname.arc"/ のように使いたい Milo のイメージの名前をタイプします。
<!--
<item> Press ESC to get back to the <tt/"Boot Selections menu"/
-->
<item> <tt/"Boot Selections menu"/ に戻るために ESC を押します。
<!--
<item> Choose <tt/"Setup Menu"/ (or hit ESC again) and choose <tt/"Supplementary menu,
and save changes"/ option
-->
<item> <tt/"Setup Menu"/ を選ぶか ESC を押すかして、<tt/"Supplementary menu, and save changes"/ を選びます。
<!--
<item> ESC will get you back to the <tt/"Boot menu"/ and you can attempt to boot
Milo.  If you do not want Linux as the first boot option, then you can
alter the order of the boot options in the <tt/"Boot selections menu"/.
-->
<item> ESC を押して <tt/"Boot menu"/ に戻ると、Milo が使えるようになります。
もしデフォルトで Linux を起動したくなければ、<tt/"Boot selections menu"/ で
優先順位を変えることができます。
</enum>

<!--
<p>At the end of all this, you should have a boot selection that looks something 
like:
-->
<p> 上の作業が全て終わると、boot selection は次のようになっているはずです：

<tscreen><verb>
LOADIDENTIFIER=Linux
SYSTEMPARTITION=multi(0)disk(0)fdisk(0)
OSLOADER=multi(0)disk(0)fdisk(0)\linload.exe
OSLOADPARTITION=multi(0)disk(0)fdisk(0)
OSLOADFILENAME=\noname.arc
OSLOADOPTIONS=
</verb></tscreen>

<!--
<p>You can now boot Milo (and then Linux).  You can load linload.exe
and Milo directly from a file system that Windows NT understands such as 
NTFS or DOS on a hard disk.
-->

<p>これで Milo と Linux を起動できるようになりました。
Windows NT が認識できる NTFS や DOS のファイルシステムから直接
 linload.exe と Milo を読み込むこともできます。

<!--
<p>The contents <tt/OSLOADOPTIONS/ are passed to Milo which interprets
it as a command.   So, in order to
boot Linux directly from Windows NT without pausing in Milo, you could
pass the following in <tt/OSLOADOPTIONS/:
-->

<p><tt/OSLOADOPTIONS/ はコマンドとして Milo に渡されます。
Milo を止めずに Windows NT から Linux を直接起動するためには、
 <tt/OSLOADOPTIONS/ を次のように設定します：

<tscreen><verb>
boot sda2:vmlinux.gz root=/dev/sda2
</verb></tscreen>

<!--
<p>See <ref id="milo-if-section" name="Milo's User Interface"> for more
information on the commands available.
-->

<p> どのようなコマンドが使えるか、詳しくは
<ref id="milo-if-section" name="Milo のユーザインターフェース"> を
参照してください。

<!--
<p>Another (rather sneaky) way of loading of loading Milo via the WNT ARC firmware
is to put Milo onto an MS-DOS floppy and call it <tt/fwupdate.exe/ and then choose
the "Upgrade Firmware" option.
-->

<p>WNT ARC ファームウェアを通して Milo を読み込む(ちょっと姑息な)手段として、
 Milo を MS-DOS フロッピーに <tt/fwupdate.exe/ という名前で書き込み、
 &dquot;Upgrade Firmware&dquot; を選ぶという技もあります。

<!--
<sect1>Loading Milo from the Evaluation Board Debug Monitor<label id="dbm-section">
-->
<sect1>評価用ボードデバッグモニタから Milo を読み込む<label id="dbm-section">

<!--
<p>Evaluation boards (and often designs cloned from them) include
support for the Alpha Evaluation Board Debug Monitor.   Consult
your system document before considering this method of booting
Milo.   The following systems are <em/known/ to include Debug Monitor
support:
-->
<p>評価用ボード(もしくはその互換ボード)は
Alpha 評価用ボードデバッグモニタをサポートしています。
この方法で Milo を起動しようとする前に、
自分のシステムに付いているドキュメントを参照してください。
次のシステムがデバッグモニタをサポートしていることが<em/判って/います：
<itemize>
	<item>AlphaPC64 (<ref id="pc64-section" name="AlphaPC64">を参照)
	<item>EB64+ (<ref id="eb64p-section" name="EB64+">を参照)
	<item>EB66+ (<ref id="eb66p-section" name="EB66+">を参照)
	<item>EB164 (<ref id="eb164-section" name="EB164">を参照)
</itemize>

<!--
<p>Before you consider this method, you should note that the early
versions of the Evaluation Board Debug Monitor did not include video
or keyboard drivers and so you must be prepared to connect another
system via the serial port so that you can use the Debug Monitor.
Its interface is very simple and typing help shows a whole heap
of commands.  The ones that are most interesting include
the word <tt>boot</tt> or <tt>load</tt> in them.
-->

<p>この方法を試す前に、
現バージョンの評価用ボードデバッグモニタにビデオドライバや
キーボードドライバが入っていないことを確認しておきましょう。
また、デバッグモニタを使えるように、
シリアルポートに他のシステムを繋げておいてください。
このインターフェースは非常に単純で、
 <tt/help/ と打てば使えるコマンドが全て表示されます。
そのうち、 <tt/boot/ や <tt/load/ 
という文字が入っているコマンドがよく使われます。

<!--
<p>The Evaluation Board Debug Monitor can load an image either via the network
(netboot) or via a floppy (flboot).  In either case, set the boot
address to 0x200000 (<tt/> bootadr 200000/) before booting the
image.  
-->

評価用ボードデバッグモニタは、
ネットワーク (<tt/netboot/) やフロッピー (<tt/flboot/) から
イメージを読み込むことができます。
どちらの場合でも、イメージを起動する前に <tt/> bootadr 200000/ として、
ブートアドレスを 0x200000 にしておかねばなりません。

<!--
<p>If the image is on floppy (and note that only DOS formatted floppies
are supported), then you will need to type the following command:
-->

<p>もしイメージがフロッピーにある場合(DOS フォーマットのフロッピーにのみ対応)、
次のようなコマンドを打込みます：

<tscreen><verb>
     AlphaPC64> flboot <Milo-image-name>
</verb></tscreen>

<!--
<sect1>Loading Milo from a Failsafe Boot Block Floppy<label id="bootblock-section">
-->

<sect1>緊急用(failsafe)ブートブロックフロッピーから Milo を読み込む<label id="bootblock-section">

<!--
<p>Only the AxpPCI33 is <em/known/ to include failsafe boot block
floppy support (<ref id="noname-section" name="Noname">).
-->

<p>AxpPCI33 だけが
緊急用(failsafe)ブートブロックフロッピーをサポートしていることが
<em/判って/います(<ref id="noname-section" name="Noname">を参照)。

<!--
<p>If you do not have a standard pre-built Milo .dd image, 
then you may need to
build an SRM boot block floppy.  
Once you have built Milo, you need to do the following on Digital Unix box:
-->

<p>もしコンパイル済みの標準的な Milo の <tt/.dd/ イメージがなければ、
 SRM ブートブロックフロッピーを作らねばなりません。
 Milo がすでに作ってあれば、
 Digital Unix が動いているマシンで次のようにします：

<tscreen><verb>
     fddisk -fmt /dev/rfd0a
     cat mboot bootm > /dev/rfd0a
     disklabel -rw rfd0a 'rx23' mboot bootm
</verb></tscreen>

<!--
<p>Or on a Linux box:
-->

<p> もしくは Linux が動いているマシンで次のようにしても良いでしょう：

<tscreen><verb>
     cat mboot bootm > /dev/fd0 
</verb></tscreen>

<!--
<p> If you have a standard Milo image available (say <tt>milo.dd</tt>)
then you would build a boot block floppy using the following command:
-->

もし標準 Milo イメージ(ここでは <tt>milo.dd</tt> としましょう)があるならば、
次のコマンドでブートブロックフロッピーを作ることができます：

<tscreen><verb>
     dd if=milo.dd of=/dev/fd0 
</verb></tscreen>

<!--
<sect1>Loading Milo from Flash<label id="flash_section">
-->

<sect1>フラッシュメモリから Milo を読み込む<label id="flash_section">

<!--
<p>There are a number of systems where Milo can be blown into flash
and booted directly (instead of via the Windows NT ARC firmware):
-->

<p>Windows NT ARC ファームウェアを使う代わりに、
フラッシュメモリに Milo を入れて直接起動できるシステムも数多くあります：

<itemize>
	<item>AlphaPC64 (<ref id="pc64-section" name="AlphaPC64">を参照)
	<item>Noname (<ref id="noname-section" name="Noname">を参照)
	<item>EB66+ (<ref id="eb66p-section" name="EB66+">を参照)
	<item>EB164 (<ref id="eb164-section" name="EB164">を参照)
</itemize>

<!--
<sect1>Loading Milo from the SRM Console<label id="srm_section">
-->
<sect1>SRM コンソールから Milo を読み込む<label id="srm_section">

<!--
<p>The SRM (short for System Reference Manual) Console knows nothing about file
systems or disk-partitions,
it simply expects that the secondary bootstrap loader occupies a consecutive
range of physical disk sectors starting from a given offset.
The information describing
the secondary bootstrap loader (its size and offset) is given in the first 512 
byte block.   To load Milo via the SRM you must generate that structure on a 
device which the SRM can access (such as a floppy disk).
This is what <tt/mboot/ and <tt/bootm/, <tt/mboot/ is the first block (or
boot description) and <tt/mboot/ is the <tt/Milo/ image rounded up to a
512 byte boundary.
-->

<p>SRM (System Reference Manual の略) コンソールは
ファイルシステムやパーティションは認識しないことがわかっています。
 SRM は、 2 番目のブートストラップローダが、
物理ディスクのあるオフセットから連続した領域を確保すると仮定しています。
 2 番目のブートストラップローダの情報(大きさとオフセット)は
ブロックの先頭から512 バイトに収められています。
 SRM を使って Milo を読み込むには、SRM がアクセスできるデバイス
(例えばフロッピーディスク)に <tt/mboot/ と <tt/bootm/ 
と呼ばれるストラクチャを作らねばなりません。
 <tt/mboot/ は最初のブロック(もしくはブートの記述領域)で、
 <tt/Milo/ イメージを 512 byte 境界で切り上げたものです。

<!--
<p>  To load Milo from a boot block device, either build <tt/mboot/
and <tt/bootm/ and push them onto the boot device
using the following command:
-->

<p> Milo をブートブロックデバイスから読み込むには、
 <tt/mboot/ と <tt/bootm/ を作り、
次のコマンドで起動デバイスに書き込みます：

<tscreen><verb>
	$ cat mboot bootm > /dev/fd0
</verb></tscreen>

<!--
Or, grab the appropriate <tt/milo.dd/ from a web site and write it onto the
boot device using either <tt/RAWRITE.EXE/ or <tt/dd/.
-->

もしくは、適切な <tt/milo.dd/ を Web サイトから取ってきて、
 <tt/RAWRITE.EXE/ や <tt/dd/ を使って起動デバイスに書き込んでください。

<!--
<p> Once you have done that you can boot the SRM console and use one of its
many commands to boot Milo.   For example, to boot Milo from a boot block floppy
you would use the following command:
-->

<p>これで SRM コンソールを起動して そこから Milo を起動できるようになりました。
例えば、ブートブロックフロッピーから Milo を起動するには
次のコマンドを使います：

<tscreen><verb>
	>>>boot dva0
	(boot dva0.0.0.0.1 -flags 0)
	block 0 of dva0.0.0.0.1 is a valid boot block
	reading 621 blocks from dva0.0.0.0.1
	bootstrap code read in
	base = 112000, image_start = 0, image_bytes = 4da00
	initializing HWRPB at 2000
	initializing page table at 104000
	initializing machine state
	setting affinity to the primary CPU
	jumping to bootstrap code
	Milo Stub: V1.1
	Unzipping Milo into position
	Allocating memory for unzip
	####...
</verb></tscreen>

<!--
<p>The following systems are <em/known/ to have SRM Console support:
-->

<p>次のシステムが SRM コンソールをサポートしていることが<em/判って/います：

<itemize>
        <item>Noname (<ref id="noname-section" name="Noname">を参照)
        <item>AlphaPC64 (<ref id="pc64-section" name="AlphaPC64">を参照)
        <item>EB164 (<ref id="eb164-section" name="EB164">を参照)
</itemize>

<!--
<sect1>System Specific Information<label id="specific-section">
-->
<sect1>システムに固有の情報<label id="specific-section">

<sect2>AxpPCI33 (Noname)<label id="noname-section">

<!--
<p>The Noname board can load Milo 
from the Windows NT ARC firmware
(<ref id="arc-section" name="booting from Windows NT ARC firmware">),
from the SRM Console
(<ref id="srm_section" name="Loading Milo from the SRM Console">).
and from a failsafe boot block floppy
(<ref id="bootblock-section" name="Loading from a Failsafe Boot Block Floppy">).
A flash management utility, runnable from Milo is available so that
once Milo is running, it can be blown into flash
(<ref id="milo-fmu-section" name="running the flash management utility">).
However, be warned
that once you have done this you will lose the previous image held there
as there is only room for one image.
-->

<p>Noname ボードは Milo を Windows NT ARC ファームウェア
(<ref id="arc-section" name="Windows NT ARC ファームウェアから Milo を読み込む">を参照)、
SRM コンソール
(<ref id="srm_section" name="SRM コンソールから Milo を読み込む">を参照)、
緊急用ブートブロックフロッピー
(<ref id="bootblock-section" name="緊急用ブートブロックフロッピーから Milo を読み込む">を参照)
から読み込めます。


<!--
<p>The way that Noname boots is controlled
by a set of jumpers on the board, J29 and J28.  These look like:
-->
<p>Noname の起動を制御するには、
ボード上のジャンパ J28,J29 を設定します。
<tscreen><verb>
        	    4
        J29	2 x x x 6
        	1 x x x 5

        J28	2 x x x 6
        	1 x x x 5
        	    3
</verb></tscreen>
<!--
<p>The two options that we're interested in are J28, pins 1-3 which
boots the console/loader from flash and J29, pins 1-3 which boots the
console/loader from a boot block floppy.  The second option is the one
that you need to first boot Milo on the Noname board.
-->

<p>J28 の 1-3 ピンを繋げるとフラッシュメモリから起動します。
J29 の 1-3 ピンを繋げると ブートブロックフロッピーから起動します。
後者は Noname ボードで最初に Milo を起動するのに必要な設定の一つです。
&lsqb;訳注：私は Windows NT ARC ファームウェアからいけましたが…&rsqb;

<!--
<p>Once you've selected the boot from floppy option via the jumpers,
put the SRM boot block floppy containing Milo into the
floppy and reboot.  In a few seconds (after the floppy light goes out)
you should see the screen blank to white and Milo telling
you what's going on.
-->

<p>ジャンパでフロッピーからの起動を選んだら、
Milo を書き込んだ SRM ブートブロックフロッピーを
フロッピードライブに入れて再起動します。
しばらくするとフロッピーのライトが消えて画面が白く点滅し、
 Milo のプロンプトが出ます。

<!--
<p>If you are really interested in technical stuff, the Noname loads
images off of the floppy into physical address 0x104000 and images
from flash into 0x100000.  For this reason, Milo is built
with it's PALcode starting at 0x200000.  When it is first loaded, it
moves itself to the correct location (see relocate.S).
-->

<p>技術的な説明をします。
 Noname はフロッピー上のイメージを物理アドレス 0x104000 に読み込み、
フラッシュメモリ上のイメージを 0x100000 に読み込みます。
そのために、Milo はその PALcode が 0x200000 から始まるように作られています。
Milo は最初に読み込まれた時に、
自分自身を適切な場所へ移動します(リロケートを参照)。

<sect2>AlphaPC64 (Cabriolet)<label id="pc64-section">

<!--
<p>The AlphaPC64 includes the Windows NT ARC firmware
(<ref id="arc-section" name="booting from Windows NT ARC firmware">),
the SRM Console (<ref id="srm_section" name="Loading Milo from the SRM Console">)
and the Evaluation Debug Monitor 
(<ref id="dbm-section" name="Loading from the Debug Monitor">).
These images are in flash and there is room to add Milo so that
you can boot Milo directly from flash.
A flash management utility, runnable from Milo is available so that
once Milo is running, it can be blown into flash
(<ref id="milo-fmu-section" name="running the flash management utility">).
This system supports Milo environment variables.
-->

<p>AlphaPC64 は NT ARC ファームウェア
(<ref id="arc-section" name="Windows NT ARC ファームウェアから Milo を読み込む">を参照)と
SRM コンソール
(<ref id="srm_section" name="SRM コンソールから Milo を読み込む">を参照)と
評価用ボードデバッグモニタ
(<ref id="dbm-section" name="デバッグモニタから Milo 読み込む">を参照)を
サポートしています。
これらのイメージはフラッシュメモリに格納されており、
 Milo をフラッシュメモリから直接起動するための空きもあります。
 Milo が動けば Milo からフラッシュメモリマネージメントユーティリティが
実行できますので、Milo をフラッシュメモリに書き込むことができます
(<ref id="milo-fmu-section" name="フラッシュメモリマネージメントユーティリティの実行">を参照)。
このシステムは Milo の環境変数に対応しています。

<!--
<p>You select between the boot options (and Milo when it is
been put into flash) using a combination of jumpers and a boot option which
is saved in the NVRAM of the TOY clock.
-->

<p>Milo がフラッシュメモリに入っているならば、
 TOY clock の NVRAM に保存されている番号のイメージを起動するか、
フラッシュメモリの最初のイメージを起動するかを、
ジャンパの組み合わせで決めます。

<!--
<p>The jumper is J2, SP bits 6 and 7 have the following meanings:
-->
<p>ジャンパ J2 の SP の bit 6,7 には次のような意味があります：

<itemize>
<!--
<item>SP bit 6 should always be out.  If this jumper is set then the
SROM mini-debugger gets booted,
-->
<item>SP の bit 6 は常に外れていなければなりません。
このジャンパが入っていると、SROM&lsqb;Serial ROM&rsqb;の
ミニデバッガが起動します。
<!--
<item>SP bit 7 in is boot image selected by the boot option byte in 
the TOY clock,
-->
<item>SP の bit 7 を入れると、
 TOY clock の起動選択メモリに保存されている番号のイメージが起動します。
<!--
<item>SP bit 7 out is boot first image in flash.
-->
<item>SP の bit 7 を外すと、
フラッシュメモリの先頭に入っているイメージが起動します。
</itemize>

<!--
<p>So, with bit 7 out, the Debug Monitor will be booted as it is
<tt/always/ the first image in flash.  With bit 7 in, the image selected by
the boot option in the TOY clock will be selected.  
The Debug Monitor, the Windows NT ARC firmware and Milo all support setting
this boot option byte but you must be very careful using it.
In particular, you cannot set the boot option so that next time the system
boots Milo when you are running the Windows NT ARC firmware, it only
allows you to set Debug Monitor or Windows NT ARC as boot options.
-->

<p>bit 7 を外すと、
<tt/常に/フラッシュメモリの最初のイメージ、
すなわちデバッグモニタが起動します。
 bit 7 を入れると、
 TOY clock に書かれた番号に従って起動するイメージが選択されます。
デバッグモニタ、 Windows NT ARC ファームウェア、 
 Milo それぞれで起動する順番を指定できますが、
十分注意して使わねばなりません。
特に、Windows NT ARC ファームウェアを動かした直後には、
起動するイメージとして Milo を選ぶことができません(??)。
次に選べるのは デバッグモニタか Windows NT ARC ファームウェアだけです。

<!--
<p> To get Milo into flash via the Evaluation Board Debug Monitor, 
you will need a flashable image.
The build proceedures make milo.rom, 
but you can also make a rom image using the makerom tool in the 
Debug Monitor software that comes with the board:
-->

<p>評価用ボードデバッグモニタで Milo をフラッシュメモリに書き込むためには、
フラッシュメモリ用のイメージが必要です。
普通にイメージを作ると milo.rom という名前になりますが(??)、
ボードに付いてくるデバッグモニタにある makerom ツールを使って
イメージを作ることもできます：

<verb>
    > makerom -v -i7 -l200000 Milo -o mini.flash
</verb>

<!--
<p> (type makerom to find out what the arguments mean, but 7 is a
flash image id used by the srom and -l200000 gives the load address
for the image as 0x200000).
-->

<p>(<tt/makerom/ と打てば引数の意味が出てきます。
 7 は SROM が使う&lsqb;SROM が TOY Clock の NVRAM の内容を見て、
起動するフラッシュメモリイメージを起動します&rsqb;
フラッシュメモリのイメージ番号で、
 -l200000 はイメージを 0x200000 に読み込むことを意味します。)

<!--
<p>Load that image into memory (via the Debug Monitor commands flload,
netload, and so on) at 0x200000 and then blow the image into flash:
-->

<p>デバッグモニタの flload や netload といったコマンドを使って、
イメージをメモリの 0x200000 に読み込み、
次のようにしてフラッシュメモリに書き込みます：

<tscreen><verb>
     AlphaPC64> flash 200000 8
</verb></tscreen>

<!--
<p> (200000 is where the image to be blown is in memory and 8 is the segment
number where you put the image.   There are 16 1024*64 byte segments in the
flash and the Debug Monitor is at seg 0 and the Windows NT ARC firmware is at seg 4).
-->

<p>(200000 は書き込むイメージがメモリのどこにあるかを表し、
 8 はイメージを書き込むセグメントの番号を表します。
フラッシュメモリには 1024*64 バイトのセグメントが 16 個あり、
デバッグモニタはセグメント 0 に、
 Windows NT ARC ファームウェアはセグメント 4 にあります。)

<!--
<p> Set up the image that the srom will boot by writing the number of
the image into the TOY clock.
-->

<p>SROM がイメージを起動できるように、その番号を TOY clock に書き込みます：

<tscreen><verb>
     AlphaPC64> bootopt 131
</verb></tscreen>
<!--
<p>(131 means boot the 3rd image, 129 = 1st, 130 = 2nd and so on).
-->
<p>(131 は 3 番目のイメージという意味です。
 129 は 1 番目、130 は 2 番目、というふうに番号付けされています。)

<!--
<p> Power off, put jumper 7 on and power on and you should see the
Milo burst into life.  If you don't then take jumper 7 back off
and reboot the Debug Monitor.
-->

<p> 電源を切って、ジャンパ 7 を on にして電源を入れなおし、
Milo が起動するかどうか見てください。
起動しなかった場合はジャンパ 7 を off に戻してデバッグモニタを起動しましょう。

<sect2>EB66+<label id="eb66p-section">

<!--
<p>The EB66+, like all of the Alpha Evaluation Boards built by Digital
contains the Evaluation Board Debug Monitor and so this is available
to load Milo
(<ref id="dbm-section" name="Loading from the Debug Monitor">).  
Quite often (although not always) boards whose design is derived from
these include the Debug Monitor also.
Usually, these boards include the Windows NT ARC firmware
(<ref id="arc-section" name="booting from Windows NT ARC firmware">).
A flash management utility, runnable from Milo is available so that
once Milo is running, it can be blown into flash
(<ref id="milo-fmu-section" name="running the flash management utility">).
This system supports Milo environment variables.
-->

<p>EB66+ にも他の Alpha 評価用ボードと同じように
評価用ボードデバッグモニタが付いていますので、
同じようにして Milo を読み込むことができます
(<ref id="dbm-section" name="デバッグモニタから Milo を読み込む">を参照)。
また、これらのボードの亜流のボードは、ほとんど全部といっていいほど
NT ARC ファームウェアを載せています
(<ref id="arc-section" name="Windows NT ARC ファームウェアから Milo を読み込む">を参照)。
 Milo が動けば Milo からフラッシュメモリマネージメントユーティリティが
実行できますので、Milo をフラッシュメモリに書き込むことができます
(<ref id="milo-fmu-section" name="フラッシュメモリマネージメントユーティリティの実行">を参照)。
このシステムは Milo の環境変数に対応しています。

<!--
<p>These systems have several boot images in flash controlled by jumpers.  
The two jumper banks are J18 and J16 and are located at the bottom
of the board in the middle (if the Alpha chip is at the top).
You select between the boot options (and Milo when it is
been put into flash) using a combination of jumpers and a boot option which
is saved in the NVRAM of the TOY clock.
-->

<p>これらのシステムはフラッシュメモリ上に複数のブートイメージを持っており、
その起動の順番をジャンパで設定することができます。
Alpha チップを上にしたときに、
ボードの下の真中あたりに、
 2 つのジャンパのある J18 と J16 というバンクがあります。
これを使って、 
 TOY clock の NVRAM に保存されている番号のイメージを起動するか、
フラッシュメモリの先頭にあるイメージを起動するかを制御します。

<!--
<p>Jumper 7-8 of J18 in means boot the image described by the
boot option.   Jumper 7-8 of J18 out means boot the Evaluation Board
Debug Monitor.
-->

<p>J18 のジャンパ 7-8 にジャンパを入れると、
 NVRAM に書かれている番号のイメージを起動します。
J18 のジャンパ 7-8 を外すと、
評価用ボードデバッグモニタを起動します。

<!--
<p>Blowing an image into flash via the Evaluation Board Debug Monitor
is exactly the same proceedure as
for the AlphaPC64 (<ref id="pc64-section" name="AlphaPC64">).
-->

<p>評価用ボードモニタを使ってイメージをフラッシュメモリに書き込む方法は、
AlphaPC64 と全く同じです(<ref id="pc64-section" name="AlphaPC64">を参照)。

<sect2>EB64+/Aspen Alpine<label id="eb64p-section">

<!--
<p>This system is quite like the AlphaPC64 except that it does not
contain flash which Milo can be loaded from.
The EB64+ has two ROMs, one of which contains
the Windows NT ARC firmware
(<ref id="arc-section" name="booting from Windows NT ARC firmware">).  
and the other contains the Evaluation Board Debug Monitor 
(<ref id="dbm-section" name="Loading from the Debug Monitor">).  
-->

<p>このシステムは、
 AlphaPC64 から Milo を入れることのできるフラッシュメモリを取り除いたものです。
EB64+ には 2 つの ROM があり、
ひとつには Windows NT ARC ファームウェアが
(<ref id="arc-section" name="Windows NT ARC ファームウェアから Milo を読み込む">を参照)、
もうひとつには評価用ボードデバッグモニタ
(<ref id="dbm-section" name="デバッグモニタから Milo を読み込む">を参照)
が入っています。

<!--
<p>The Aspen Alpine is a little different in that it only has one
ROM; this contains the Windows NT ARC firmware.
-->

<p>Aspen Alpine には Windows NT ARC ファームウェアの入った ROM しか
載っていません。

<sect2>Universal Desktop Box (Multia)<label id="multia-section">

<!--
<p>This is a very compact pre-packaged 21066 based system that 
includes a TGA (21030) graphics device.   Although you can <em/just/ fit
a half height PCI graphics card in the box you are better off waiting
for full TGA support in XFree86.   It includes the Windows NT ARC
firmware and so booting from that is the prefered method
(<ref id="arc-section" name="Loading from Windows NT">).
-->

<p>非常にコンパクトにまとめられた 21066 ベースのシステムで、
TGA(21030) グラフィックデバイスが載っています。
ボックスにはハーフハイトの PCI グラフィックカードが<em/ちょうど/入りますが、
XFree86 が TGA に完全に対応するのを待ったほうが良いでしょう。
このシステムには Windows NT ARC ファームウェアが載っていますので、
それを使いましょう
(<ref id="arc-section" name="Windows NT ARC ファームウェアから Milo を読み込む">を参照)。

<sect2>EB164<label id="eb164-section">

<!--
<p>The EB164, like all of the Alpha Evaluation Boards built by Digital
contains the Evaluation Board Debug Monitor and so this is available
to load Milo
(<ref id="dbm-section" name="Loading from the Debug Monitor">).  
Quite often (although not always) boards whose design is derived from
these include the Debug Monitor also.
Usually, these boards include the Windows NT ARC firmware
(<ref id="arc-section" name="booting from Windows NT ARC firmware">).
The SRM console is also available
(<ref id="srm_section" name="Loading Milo from the SRM Console">).
A flash management utility, runnable from Milo is available so that
once Milo is running, it can be blown into flash
(<ref id="milo-fmu-section" name="running the flash management utility">).
This system supports Milo environment variables.
-->

<p>EB164 にも他の Alpha 評価用ボードと同じように
評価用ボードデバッグモニタが付いていますので、
同じようにして Milo を読み込むことができます
(<ref id="dbm-section" name="デバッグモニタから Milo を読み込む">を参照)。
また、これらのボードの亜流のボードは、ほとんど全部といっていいほど
 NT ARC ファームウェアを載せています
(<ref id="arc-section" name="Windows NT ARC ファームウェアから Milo を読み込む">を参照)。
また、SRM コンソールも使うことができます
(<ref id="srm_section" name="SRM コンソールから Milo を読み込む">を参照)。
 Milo が動けば、 Milo からフラッシュメモリマネージメントユーティリティが
実行できますので、Milo をフラッシュメモリに書き込むことができます
(<ref id="milo-fmu-section" name="フラッシュメモリマネージメントユーティリティの実行">を参照)。
このシステムは Milo の環境変数に対応しています。

<!--
<p>These systems have several boot images in flash controlled by jumpers.  
The two jumper bank is J1 and is located at the bottom
of the board on the left (if the Alpha chip is at the top).
You select between the boot options (and Milo when it is
been put into flash) using a combination of jumpers and a boot option which
is saved in the NVRAM of the TOY clock.
-->

<p>これらのシステムはフラッシュメモリ上に複数のブートイメージを持っており、
その起動の順番をジャンパで設定することができます。
Alpha チップを上にしたときに、
ボードの下の真中あたりに、
 2 つのジャンパのある J1 というバンクがあります。
これを使って、 
 TOY clock の NVRAM に保存されている番号のイメージを起動するか、
フラッシュメモリにあるイメージを起動するかを制御します。

<!--
<p>Jumper SP-11 of J1 in means boot the image described by the
boot option.   Jumper SP-11 of J1 out means boot the Evaluation Board
Debug Monitor.
-->

<p>J1 のジャンパ SP-11 を入れると、
 NVRAM に書かれている番号のイメージを起動します。
 J1 のジャンパ SP-11 を外すと、
評価用ボードデバッグモニタを起動します。

<!--
<p>Blowing an image into flash via the Evaluation Board Debug
Monitor is exactly the same proceedure as
for the AlphaPC64 (<ref id="pc64-section" name="AlphaPC64">を参照).
-->

<p>評価用ボードモニタを使ってイメージをフラッシュメモリに書き込む方法は、
AlphaPC64 と全く同じです(<ref id="pc64-section" name="AlphaPC64">を参照)。

<sect2>XL266<label id="xl-section">

<!--
<p>The XL266 is one of a family of systems that are known as Avanti.  
It has a riser card containing the Alpha chip and cache which plugs into 
the main board at right angles.   This board can replace the equivalent 
Pentium board.
-->

<p>XL266 は Avanti というシステムの一つです。
このメインボードには、
 Alpha チップとキャッシュを載せたライザカードが垂直に挿さっています。
このライザカードは互換性のある Pentium ボードと差し替えることができます。

<!--
<p>Some of these systems ship with the SRM console but others, notably
the XL266 ship with only the Windows NT ARC firmware
(<ref id="arc-section" name="booting from Windows NT ARC firmware">).
-->

Avanti には SRM コンソールが載っているものもありますが、
XL266 には Windows NT ARC ファームウェアしか載っていません
(<ref id="arc-section" name="Windows NT ARC ファームウェアから Milo を読み込む">を参照)。

<!--
<p>Here is my list of compatible systems:
-->

<p>以下が私の調べた互換リストです：
<itemize>
	<item>AlphaStation 400 (Avanti),
	<item>AlphaStation 250,
	<item>AlphaStation 200 (Mustang),
<!--
	<item>XL.  There are two flavours, XL266 and XL233 with the only
		difference being in processor speed and cache size.
-->
	<item>XL.  XL266 と XL233 の 2 種類がありますが、
              速度とキャッシュの大きさが異るだけです
</itemize>

<!--
<p><bf>Note</bf> The system that I use to develop and test Milo is
an XL266 and so this is the only one that I can guarentee will work.
However, technically, all of the above systems are equivalent; they
have the same support chipsets and the same interrupt handling
mechanisms.
-->

<p><bf>注意：</bf>私が Milo を開発・テストしたシステムは XL266 ですから、
XL266 についてのみにしか動作保証できません。
しかし、上述のシステムは技術的には互換性があります。
同じチップセットをサポートし、割り込みのハンドリング機構も同じです。

<sect2>Platform2000<label id="p2k-section">

<!--
<p>This is a 233Mhz 21066 based system.
-->

<p>233MHz の 21066 ベースのシステムです。

<!--
<sect>Milo's User Interface<label id="milo-if-section">
-->
<sect>Milo のユーザインターフェース<label id="milo-if-section">

<!--
<p>Once you have correctly installed/loaded/run Milo you will see 
the MILO (for MIniLOader) prompt displayed on your screen.  There is a very
simple interface that you must use in order to boot a particular Linux 
kernel image.  Typing "help" is a good idea as it gives a useful summary
of the commands.
-->

<p>Milo をきちんとインストール・読み込み・実行できれば、
 MILO (MIni LOader の略) というプロンプトが画面に現れます。
 Milo には Linux カーネルイメージを起動するための
簡単なインターフェースが備わっています。
コマンドの概略を見たければ &dquot;help&dquot; とタイプするのが良いでしょう。

<!--
<sect1>The ''help'' Command<label id="milo-help-section">
-->
<sect1> &dquot;help&dquot; コマンド<label id="milo-help-section">

<!--
<p>Probably the most useful command that Milo has:
-->
<p>たぶん Milo で最も便利なコマンドでしょう：

<tscreen><verb>

MILO> help
MILO command summary:

ls [-t fs] [dev:[dir]] 
                    - List files in directory on device
boot [-t fs] [dev:file] [boot string] 
                    - Boot Linux from the specified device and file
run [-t fs] dev:file 
                    - Run the standalone program dev:file
show                - Display all known devices and file systems
set VAR VALUE       - Set the variable VAR to the specified VALUE
unset VAR           - Delete the specified variable
reset               - Delete all variables
print               - Display current variable settings
help [var]          - Print this help text

Devices are specified as: fd0, hda1, hda2, sda1...
Use the '-t filesystem-name' option if you want to use
  anything but the default filesystem  ('ext2').
Use the 'show' command to show known devices and filesystems.
Type 'help var' for a list of variables.

</verb></tscreen>

<!--
<p><bf>Note</bf> that the <tt>bootopt</tt> command only appears on AlphaPC64 
(and similar) systems.  
Refer to the board's dcoumentation to find out just what it means.
-->

<p><bf>注意：</bf><tt>bootopt</tt> コマンドは
 AlphaPC64 (互換)システムにのみ存在します。

<!--
<p><bf>Devices.</bf>  Until you
use a command that needs to make use of a device, no device
inititalisation will take place.   The first <tt/show/, 
<tt/ls/, <tt/boot/ or <tt/run/
commands all cause the devices within Milo to be initialised.
Devices are named
in the same way (exactly) that Linux itself will name them.  So, the
first IDE disk will be called 'hda' and it's first partition will be 'hda1'.
Use the <tt/show/ command to show what devices are available.
-->

<p><bf>デバイス：</bf>
デバイスを使用可能にするコマンドを実行するまでは、
初期化されたデバイスがないというメッセージが出ます。
まず <tt/show/、<tt/ls/、<tt/boot/ もしくは <tt/run/ というコマンドで
 Milo に入っているデバイスを初期化します。
デバイス名は Linux と全く同じになっています。
最初の IDE は 'hda' ですし、その最初のパーティションは 'hda1' です。
<tt/show/ コマンドを使えば、どのデバイスが利用可能か表示されます。

<!--
<p><bf>File Systems.</bf>   Milo supports three file systems, 
MSDOS, EXT2 and ISO9660.  So long as a device is available to it, 
Milo can <tt/list/<tt/boot/ or <tt/run/ an image stored on 
one of these file systems.
Milo's default file system is <tt/EXT2/ and so you have tell Milo that
the file system is something other than that.
All of the commands that use filenames 
allow you to pass the file system using the <tt/-t [filesystem]/option.
So, if you wanted to list the contents of a SCSI CD ROM, you might type the
following:
-->

<p><bf>ファイルシステム：</bf>
 Milo は MSDOS、EXT2、ISO9660 ファイルシステムに対応しています。
デバイスが利用可能な状態になっていれば、
そのファイルシステム上にあるイメージを
 <tt/list/ したり <tt/boot/ したり <tt/run/ したりできます。
 Milo のデフォルトのファイルシステムは <tt/EXT2/ で、
それ以外のファイルシステムを使うときには Milo に指定せねばなりません。
ファイル名を使うコマンドでは <tt/-t [filesystem]/ 
というオプションを使ってファイルシステムを指定できます。
 SCSI CD ROM の中身を見たいときには次のようにタイプします
&lsqb;訳注：scd0 ではなく sr0 の場合もあります 
(<tt>linux/Documentation/devices.txt</tt> を参照)&rsqb;：

<tscreen><verb>
     MILO> ls -t iso9660 scd0:
</verb></tscreen>

<!--
<p><bf>Variables.</bf>  Milo contains some settable variables that help
the boot process.  If you are loading via the Windows NT ARC firmware, then
Milo makes use of the boot option environment variables set up by that
firmware.  
For some systems, Milo (for example, the AlphaPC64) maintains
its own set of environment variables that do not change from boot to boot.
These variables are:
-->

<p><bf>変数：</bf>
 Milo にはブートプロセスを補助する変数があります。
 Milo を Windows NT ARC ファームウェアから読み込む場合は、
ファームウェアによって起動オプションの変数が設定されます。
 AlphaPC64 のような一部のシステムでは、
変数はブートごとに変化しません
&lsqb;訳注：Milo がフラッシュメモリにある場合は変数が初期化されない(??)&rsqb;。
変数には次のようなものがあります：
	
<tscreen><verb>

MILO> help var
Variables that MILO cares about:
  MEMORY_SIZE      - System memory size in megabytes
  BOOT_DEV         - Specifies the default boot device
  BOOT_FILE        - Specifies the default boot file
  BOOT_STRING      - Specifies the boot string to pass to the kernel
  SCSIn_HOSTID     - Specifies the host id of the n-th SCSI controller.
  AUTOBOOT         - If set, MILO attempts to boot on powerup
                     and enters command loop only on failure.
  AUTOBOOT_TIMEOUT - Seconds to wait before auto-booting on powerup.

</verb></tscreen>

<!--
<sect1>Booting Linux <label id="milo-boot-section">
-->
<sect1>Linux の起動<label id="milo-boot-section">

<!--
<p>The <tt/boot/ command boots a linux kernel from a device.
You will need to have a linux kernel image on
an EXT2 formated disk (SCSI, IDE or floppy) or an ISO9660 formatted CD 
available to Milo.  
The image can be gzip'd and in this case 
Milo will recognise that it is gzip'd by the .gz suffix.
-->

<p><tt/boot/ コマンドはデバイスから Linux カーネルを起動します。
 Linux カーネルは、EXT2 フォーマットの SCSI-HDD/IDE-HDD/フロッピーディスクか、
 ISO9660 フォーマットの CD の上になければなりません。
イメージは gzip で圧縮されていてもよく、 <em>.gz</em> という拡張子であれば圧縮ファイルだとみなされます。

<!--
<p>You should note that the version of Milo does not usually have to match
the version of the Linux kernel that you are loading.
You boot Linux using the following command syntax:
-->

<p>起動しようとしている Linux カーネルのバージョンと
Milo のバージョンが同じかどうか確認しておきましょう。
次のコマンドで Linux を起動します：

<tscreen><verb>
     MILO> boot [-t file-system] device-name:file-name [[boot-option] [boot-option] ...]
</verb></tscreen>

<!--
<p>Where <tt/device-name/ is the name of the device that you wish to
use and <tt/file-name/ is the name of the file containing the Linux
kernel.   All arguments supplied after the file name are passed directly
to the Linux kernel. 
-->

<p><tt/device-name/ は使用するデバイスで、
 <tt/file-name/ は Linux カーネルのファイル名です。
それ以降の引数は Linux カーネルに直接渡されます。

<!--
<p>If you are installing Red Hat, then you will need to specify a root
device and so on.  So you would use:
-->

<p>もし RedHat をインストールしているならば、
次のようにしてルートデバイスを指定しなければならないでしょう：

<tscreen><verb>
     MILO> boot fd0:vmlinux.gz root=/dev/fd0 load_ramdisk=1
</verb></tscreen>

<!--
<p> Milo will automatically contain the block devices that
you configure into your vmlinux.  I have tested the floppy driver, the IDE
driver and the NCR SCSI driver, these work fine.  
Also, it is important to set the host id of the SCSI controller
to a reasonable value.  By default, MILO will initialize it to the
highest possible value (7) which should normally work just fine.
However, if you wish, you can explicitly set the host id of the
<em>n</em>-th SCSI controller in the system by setting environment
variable <tt/SCSI/<em/n/<tt/_HOSTID/ to the appropriate
value.  For example, to set the hostid of the first SCSI controller to
7, you can issue the following command at the MILO prompt:
-->

<p>Milo には vmlinux を作るときに設定したブロックデバイスが
自動的に入っています。
私はフロッピードライバと IDE ドライバ、NCR SCSI ドライバを試し、
うまく動いています。
 SCSI コントローラのホスト ID がきちんと設定されていることも重要です。
 MILO のデフォルトのホスト ID は 7 です。
普通はうまくいくはずが、明示的にホスト ID を指定することもできます。
 n 番目の SCSI コントローラ指定するには、
環境変数 <tt/SCSI/<em/n/<tt/_HOSTID/ を希望の値にセットします。
例えば最初の SCSI コントローラのホスト ID を 7 に設定したい場合は、
 MILO のプロンプトで下のコマンドを実行します：

<tscreen><verb>
     setenv SCSI0_HOSTID 7
</verb></tscreen>

<!--
<sect1>Rebooting Linux <label id="milo-reboot-section">
-->
<sect1>Linux の再起動<label id="milo-reboot-section">

<!--
<p>You may want to reboot a running Linux system using the
<tt>shutdown -r now</tt> command.  In this case, the Linux kernel
returns control to Milo (via the HALT CallPAL entrypoint).
Milo leaves a compressed copy of itself in memory for just this
reason and detects that the system is being rebooted from information
held in the HWRPB (Hardware Restart Parameter Block).
In this case it starts to reboot using exactly the same command that
was used to boot the Linux kernel the last time.
There is a 30 second timeout that allows you to interrupt this 
process and boot whatever kernel you wish in whatever way you wish.
-->

<p>動作中の Linux システムを再起動するには、
 <tt>shutdown -r now</tt>というコマンドを実行します。
すると、Linux カーネルは HALT CallPAL エントリポイントを経由して
 Milo に制御を戻します。
 Milo がメモリ内に自分自身の圧縮されたコピーを残しているのはこのためです。
そして HWRPB (HardWare Restart Parameter Block) に保持されている情報をもとに、
システムが再起動中であることを検知します。
それから前回 Linux カーネルを起動したのと同じコマンドで再起動を始めます。
このプロセスを中止したり別のカーネルを起動したりするために、
30 秒間のタイムアウトがあります。

<!--
<sect1>The ''bootopt'' command <label id="milo-bootopt-section">
-->
<sect1>&dquot;bootopt&dquot; コマンド<label id="milo-bootopt-section">

<!--
<p>For flash based systems such as the AlphaPC64, EB164 and the EB66+, there
are a number of possible boot options and these are changed using the 
<tt/bootopt/ command.  
This has one argument, a decimal number which is the type of the
image to be booted the next time the system is power cycled or reset:
-->

<p>AlphaPC64、EB164、EB66+ のようなフラッシュメモリが付いているシステムには
いくつかの起動選択肢が用意されており、
 <tt/bootopt/ コマンドによって変更できるようになっています。
このコマンドは一つの引数を取ります。
システムの電源をリセットしたり入れ直したりした時に起動するイメージのタイプを
 10 進数で指定します：

<!--
<p><bf/0/ Boot the Evaluation Board Debug Monitor,
-->
<p><bf/0/：評価用ボードデバッグモニタを起動する
<!--
<p><bf/1/ Boot the Windows NT ARC firmware.
-->
<p><bf/1/：Windows NT ARC ファームウェアを起動する

<!--
<p>In order to tell the boot code to boot the Milo firmware from flash
then you need a boot option that means boot the N'th image.  
For this, you need to 128 plus N, so if Milo is the third image, you 
would use the command:
-->

<p>フラッシュメモリから Milo ファームウェアを起動するために、
 N 番目のイメージを表すブートオプションを指定せねばなりません。
これは N に 128 を足した値になります。
つまり、もし Milo が 3 番目のイメージであれば、
次のコマンドを使います：

<tscreen><verb>
     MILO> bootopt 131
</verb></tscreen>

<!--
<tt/Note:/ Be very careful with this command.   A good rule is never to
set bootopt to 0 (the Evaluation Board Debug Monitor), but instead use the 
system's jumpers to achieve the same thing.  
-->

<tt/注意：/ このコマンドを使用する際には十分気を付けて下さい。
評価用ボードデバッグモニタを起動するために <tt/bootopt 0/
とするのはやめたほうが良いでしょう。
システムのジャンパを使えば同じことができます。

<!--
<sect>Running the Flash Management Utility <label id="milo-fmu-section">
-->
<sect>フラッシュメモリマネージメントユーティリティの実行<label id="milo-fmu-section">

<!--
<p>The <tt/run/ command is used to run the flash management utility.
Before you start you will need a device available to Milo that
contains the updateflash program.  
This (like vmlinux) can be gzip'd.  You need to run the flash management
utility  program from the Milo using the (<tt/run/) command:
-->

<p>フラッシュメモリマネージメントユーティリティを実行するには
 <tt/run/ コマンドを使います。
実行する前に、updateflash プログラムが入った Milo を利用可能なデバイスに
置いておかねばなりません。
 updateflash プログラムは vmlinux と同じように
 gzip で圧縮しておくことができます。
フラッシュメモリマネージメントユーティリティを実行するには、
次のようにして Milo の <tt/run/ コマンドを実行します：

<tscreen><verb>
     MILO> run fd0:fmu.gz
</verb></tscreen>

<!--
<p>Once it has loaded and initialised, the flash management utility
will tell you some information about the flash device and give you
a command prompt.  Again the <tt/help/ command is most useful.
-->

<p>フラッシュメモリマネージメントユーティリティの初期化がすむと
フラッシュメモリデバイスに関する情報がいくつか表示され、
コマンドプロンプトが現れます。
ここでも <tt/help/ コマンドが有用です：

<p>
<tscreen><verb>
Linux Milo Flash Management Utility V1.0

Flash device is an Intel 28f008SA
  16 segments, each of 0x10000 (65536) bytes
Scanning Flash blocks for usage
Block 12 contains the environment variables
FMU> 
</verb></tscreen>

<!--
<p><tt/Note/ that on systems where environment variables may be stored
and where there is more than one flash block (for example, the AlphaPC64)
the flash management utility will look for a block to hold Milo's 
environment variables.  If such a block already exists, the flash management
utility will tell you where it is.  Otherwise, you must use the 
<tt/environment/ command to set a block and initialise it.
In the above example, flash block 12 contains Milo's environment 
variables.
-->

<p><tt/注意：/
AlphaPC64 などのシステムには、
複数のフラッシュメモリブロックと環境変数を保存する場所があります。
フラッシュメモリマネージメントユーティリティは 
 Milo の環境変数が保存されているブロックを探します。
もしそのようなブロックがすでに存在していれば、
それがどこに存在しているか表示されます。
そうでない場合は、
 <tt/environment/ コマンドを使って初期化するブロックを指定せねばなりません。
上の例ではフラッシュメモリブロック 12 に Milo の環境変数が保存されています。

<!--
<sect1> The ''help'' command
-->
<sect1> &dquot;help&dquot; コマンド

<p>
<tscreen><verb>
FMU> help
FMU command summary:

list                - List the contents of flash
program             - program an image into flash
quit                - Quit
environment         - Set which block should contain the environment variables
bootopt num         - Select firmware type to use on next power up
help                - Print this help text
FMU>           

</verb></tscreen>

<!--
<p><em/Note/ that the <tt/environment/ and <tt/bootopt/ commands are only avail
able on
the EB66+, the AlphaPC64 and the EB164 systems (and their clones).
-->

<p><em/注意：/<tt/environment/ コマンドと <tt/bootopt/ コマンドは、
 EB66+、AlphaPC64、EB164 (互換)システムのみで使用可能です。

<!--
<sect1> The ''list'' command
-->
<sect1> &dquot;list&dquot; コマンド

<!--
<p>The ''list'' command shows the current usage of the flash memory.
Where there is more than one flash block, the usage of each flash block
is shown.   In the example below you can see that Windows NT ARC is using
blocks 4:7 and block 15.
-->

<p>&dquot;list&dquot; コマンドは現在のフラッシュメモリの使用状況を表示します。
 2 つ以上のフラッシュメモリブロックがある場合には、
それぞれのブロックの使用状況が表示されます。
下の例では、
 Windows NT ARC ファームウェアがブロック 4 から 7 と
ブロック 15 を使用しています。

<tscreen><verb>
FMU> list
Flash blocks:  0:DBM  1:DBM  2:DBM  3:WNT  4:WNT  5:WNT  6:WNT  7:WNT  8:MILO  
	9:MILO 10:MILO 11:MILO 12:MILO 13:U 14:U 15:WNT
Listing flash Images
  Flash image starting at block 0:
    Firmware Id:  0 (Alpha Evaluation Board Debug Monitor)
    Image size is 191248 bytes (3 blocks)
    Executing at 0x300000
  Flash image starting at block 3:
    Firmware Id:  1 (Windows NT ARC)
    Image size is 277664 bytes (5 blocks)
    Executing at 0x300000
  Flash image starting at block 8:
    Firmware Id:  7 (Milo/Linux)
    Image size is 217896 bytes (4 blocks)
    Executing at 0x200000
FMU>
</verb></tscreen>

<!--
<sect1> The ''program'' command
-->
<sect1>&dquot;program&dquot; コマンド

<!--
<p>The flash management utility contains a compressed copy of a flash
image of Milo.  The ''program'' command allows you to blow this image
into flash.
The command allows you to back out, but before you run it you should
use the ''list'' command to see where to put Milo.  
If Milo is already in flash, then the flash management utility will 
offer to overwrite it.
-->

<p>フラッシュメモリマネージメントユーティリティは
圧縮された Milo のフラッシュイメージを持っています。
 &dquot;program&dquot; コマンドはこのイメージをフラッシュメモリに書き込みます。
このコマンドを実行する前に &dquot;list&dquot; コマンドを使って
 Milo をどこに入れることができるか見ておきましょう。
すでに Milo がフラッシュメモリに入っている場合には、
上書きするかどうか訊ねられます：

<tscreen><verb>
FMU> program
Image is:
    Firmware Id:  7 (Milo/Linux)
    Image size is 217896 bytes (4 blocks)
    Executing at 0x200000
Found existing image at block 8
Overwrite existing image? (N/y)? y
Do you really want to do this (y/N)? y
Deleting blocks ready to program: 8 9 10 11
Programming image into flash
Scanning Flash blocks for usage
FMU> 
</verb></tscreen>

<!--
<p>Wait until it has completed before powering off your system.
-->

<p>電源を切る前にこれが終わるのを待ちましょう。

<!--
<p><tt/Note:/ I cannot emphasise just how careful you must be here
not to overwrite an existing flash image that you might need or
render your system useless.   A very good rule is never to overwrite
the Debug Monitor.
-->

<p><tt/注意:/
すでに存在しているフラッシュメモリイメージを上書きすると、
システムを壊してしまうかもしれないのはわかっていますよね。
決してデバッグモニタを上書きしないようにしましょう。

<!--
<sect1>The ''environment'' command
-->
<sect1>&dquot;environment&dquot; コマンド

<!--
<p>This selects a flash block to contain Milo's environment variables.
-->

<p>Milo の環境変数が保存されているフラッシュメモリブロックを選択します。

<!--
<sect1>The ''bootopt'' command
-->
<sect1>&dquot;bootopt&dquot; コマンド

<!--
<p>This is just the same as Milo's ''bootopt'' command,
see (<ref id="milo-bootopt-section" name="The ''bootopt'' command">).
-->

<p>Milo の &dquot;bootopt&dquot; コマンドと同じです
(<ref id="milo-bootopt-section" name="&dquot;bootopt&dquot; コマンド">を参照)。

<!--
<sect1>The ''quit'' command
-->
<sect1>&dquot;quit&dquot; コマンド

<!--
<p>This is really pretty meaningless.  The only way back to Milo (or
anything else) once the flash management utility has run is to reboot
the system.
-->

<p>あまり意味のないコマンドです。
フラッシュメモリマネージメントユーティリティから Milo などに戻る唯一の方法は、
システムを再起動することです。

<!--
<sect> Restrictions.
-->
<sect>制限事項

<!--
<p>Unfortunately this is not a perfect world and there, as always, some
restrictions that you should be aware of.
-->

<p>残念ながら Milo はまだ完璧ではなく、いくつかの注意すべき制限があります。

<!--
<p>Milo is not meant to load operating systems other than Linux, 
although it can load images linked to run at the same place in memory as Linux
(which is 0xFFFFFC0000310000).
This is how the flash management utilities can be run.
-->

<p>Milo は Linux 以外のオペレーティングシステムを読み込むことはできません。
 Milo はイメージを読み込んだあとに特定の場所
 (Linux では 0xFFFFC0000310000) から実行するからです。
これはフラッシュメモリマネージメントユーティリティを実行する仕組みです。

<!--
<p> The PALcode sources included in <tt>miniboot/palcode/</tt><em>blah</em> are
correct, however there are problems when they are built using the
latest <tt/gas/.  They <em>do</em> build if you use the ancient a.out gas
that's supplied in the Alpha Evaluation Board toolset (and that's how
they were built).  I'm trying to get someone to fix the new gas.
Meanwhile, as a workaround, I have provided pre-built PALcode for the
supported boards and David Mosberger-Tang has a fixed gas on
his ftp site.
-->

<p><tt>miniboot/palcode/</tt><em>blah</em>
にある PALcode のソースは間違ってはいないのですが、
最新の <tt/gas/ を使って作ると変になります。
 Alpha 評価用ボードツールセットにある古い a.out の
 <tt/gas/ を使えば大丈夫です。
私は新しい <tt/gas/ を誰かにフィックスしてもらおうとしています。
そうしているうちに、
サポートしているボードに対応したコンパイル済みの PALcode が出て、
David Mosberger-Tang 氏が
フィックスされた <tt/gas/ を彼の ftp サイトに置いてくれていました。

<!--
<sect>Problem Solving.
-->
<sect>解決済みの問題

<!--
<p>Here are some common problems that people have seen, together with the
solutions.
-->

<p>ここには多くの人が経験した問題とその解決方法が書いてあります。

<!--
<p><bf>Reading MS-DOS floppies from the Evaluation Board Debug Monitor.</bf>
-->

<p><bf>・評価用ボードデバッグモニタから MS-DOS フロッピーを読む</bf>

<!--
<p> Several people reported having problems reading files from the
floppy disk using the Evaluation Board Debug Monitor supplied with
Digital Alpha Evaluation Boards such as the AlphaPC64.  Usually, the
Debug Monitor can load the first few sectors all right, but then goes
into an endless loop complaining about "bad sectors."  Apparently,
there is an incompatibility between the DOS file system as expected by
the Debug Monitor and the Linux implementation of DOSFS.  To make the
long story short: if you run into this problem, try using DOS to write
the floppy disk.  For example, if loading the file <tt/milo.cab/
doesn't work, use a DOS machine, insert the floppy and then do:
-->

<p>AlphaPC64 などの Alpha 評価用ボードに載っているデバッグモニタを使って
フロッピーディスクからファイルを読む際の問題が報告されています。
ふつうデバッグモニタは最初の数セクタを読めるのですが、
&dquot;bad sectors&dquot; などがあると無限ループに陥ります。
デバッグモニタが予想している DOS ファイルシステムと
 Linux 上の DOSFS の実装が違うことが原因であることがわかっています。
もしこの問題が起こったら、
 DOS を使ってフロッピーに書き込むのがてっとり早いです。
例えば <tt/milo.cab/ の読み込みに失敗したら、
 DOS マシンを起動してフロッピーを入れて次のようにします：

<tscreen><verb>
     copy a:milo.cab c:
     copy c:milo.cab a:
     del c:milo.cab
</verb></tscreen>

<!--
<p> Then try booting from that floppy again.  This normally solves the problem.
-->

<p>もう一度フロッピーから起動しましょう。問題ないはずです。

<!--
<p><bf>Milo displays a long sequence of <tt/O>/ and does not accept input.</bf>
-->

<p><bf>・Milo が <tt/O>/ という文字を表示しつづけ、入力を受けつけなくなる</bf>

<!--
<p>This usually happens when Milo was built to use COM1 as a secondary console
This usually happens when Milo was built to use COM1 as a secondary console
device.   In such a case, Milo echo output to COM1 and accepts input from
there also.   This is great for debugging but not so great if you have
a device other than a terminal connected.
If this happens, disconnect the device or power it down until the Linux
kernel has booted.
Once Linux is up and running, everything will work as expected.
-->

<p>この現象は、
主に  Milo が 2 番目のコンソールとして 
 COM1 を使うように作られている場合に起こります。
この場合、Milo は COM1 を入出力に使っています。
これはデバッグには非常に便利ですが、
接続されたターミナル以外にデバイスがある場合はそれほど便利ではありません。
もしこの問題が起こったら、
デバイスを切離すか Linux カーネルが起動するまで何度か電源を切ってください。
 Linux が動けば問題はなくなるでしょう。

<!--
<sect>Acknowledgements.
-->
<sect>謝辞

<!--
<p>I would like to thank: 
-->
<p>次の人々に感謝します：

<itemize>
	<item>Eric Rasmussen and Eilleen Samberg the authors of
		the PALcode,
	<item>Jim Paradis for the keyboard driver and the original
		MILO interface,
	<item>Jay Estabrook for his help and bugfixes,
	<item>David Mosberger-Tang for the freeware BIOS emulation
		and his support and encouragement,
	<item>Last (and <tt>not</tt> least) Linus Torvalds for the 
		timer code and his kernel.
</itemize>

&lsqb;訳注：日本語への翻訳にあたり、
Linux-Alpha-JP メーリングリストのメンバの方々より
数々の有用な助言を頂きました。感謝の意を表します。&rsqb;

<!--
<p>There are a number of things that still need doing to Milo,
if you want to add something yourself, then do let me know 
<url url="mailto:david.rusling@reo.mts.dec.com"
name="david.rusling@reo.mts.dec.com">
so that we do not duplicate our efforts.
-->

<p>Milo でやらなければならないことはまだまだあります。
もし自分で何かつけ加えたいと思ったら、私
(<url url="mailto:david.rusling@reo.mts.dec.com"
name="david.rusling@reo.mts.dec.com">)
に連絡してください。
同じことをしている人がいるかもしれません。

<!--
<p>Finally, a big thank you to Digital for producing such a wonderful 
chip (and paying me to do this).
-->

<p>最後に、このような素晴しいチップを開発した
(そしてこの仕事に報酬を出してくれた) Digital 社に感謝します。

</article>

