  Alpha Miniloader Howto
  David A. Rusling, david.rusling@reo.mts.dec.com
  v0.81, 17th April 1996
  {i,shom@i.h.kyoto-u.ac.jp
  1996N615

  ̕ɂ́A Alpha x[X̋@B Linux [hvO
  AMiniloader ̂ƂĂ܂B Alpha Linux Miniloader 
  Milo ƌĂ΂Ă܂B

  : ͂̕ȂȑOɏꂽ̂Ȃ̂ŁA܂ǂ Linux 
  ɂ͂Ă͂܂Ȃӏ܂B (JF Project)
  ______________________________________________________________________

  ڎ

  1. Cg_NV
     1.1 쌠
     1.2 ̍̕ŐV

  2. Milo ĉH
  3. RpCς݂̕WI Milo ̃C[W
  4. Milo ̍
  5. Milo ̓ǂݍ
     5.1 Windows NT ARC t@[EFA Milo ǂݍ
     5.2 ]p{[hfobOj^ Milo ǂݍ
     5.3 ً}p(failsafe)u[gubNtbs[ Milo ǂݍ
     5.4 tbV Milo ǂݍ
     5.5 SRM R\[ Milo ǂݍ
     5.6 VXeɌŗL̏
        5.6.1 AxpPCI33 (Noname)
        5.6.2 AlphaPC64 (Cabriolet)
        5.6.3 EB66+
        5.6.4 EB64+/Aspen Alpine
        5.6.5 Universal Desktop Box (Multia)
        5.6.6 EB164
        5.6.7 XL266
        5.6.8 Platform2000

  6. Milo ̃[UC^[tF[X
     6.1 "help" R}h
     6.2 Linux ̋N
     6.3 Linux ̍ċN
     6.4 "bootopt" R}h

  7. tbV}l[Wg[eBeB̎s
     7.1 "help" R}h
     7.2 "list" R}h
     7.3 "program" R}h
     7.4 "environment" R}h
     7.5 "bootopt" R}h
     7.6 "quit" R}h

  8. 
  9. ς݂̖
  10. ӎ

  ______________________________________________________________________

  1.  Cg_NV

  ̕ł Alpha AXP œ Linux ̂߂ Miniloader (Milo) ɂ
  ċLqĂ܂B̃t@[EFÁA Alpha AXP x[X̃VXe
  ALinux ̓ǂݍ݁ANA Linux p PALcode ̏Ɏg
  B

  1.1.  쌠

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

  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 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.

  쌠F Linux HOWTO hLgƓlɁA̒쌠\
  ΁A{̑SĂ܂͈ꕔɂ炸A܂IɂdqIɂA
  zzł܂BƓIĔzzサ܂AłΒ҂
  AĂB HOWTO ͂ǂȌɖ󂵂Ă܂܂B
  ̒쌠\ƖƐӎ͂̂܂܎cĂA|҂Nł邩
  ӏĂB

  [󒍁F{^{ilԊ (Translation into Japanese :
  MATSUMOTO Shoji, Graduate School of Human and Envilonmental Studies,
  Kyoto-Univ, Japan, shom@i.h.kyoto-u.ac.jp <mailto:shom@i.h.kyoto-
  u.ac.jp>)]

  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.

  ƐӎF͂ł邾mŐV߂悤ɂĂ܂A
  ̏̕ɂăf[^ݔȂ鑹Q󂯂悤ƂAӔC͎
  ܂BHOWTO ɂɂĂ͕ۏ؂ł܂񂵁A𗘗p
  ʂɂĂӔC͎Ă܂B

  1.2.  ̍̕ŐV

  ̍̕ŐVł <ftp://gatekeeper.dec.com/pub/Digital/Linux-
  Alpha/Miniloader/docs> ɂ܂B܂ADavid Mosberger-Tang ̍D
  ɂA̕ html łނ̑f Linux Alpha FAQ TCg
  <http://www.azstarnet.com/~axplinux> ɒuĂ܂B

  2.  Milo ĉH

  Intel x[X PC VXeł́A BIOS ̃t@[EFAVXeZb
  gAbvA DOS t@CVXẽu[gubNsC[W
  ݍ݂܂B Milo  Alpha x[X̃VXeōsĂ邱ƂƂ
  قǕς܂BA Milo  BIOS t@[EFAɂ́A
  ̋[ٓ_܂B̈́AWI Linux ̃foCXh
  Coɑgݍ܂ĂƂƂłB܂Ag̓ǂ
  ݂ BIOS t@[EFAɗĂ LILO Ƃ͈āA Milo ͂ꎩ
  gt@[EFAłBMilo ̎ȋ@\͎̂悤Ȃ̂łF

  1. PALcode

  2. ZbgAbvR[h(y[We[uAzAhbVO
     Lɂ)

  3. rfIR[h(BIOS G~[VR[h TGA(21030))

  4. Linux J[lR[h(ɂ́A荞ݏȂǂ̎ۂ LinuxJ[l
     R[hƋ[J[lR[h܂܂܂)

  5. Linux ubNfoCXhCo(tbs[hCoȂ)

  6. t@CVXeT|[g(ext2EMS-DOSEISO9660)

  7. [UC^[tF[XR[h(MILO)

  8. J[lC^[tF[XR[h(Linux p̃}bv HWRPB 
     ZbgAbv)

  9. ϐ𐧌䂷 NVRAM R[h

  ȉɂ̋@\̏ڍׂqׂ܂B

  PALcode Ƃ́A`bṽIy[eBOVXeɍ킹Pȃ\
  tgEFACƍl邱Ƃł܂B PALcode  PALmode Ƃ
  ȃ[hœ܂B̃[hɂ͐܂AW Alpha 
  Zbg 5 ̊g߂݂̂œ삵܂B̃[hgƂɂ
  āAWindows NTAOpen VMSA Digital UnixAĂ Linux Ƃ
  lXȃIy[eBOVXe Alpha `bvŎs邱Ƃ\
  ɂȂ܂B Milo ̎g (Ȃ킿 Linux ̎g) PALcode ́A Milo 
  ̕ƓlɃt[EFAłB PALcode  Digital Ђ̕]p
  {[h Digital Unix PALcode ̗ɂĂ܂cB Alpha `bv
  X Alpha x[X̃VXeɂ I/O AhX̃}bsO⊄荞
  ̈Ⴂɂ (21066 x[X̃VXe 21064+2107x x[X̃VX
  eł I/O }bvႢ܂)A PALcode ςĂ܂B

  Milo 삷邽߂ɂ́Âǂ̕p\킩˂
  Ȃ܂񂵁A Linux ̎sJnʒumĂ˂΂Ȃ܂B܂A
  Linux ̃foCXhCopɁAꎞIɃ蓖ĂKv
  B Milo ̃R[h́AɊmۂĂy[WꎞIɊmۂy[W
  GgǗ܂B Milo ͋NɎg𕨗̓K؂ȏ
  ɓWJ܂BɎkĂ邾̃ƁA (J[lK
  vƂ) PALcode Ƃ炩̃f[^̈mۂA Linux J[lɐ
  n܂BɂāALinux gɃ̂قƂǂcĂ
  B

  R[h̍Ōł́A Linux KvƂf[^\z̓K
  ؂Ȉʒuɂ悤ɉzAhbVOݒ肵܂B

  Milo ɂ̓VXẽrfIfoCXprfIR[h܂
  Ă܂BrfIR[h́A܂ VGA gƂAtȂ
  TGA (21030) rfIfoCXgƂ܂BłsƁAO
  tBbNfoCX͂Ȃ̂ƌȂ܂BW̃RpCς BIOS G
  ~[VR[hɂ Digital Ђ BIOS G~[VR[h
  ܂Ă܂B̃G~[VR[hg΁ASĂƂ͂܂
  񂪁AقƂǂ̕WIȃOtBbNfoCXgƂł܂B

  Linux ̃foCXhCo̓J[lɖߍ܂Ă܂̂ŁAT[rX
  ꕔ̓J[lɂɔCĂ܂܂BႦΊ荞݂̃nhȂǂ́A
  J[l̋[[`Ă܂B

  Milo ̍ł͂ȓ_́AIĂȂ [󒍁FJ[lɓĂȂ]
  Linux foCXhCołƂłBɂ Linux ̑S
  ẴfoCXhCoɑΉł\oĂ܂B Milo ɂ́ALinux
  J[l̑̃ubNfoCXɑΉubNfoCX(Ⴆ
  ll_rw_blc())gݍ܂Ă܂B

  Milo ́Au[gubN⑼̓ȏꏊ [󒍁FSRM Ȃ]ł͂ȂA
  ۂ̃t@CVXeAȂ킿 MSDOSAEXT2AISO9660 t@CVXe
   Linux ̃J[lǂݍ݂܂B gzip ňkꂽt@Cǂ
  ߂܂̂ŁAɃtbs[ǂݍޏꍇɂ͂E߂łB Milo 
  t@C .gz łt@Ckt@CƔF܂B

  Milo ͒PȃL[{[hhCoƃrfIhCoĂA
  gĊȒPȃ[UC^[tF[XĂ܂B̃C^[
  tF[XɂāAݒς݂̃t@CVXẽXgA Linux
  tbVNA[eBeBAbvf[gA
  VXe̋N𐧌䂷ϐݒ肵ł܂B LILO ̂悤ɁA
  J[lɈ^邱Ƃł܂B

  Milo ̓VXe̎ށEڃ̗ʁEt[̗ʂ Linux J[l
  ɓn܂B HWRPB (HardWare Restart Paramater Block) Ƃ
  f[^\̂ƃNX^̋LqgĎĂ܂B́A
  Linux J[lɐ䂪ڂ钼OɁAz̓K؂ȏꏊɔzu
  B

  3.  RpCς݂̕WI Milo ̃C[W

  Linux WI Alpha x[X̃VXeœ̂Ȃ΁A"W"
  Milo C[WgƂł܂B Milo C[ẂA\[X̑Ƌ
   <ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader> ɂ
  ܂B

  images ƂTufBNgɂ́AWIȃVXe(Ⴆ AlphaPC64
  Ȃ)Ƃɂꂼ̃fBNg܂Bɂ Milo ̃C[
  Wɂ͎̂悤ȋKŖOtĂ܂F

  1. milo - Miniloader sC[W (̃C[W͐FXȕ@œǂݍ
     Ƃł܂)

  2. fmu.gz - tbV}l[Wg[eBeB

  3. milo.dd - u[gubNtbs[fBXNC[W (
     rawrite.exe  Linux  dd ŏ˂΂Ȃ܂)
  images fBNgƓ悤 test-images ƂfBNg
  BɒuĂC[W͎IȂ̂łAŐV̋@\
  ł傤B

  4.  Milo ̍

  Milo ̓J[lƂ͕ʂɍ܂B Milo ɂ̓J[l̈ꕔ(ႦΊ荞
  ݏȂ)Kvł̂ŁA܂肽 Milo ɍJ[lĂ
  ˂΂Ȃ܂BقƂǂ̏ꍇAo[WJ[l邱Ƃ
  Ȃ܂BႦ΁A milo-1.3.76.tgz  linux-1.3.76.tar.gz ɑΉ
  ̂łBƃo[ŴƍJ[lɂg邩
  񂪁Aʖڂ܂BȉAJ[l̃\[XƃIuWFNgt@C
   /usr/src/linux ɂƉ肵Ębi߂܂B

  Milo ɂ́A܂ Milo ̃\[X̂fBNgɈړāA
  悤ɂ܂F

            make KSRC=/usr/src/linux config

  Linux ̃J[l鎞Ɠ悤ɁA̎ɓ܂B

            Echo output to the serial port (MINI_SERIAL_ECHO) [y]

  J[l printk  /dev/ttyS0 ɏo͈͂̂Ȃł傤Bł
  (Ė]ނȂ)"y"Ɠ܂B

            Use Digital's BIOS emulation code (not free) (MINI_DIGITAL_BIOS_EMU) [y]

  ̃R[hɂ́A Alpha x[X̃VXeŎg͎Rɔzzł郉
  Cu܂܂Ă܂BA\[X͔zzł܂B"n"Ɠ
  ΁AɃt[ BIOS G~[gR[hg܂B\[X
  Milo Ɠꏊɂ܂B

  5.  Milo ̓ǂݍ

  قƂǂ̃VXe Windows NT ARC t@[EFAڂĂ܂̂ŁA
  Milo ǂݍޕ@ƂčłėpIłB Windows NT ARC t@[EF
  A܂߁Aȉ̂悤ȗlXȕ@ Milo ǂݍނƂł܂F

  o  ً}p(failsafe)u[gubNtbs[

  o  Windows NT ARC t@[EFA

  o  Digital Ђ SRM R\[

  o  Alpha ]p{[hfobOj^

  o  tbV(܂ ROM)

  5.1.  Windows NT ARC t@[EFA Milo ǂݍ

  Alpha AXP x[X̃VXêقƂǂɂ Windows NT ARC t@[EFA
  ڂĂ܂B Milo  Linux NiƂď\ɑE߂
  ܂B Windows NT t@[EFAĂÃVXeɓK
  Milo ̃C[WȂ΁Aǂ̃VXeł̕@ł܂
  B

  Windows NT ARC t@[EFAł́AvO𓮂t@[
  EFA𓮍삳R[obNł܂Bŝ
  Windows NT OSLoader łBP Milo ̓ǂݍ݂Ǝŝ
  linload.exe łB linload.exe ͓K؂ȃC[Wt@C
  0x00000000 ɓǂݍ݁Aɑ΂ swap-PAL PALcall 𔭍s܂B
   swap KvȂ̂́AMilo  Linux Ɠl Windows NT Ƃ͈ق
  PALcode g߂łB [󒍁FARC R\[̒iKł PALcode 
  WinNT pɂȂĂ邽߁A Linux</Milo pɒuȂ΂
  ܂]B Milo ͎g 0x200000 ɃP[gAZbgGg
  |Cg PALcode Ďs܂B

  Linux ̑IڂOɁA Windows NT ARC t@[EFAǂ
  ߂` Milo  linload.exe Rs[Ă˂΂Ȃ܂B DOS
  tH[}bg̃tbs[N悤ȗĂ܂F

  1. u[gj[ "Supplementary menu..." Iт܂B

  2. "Supplementary menu"  "Set up the system..." Iт܂B

  3. "Setup menu"  "Manage boot selection menu..." Iт܂B

  4. "Boot selections menu"  "Add a boot selection" Iт܂B

  5. "Floppy Disk 0" Iт܂B

  6. osloader directory  name  "linload.exe" ͂܂B

  7. operating system being on the same partition as the osloader ɂ
     "yes" Ɠ܂B

  8. operationg system root directory ɂ "\" ͂܂B

  9. name for this boot selection ɂ͎ "Linux" Ă܂B

  10.
     you do not want to initialise the debugger at boot time ɂ "No"
     Ɠ܂B

  11.
     "Boot selections menu" ɖ߂A"Change a boot selection option" 
     ڂIт܂B

  12.
     ̖L[ "OSLOADFILENAME" IсA "noname.arc" ̂悤
     Ɏg Milo ̃C[W̖O^Cv܂B

  13.
     "Boot Selections menu" ɖ߂邽߂ ESC ܂B

  14.
     "Setup Menu" IԂ ESC āA"Supplementary menu, and
     save changes" Iт܂B

  15.
     ESC  "Boot menu" ɖ߂ƁAMilo g悤ɂȂ܂B
     ftHg Linux NȂ΁A"Boot selections menu"
     ŗD揇ʂς邱Ƃł܂B

  ̍ƂSďIƁAboot selection ͎̂悤ɂȂĂ͂
  F

       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=

   Milo  Linux Nł悤ɂȂ܂B Windows NT F
  ł NTFS  DOS ̃t@CVXe璼 linload.exe  Milo 
  ݍނƂł܂B

  OSLOADOPTIONS ̓R}hƂ Milo ɓn܂B Milo ~߂
  Windows NT  Linux 𒼐ڋN邽߂ɂ́A OSLOADOPTIONS ̂
  ɐݒ肵܂F

       boot sda2:vmlinux.gz root=/dev/sda2

  ǂ̂悤ȃR}hg邩Aڂ ``Milo ̃[UC^[tF[
  X'' QƂĂB

  WNT ARC t@[EFAʂ Milo ǂݍ(ƌƑ)iƂ
  āA Milo  MS-DOS tbs[ fwupdate.exe ƂOŏ݁A
  "Upgrade Firmware" IԂƂZ܂B

  5.2.  ]p{[hfobOj^ Milo ǂݍ

  ]p{[h(͂̌݊{[h) Alpha ]p{[hfobOj
  ^T|[gĂ܂B̕@ Milo N悤ƂOɁA
  VXeɕtĂhLgQƂĂB̃VXef
  obOj^T|[gĂ邱ƂĂ܂F

  o  AlphaPC64 (``AlphaPC64''Q)

  o  EB64+ (``EB64+''Q)

  o  EB66+ (``EB66+''Q)

  o  EB164 (``EB164''Q)

  ̕@OɁAo[W̕]p{[hfobOj^ɃrfIh
  CoL[{[hhCoĂȂƂmFĂ܂傤B
  AfobOj^g悤ɁAVA|[gɑ̃VXeq
  ĂB̃C^[tF[X͔ɒPŁA help ƑłĂΎg
  R}hSĕ\܂B̂A boot  load Ƃ
  ĂR}h悭g܂B

  ]p{[hfobOj^́Albg[N (netboot) tbs[
  (flboot) C[WǂݍނƂł܂Bǂ̏ꍇłAC
  [WNO > bootadr 200000 ƂāAu[gAhX
  0x200000 ɂĂ˂΂Ȃ܂B

  C[Wtbs[ɂꍇ(DOS tH[}bg̃tbs[ɂ̂
  Ή)Â悤ȃR}hō݂܂F

            AlphaPC64> flboot <Milo-image-name>

  5.3.  ً}p(failsafe)u[gubNtbs[ Milo ǂݍ

  AxpPCI33 ً}p(failsafe)u[gubNtbs[T|[g
  邱ƂĂ܂(``Noname''Q)B

  RpCς݂̕WI Milo  .dd C[WȂ΁A SRM u[
  gubNtbs[˂΂Ȃ܂B Milo łɍĂ΁A
  Digital Unix Ă}VŎ̂悤ɂ܂F

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

   Linux Ă}VŎ̂悤ɂĂǂł傤F

            cat mboot bootm > /dev/fd0

  W Milo C[W(ł milo.dd Ƃ܂傤)Ȃ΁A
  ̃R}hŃu[gubNtbs[邱Ƃł܂F

            dd if=milo.dd of=/dev/fd0

  5.4.  tbV Milo ǂݍ

  Windows NT ARC t@[EFAgɁAtbV Milo
  ĒڋNłVXe܂F

  o  AlphaPC64 (``AlphaPC64''Q)

  o  Noname (``Noname''Q)

  o  EB66+ (``EB66+''Q)

  o  EB164 (``EB164''Q)

  5.5.  SRM R\[ Milo ǂݍ

  SRM (System Reference Manual ̗) R\[̓t@CVXep[
  eBV͔FȂƂ킩Ă܂B SRM ́A 2 Ԗڂ̃u[gX
  gbv[_AfBXN̂ItZbgÄmۂ
  Ɖ肵Ă܂B 2 Ԗڂ̃u[gXgbv[_̏(傫ƃIt
  Zbg)̓ubN̐擪512 oCgɎ߂Ă܂B SRM g
  Milo ǂݍނɂ́ASRM ANZXłfoCX (Ⴆ΃tbs[
  fBXN) mboot  bootm ƌĂ΂XgN`˂΂Ȃ܂
  B mboot ͍ŏ̃ubN(̓u[g̋Lq̈)ŁA Milo C[
  W 512 byte EŐ؂グ̂łB

  Milo u[gubNfoCXǂݍނɂ́A mboot  bootm 
  ÃR}hŋNfoCXɏ݂܂F

               $ cat mboot bootm > /dev/fd0

  ́AK؂ milo.dd  Web TCgĂāA RAWRITE.EXE 
  dd gċNfoCXɏłB

   SRM R\[N  Milo Nł悤ɂȂ
  BႦ΁Au[gubNtbs[ Milo Nɂ͎̃R}
  hg܂F

               >>>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
               ####...

  ̃VXe SRM R\[T|[gĂ邱ƂĂ܂F

  o  Noname (``Noname''Q)

  o  AlphaPC64 (``AlphaPC64''Q)

  o  EB164 (``EB164''Q)

  5.6.  VXeɌŗL̏

  5.6.1.  AxpPCI33 (Noname)

  Noname {[h Milo  Windows NT ARC t@[EFA (``Windows NT
  ARC t@[EFA Milo ǂݍ''Q)A SRM R\[
  (``SRM R\[ Milo ǂݍ''Q)Aً}pu[gubNt
  bs[ (``ً}pu[gubNtbs[ Milo ǂݍ''Q
  ) ǂݍ߂܂B

  Noname ̋N𐧌䂷ɂ́A{[h̃Wp J28,J29 ݒ肵܂B

                           4
               J29     2 x x x 6
                       1 x x x 5

               J28     2 x x x 6
                       1 x x x 5
                           3

  J28  1-3 sqƃtbVN܂B J29  1-3
  sq u[gubNtbs[N܂B҂ Noname
  {[hōŏ Milo N̂ɕKvȐݒ̈łB [󒍁F
  Windows NT ARC t@[EFA炢܂c]

  WpŃtbs[̋NI񂾂A Milo  SRM u[
  gubNtbs[tbs[hCuɓčċN܂B΂炭
  ƃtbs[̃Cgĉʂ_łA Milo ̃vvg
  o܂B

  ZpIȐ܂B Noname ̓tbs[̃C[W𕨗AhX
  0x104000 ɓǂݍ݁AtbṼC[W 0x100000 ɓǂݍ
  ݂܂B̂߂ɁAMilo ͂ PALcode  0x200000 n܂悤ɍ
  Ă܂B Milo ͍ŏɓǂݍ܂ꂽɁAgK؂ȏꏊֈ
  ܂(P[gQ)B

  5.6.2.  AlphaPC64 (Cabriolet)

  AlphaPC64  NT ARC t@[EFA (``Windows NT ARC t@[EFA
   Milo ǂݍ''Q) SRM R\[ (``SRM R\[
  Milo ǂݍ''Q)ƕ]p{[hfobOj^ (``fobOj^
   Milo ǂݍ''Q)T|[gĂ܂B̃C[W̓t
  bVɊi[ĂA Milo tbV璼ڋN
  邽߂̋󂫂܂B Milo  Milo tbV}l[
  Wg[eBeBsł܂̂ŁAMilo tbVɏ
  ނƂł܂ (``tbV}l[Wg[eBeB
  s''Q)B̃VXe Milo ̊ϐɑΉĂ܂B

  Milo tbVɓĂȂ΁A TOY clock  NVRAM ɕۑ
  Ăԍ̃C[WN邩AtbV̍ŏ̃C[W
  N邩AWp̑gݍ킹Ō߂܂B

  Wp J2  SP  bit 6,7 ɂ͎̂悤ȈӖ܂F

  o  SP  bit 6 ͏ɊOĂȂ΂Ȃ܂B̃Wp
     ƁASROM[Serial ROM]̃~jfobKN܂B

  o  SP  bit 7 ƁA TOY clock ̋NIɕۑĂ
     ԍ̃C[WN܂B

  o  SP  bit 7 OƁAtbV̐擪ɓĂC[W
     N܂B

  bit 7 OƁAɃtbV̍ŏ̃C[WAȂ킿fobO
  j^N܂B bit 7 ƁA TOY clock ɏꂽԍɏ]
  ċNC[WI܂BfobOj^A Windows NT ARC
  t@[EFAA Milo ꂼŋN鏇Ԃwł܂A\
  Ďg˂΂Ȃ܂BɁAWindows NT ARC t@[EFA𓮂
  ɂ́ANC[WƂ Milo IԂƂł܂(??)B
  Îׂ fobOj^ Windows NT ARC t@[EFAłB

  ]p{[hfobOj^ Milo tbVɏނ߂
  ́AtbVp̃C[WKvłBʂɃC[W
  milo.rom ƂOɂȂ܂(??)A{[hɕtĂfobOj^
  ɂ makerom c[găC[W邱Ƃł܂F
      > makerom -v -i7 -l200000 Milo -o mini.flash

  (makerom ƑłĂΈ̈ӖoĂ܂B 7  SROM g[SROM  TOY
  Clock  NVRAM ̓eāANtbVC[WN
  ܂] tbṼC[WԍŁA -l200000 ̓C[W
  0x200000 ɓǂݍނƂӖ܂B)

  fobOj^ flload  netload ƂR}hgāAC[W
   0x200000 ɓǂݍ݁Â悤ɂătbVɏ
  ݂܂F

            AlphaPC64> flash 200000 8

  (200000 ͏ރC[Ŵǂɂ邩\A 8 ̓C[W
  ރZOg̔ԍ\܂BtbVɂ 1024*64 o
  Cg̃ZOg 16 AfobOj^̓ZOg 0 ɁA
  Windows NT ARC t@[EFA̓ZOg 4 ɂ܂B)

  SROM C[WNł悤ɁA̔ԍ TOY clock ɏ݂
  F

            AlphaPC64> bootopt 131

  (131  3 Ԗڂ̃C[WƂӖłB 129  1 ԖځA130  2 
  ځAƂӂɔԍtĂ܂B)

  d؂āAWp 7  on ɂēdȂA Milo N
  邩ǂĂBNȂꍇ̓Wp 7  off ɖ߂
  fobOj^N܂傤B

  5.6.3.  EB66+

  EB66+ ɂ Alpha ]p{[hƓ悤ɕ]p{[hfobOj
  ^tĂ܂̂ŁA悤ɂ Milo ǂݍނƂł܂ (``
  fobOj^ Milo ǂݍ''Q)B܂Ã{[ḧ
  ̃{[h́AقƂǑSƂĂق NT ARC t@[EFAڂ
  Ă܂ (``Windows NT ARC t@[EFA Milo ǂݍ''Q
  )B Milo  Milo tbV}l[Wg[eB
  eBsł܂̂ŁAMilo tbVɏނƂł
   (``tbV}l[Wg[eBeB̎s''Q)B
  ̃VXe Milo ̊ϐɑΉĂ܂B

  ̃VXe̓tbVɕ̃u[gC[WĂ
  A̋N̏ԂWpŐݒ肷邱Ƃł܂B Alpha `bv
  ɂƂɁA{[h̉̐^ɁA 2 ̃Wp̂ J18 
  J16 ƂoN܂BgāA TOY clock  NVRAM ɕۑ
  Ăԍ̃C[WN邩AtbV̐擪ɂC[
  WN邩𐧌䂵܂B

  J18 ̃Wp 7-8 ɃWpƁA NVRAM ɏĂԍ̃C
  [WN܂B J18 ̃Wp 7-8 OƁA]p{[hfobO
  j^N܂B

  ]p{[hj^găC[WtbVɏޕ@́A
  AlphaPC64 ƑSł(``AlphaPC64''Q)B

  5.6.4.  EB64+/Aspen Alpine

  ̃VXéA AlphaPC64  Milo 邱Ƃ̂łtbV
  菜̂łB EB64+ ɂ 2  ROM AЂƂɂ
  Windows NT ARC t@[EFA (``Windows NT ARC t@[EFA
  Milo ǂݍ''Q)AЂƂɂ͕]p{[hfobOj^ (``
  fobOj^ Milo ǂݍ''Q) Ă܂B

  Aspen Alpine ɂ Windows NT ARC t@[EFA̓ ROM ڂ
  ܂B

  5.6.5.  Universal Desktop Box (Multia)

  ɃRpNgɂ܂Ƃ߂ꂽ 21066 x[X̃VXeŁA TGA(21030)
  OtBbNfoCXڂĂ܂B{bNXɂ̓n[tnCg PCI O
  tBbNJ[h傤Ǔ܂A XFree86  TGA ɊSɑΉ
  ̂҂قǂł傤B̃VXeɂ Windows NT ARC t@[
  EFAڂĂ܂̂ŁAg܂傤 (``Windows NT ARC t@[
  EFA Milo ǂݍ''Q)B

  5.6.6.  EB164

  EB164 ɂ Alpha ]p{[hƓ悤ɕ]p{[hfobOj
  ^tĂ܂̂ŁA悤ɂ Milo ǂݍނƂł܂ (``
  fobOj^ Milo ǂݍ''Q)B܂Ã{[ḧ
  ̃{[h́AقƂǑSƂĂق NT ARC t@[EFAڂ
  Ă܂ (``Windows NT ARC t@[EFA Milo ǂݍ''Q
  )B܂ASRM R\[gƂł܂ (``SRM R\[
  Milo ǂݍ''Q)B Milo ΁A Milo tbV}
  l[Wg[eBeBsł܂̂ŁAMilo tbV
  ɏނƂł܂ (``tbV}l[Wg[eB
  eB̎s''Q)B̃VXe Milo ̊ϐɑΉĂ܂B

  ̃VXe̓tbVɕ̃u[gC[WĂ
  A̋N̏ԂWpŐݒ肷邱Ƃł܂B Alpha `bv
  ɂƂɁA{[h̉̐^ɁA 2 ̃Wp̂ J1 
  oN܂BgāA TOY clock  NVRAM ɕۑĂ
  ԍ̃C[WN邩AtbVɂC[WN
  𐧌䂵܂B

  J1 ̃Wp SP-11 ƁA NVRAM ɏĂԍ̃C[W
  N܂B J1 ̃Wp SP-11 OƁA]p{[hfobOj^
  N܂B

  ]p{[hj^găC[WtbVɏޕ@́A
  AlphaPC64 ƑSł(``AlphaPC64''Q)B

  5.6.7.  XL266

  XL266  Avanti ƂVXëłB̃C{[hɂ́A Alpha
  `bvƃLbVڂCUJ[hɑ}Ă܂B̃C
  UJ[h͌݊̂ Pentium {[hƍւ邱Ƃł܂B

  Avanti ɂ SRM R\[ڂĂ̂܂A XL266 ɂ
  Windows NT ARC t@[EFAڂĂ܂ (``Windows NT ARC
  t@[EFA Milo ǂݍ''Q)B

  ȉׂ̒݊XgłF

  o  AlphaStation 400 (Avanti),

  o  AlphaStation 250,

  o  AlphaStation 200 (Mustang),

  o  XL.  XL266  XL233  2 ނ܂AxƃLbV̑傫
     ق邾ł

  ӁF Milo JEeXgVXe XL266 łA XL266 
  Ă݂̂ɂۏ؂ł܂BAq̃VXe͋ZpIɂ
  ݊܂B`bvZbgT|[gA荞݂̃nhO
  @\łB

  5.6.8.  Platform2000

  233MHz  21066 x[X̃VXełB

  6.  Milo ̃[UC^[tF[X

  Milo ƃCXg[Eǂݍ݁Esł΁A MILO (MIni
  LOader ̗) ƂvvgʂɌ܂B Milo ɂ Linux J[l
  C[WN邽߂̊ȒPȃC^[tF[XĂ܂BR}
  h̊T "help" ƃ^Cv̂ǂł傤B

  6.1.  "help" R}h

  Ԃ Milo ōł֗ȃR}hł傤F

  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.

  ӁFbootopt R}h AlphaPC64 (݊)VXeɂ̂ݑ݂܂B

  foCXFfoCXgp\ɂR}hs܂ł́A
  foCXȂƂbZ[Wo܂B܂ showAlsAboot 
  run ƂR}h Milo ɓĂfoCX܂BfoCX
   Linux ƑSɂȂĂ܂Bŏ IDE  'hda' łA
  ŏ̃p[eBV 'hda1' łB show R}hg΁Aǂ̃foC
  Xp\\܂B

  t@CVXeF Milo  MSDOSAEXT2AISO9660 t@CVXeɑΉ
  Ă܂BfoCXp\ȏԂɂȂĂ΁Ãt@CVXe
  ɂC[W list  boot  run ł܂B Milo
  ̃ftHg̃t@CVXe EXT2 ŁAȊÕt@CVXe
  gƂɂ Milo Ɏw肹˂΂Ȃ܂Bt@CgR}hł
  -t [filesystem] ƂIvVgăt@CVXewł
  B SCSI CD ROM ̒gƂɂ͎̂悤Ƀ^Cv܂ [
  Fscd0 ł͂Ȃ sr0 ̏ꍇ܂
  (linux/Documentation/devices.txt Q)]F

            MILO> ls -t iso9660 scd0:

  ϐF Milo ɂ̓u[gvZX⏕ϐ܂B Milo 
  Windows NT ARC t@[EFAǂݍޏꍇ́At@[EFAɂ
  ċNIvV̕ϐݒ肳܂B AlphaPC64 ̂悤Ȉꕔ̃VXe
  ł́Aϐ̓u[gƂɕω܂ [󒍁FMilo tbV
  ɂꍇ͕ϐȂ(??)]Bϐɂ͎̂悤Ȃ̂
  F

       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.

  6.2.  Linux ̋N

  boot R}h̓foCX Linux J[lN܂B Linux J[l
  ́AEXT2 tH[}bg SCSI-HDD/IDE-HDD/tbs[fBXNA
  ISO9660 tH[}bg CD ̏ɂȂ΂Ȃ܂BC[W gzip 
  kĂĂ悭A .gz ƂgqłΈkt@CƂ݂Ȃ
  ܂B

  N悤ƂĂ Linux J[l̃o[W Milo ̃o[W
  ǂmFĂ܂傤B̃R}h Linux N܂F

            MILO> boot [-t file-system] device-name:file-name [[boot-option] [boot-option] ...]

  device-name ͎gpfoCXŁA file-name  Linux J[l̃t@C
  łBȍ~̈ Linux J[lɒړn܂B

   RedHat CXg[ĂȂ΁Â悤ɂă[gfoCX
  w肵Ȃ΂ȂȂł傤F

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

  Milo ɂ vmlinux Ƃɐݒ肵ubNfoCXIɓ
  ܂B̓tbs[hCo IDE hCoANCR SCSI hCo
  A܂Ă܂B SCSI Rg[̃zXg ID Ɛݒ肳
  Ă邱ƂdvłB MILO ̃ftHg̃zXg ID  7 łB
  ͂܂͂AIɃzXg ID w肷邱Ƃł܂B n 
  ڂ SCSI Rg[w肷ɂ́Aϐ SCSIn_HOSTID ]̒l
  Zbg܂BႦ΍ŏ SCSI Rg[̃zXg ID  7 ɐݒ肵
  ꍇ́A MILO ̃vvgŉ̃R}hs܂F

       setenv SCSI0_HOSTID 7

  6.3.  Linux ̍ċN

  쒆 Linux VXeċNɂ́A shutdown -r nowƂR}
  hs܂BƁALinux J[l HALT CallPAL Gg|Cg
  oR Milo ɐ߂܂B Milo Ɏg̈k
  Rs[cĂ̂͂̂߂łB HWRPB (HardWare Restart
  Parameter Block) ɕێĂƂɁAVXeċNł
  邱Ƃm܂BꂩO Linux J[lN̂ƓR}
  hōċNn߂܂B̃vZX𒆎~ʂ̃J[lN
  肷邽߂ɁA 30 bԂ̃^CAEg܂B

  6.4.  "bootopt" R}h

  AlphaPC64AEB164AEB66+ ̂悤ȃtbVtĂVXe
  ͂̋NIpӂĂA bootopt R}hɂĕύX
  ł悤ɂȂĂ܂B̃R}h͈̈܂BVXe
  ̓dZbg꒼肵ɋNC[W̃^Cv
  10 iŎw肵܂F

  0F]p{[hfobOj^N

  1FWindows NT ARC t@[EFAN

  tbV Milo t@[EFAN邽߂ɁA N Ԗڂ̃C
  [W\u[gIvVw肹˂΂Ȃ܂B N  128 
  lɂȂ܂B܂A Milo  3 Ԗڂ̃C[Wł΁A
  ̃R}hg܂F

            MILO> bootopt 131

  ӁF ̃R}hgpۂɂ͏\CtĉB]p{[h
  fobOj^N邽߂ bootopt 0 Ƃ̂͂߂قǂ
  傤BVXẽWpgΓƂł܂B

  7.  tbV}l[Wg[eBeB̎s

  tbV}l[Wg[eBeBsɂ run R}
  hg܂BsOɁAupdateflash vO Milo 𗘗p
  \ȃfoCXɒuĂ˂΂Ȃ܂B updateflash vO
  vmlinux Ɠ悤 gzip ňkĂƂł܂BtbV
  }l[Wg[eBeBsɂ́Â悤ɂ Milo 
  run R}hs܂F

            MILO> run fd0:fmu.gz

  tbV}l[Wg[eBeB̏ނƃtbV
  foCXɊւ񂪂\AR}hvvg
  ܂Bł help R}hLpłF

       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>

  ӁF AlphaPC64 Ȃǂ̃VXeɂ́ÃtbVubN
  ϐۑꏊ܂BtbV}l[Wg[
  eBeB Milo ̊ϐۑĂubNT܂B
  ̂悤ȃubNłɑ݂Ă΁Aꂪǂɑ݂Ă邩\
  ܂BłȂꍇ́A environment R}hgďu
  bNw肹˂΂Ȃ܂B̗ł̓tbVubN 12 
  Milo ̊ϐۑĂ܂B

  7.1.  "help" R}h

       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>

  ӁFenvironment R}h bootopt R}h́A
  EB66+AAlphaPC64AEB164 (݊)VXê݂Ŏgp\łB

  7.2.  "list" R}h

  "list" R}h݂͌̃tbV̎gp󋵂\܂B 2 
  ̃tbVubNꍇɂ́Aꂼ̃ubN̎gp
  \܂B̗ł́A Windows NT ARC t@[EFAubN
  4  7 ƃubN 15 gpĂ܂B

  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>

  7.3.  "program" R}h

  tbV}l[Wg[eBeB͈kꂽ Milo ̃tb
  VC[WĂ܂B "program" R}h͂̃C[Wtb
  Vɏ݂܂B̃R}hsO "list" R}h
  g Milo ǂɓ邱Ƃł邩Ă܂傤Bł Milo
  tbVɓĂꍇɂ́A㏑邩ǂu˂
  F

       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>

  d؂OɂꂪÎ҂܂傤B

  : łɑ݂ĂtbVC[W㏑ƁAVXe
  󂵂Ă܂Ȃ̂͂킩Ă܂ˁBăfobOj
  ^㏑Ȃ悤ɂ܂傤B

  7.4.  "environment" R}h

  Milo ̊ϐۑĂtbVubNI܂B

  7.5.  "bootopt" R}h

  Milo  "bootopt" R}hƓł (``"bootopt" R}h''Q)B

  7.6.  "quit" R}h

  ܂Ӗ̂ȂR}hłBtbV}l[Wg[eB
  eB Milo Ȃǂɖ߂B̕@́AVXeċN邱ƂłB

  8.  

  cOȂ Milo ͂܂ł͂ȂA̒ӂׂ
  B

  Milo  Linux ȊÕIy[eBOVXeǂݍނƂ͂ł܂
  B Milo ̓C[Wǂݍ񂾂Ƃɓ̏ꏊ (Linux ł
  0xFFFFC0000310000) s邩łB̓tbV}l[
  Wg[eBeBsdg݂łB

  miniboot/palcode/blah ɂ PALcode ̃\[X͊ԈĂ͂Ȃ̂ł
  AŐV gas gčƕςɂȂ܂B Alpha ]p{[hc[
  ZbgɂÂ a.out  gas gΑvłB͐V gas N
  ɃtBbNXĂ炨ƂĂ܂BĂ邤ɁAT|[g
  Ă{[hɑΉRpCς݂ PALcode oāA David
  Mosberger-Tang tBbNXꂽ gas ނ ftp TCgɒuĂ
  Ă܂B

  9.  ς݂̖

  ɂ͑̐loƂ̉@Ă܂B

  E]p{[hfobOj^ MS-DOS tbs[ǂ

  AlphaPC64 Ȃǂ Alpha ]p{[hɍڂĂfobOj^g
  tbs[fBXNt@Cǂލۂ̖肪񍐂Ă܂Bӂ
  fobOj^͍ŏ̐ZN^ǂ߂̂łA "bad sectors" Ȃǂ
  Ɩ[vɊׂ܂BfobOj^\zĂ DOS t@C
  VXe Linux  DOSFS ̎ႤƂł邱Ƃ킩
  ܂B̖肪NA DOS gătbs[ɏނ
  ĂƂ葁łBႦ milo.cab ̓ǂݍ݂ɎsA DOS }V
  Nătbs[Ď̂悤ɂ܂F

            copy a:milo.cab c:
            copy c:milo.cab a:
            del c:milo.cab

  xtbs[N܂傤BȂ͂łB

  EMilo  O> Ƃ\ÂA͂󂯂ȂȂ

  ̌ۂ́A  Milo  2 Ԗڂ̃R\[Ƃ COM1 g悤ɍ
  ĂꍇɋN܂B̏ꍇAMilo  COM1 o͂ɎgĂ
  ܂B̓fobOɂ͔ɕ֗łAڑꂽ^[~iȊOɃf
  oCXꍇ͂قǕ֗ł͂܂B̖肪N
  AfoCXؗ Linux J[lN܂ŉxd؂
  B Linux Ζ͂ȂȂł傤B

  10.  ӎ

  ̐lXɊӂ܂F

  o  Eric Rasmussen and Eilleen Samberg the authors of the PALcode,

  o  Jim Paradis for the keyboard driver and the original MILO
     interface,

  o  Jay Estabrook for his help and bugfixes,

  o  David Mosberger-Tang for the freeware BIOS emulation and his
     support and encouragement,

  o  Last (and not least) Linus Torvalds for the timer code and his
     kernel.

  [󒍁F{ւ̖|ɂA Linux-Alpha-JP [OXg̃
  o̕X萔X̗Lpȏ𒸂܂Bӂ̈ӂ\܂B]

  Milo łȂ΂ȂȂƂ͂܂܂܂Bŉ
  ƎvA (david.rusling@reo.mts.dec.com
  <mailto:david.rusling@reo.mts.dec.com>) ɘAĂBƂ
  Ăl邩܂B

  ŌɁÂ悤ȑf`bvJ (Ă̎dɕVo
  Ăꂽ) Digital ЂɊӂ܂B

