  MILO HOWTO
  Autor: David A. Rusling david.rusling@reo.mts.dec.com
  v0.84, 6 Grudnia 1996
  WWeerrssjjaa ppoollsskkaa:: LLeesszzeekk UUrrbbaasskkii ttyyggrryyss@@ffiiddoonneett..oorrgg..ppll
  v1.0, 24 Lipca 1998

  Ten dokument opisuje Miniloader (Miniadowacz), program dla komputerw
  opartych na procesorze Alpha, ktry moe by uywany do inicjalizacji
  maszyny i adowania Linuxa. Alpha Linux Miniloader (jest to jego pena
  nazwa) jest te znany jako MILO. Dokument ten zosta napisany w stan
  dardzie ISO-8859-2. Orygina tego dokumentu znajduje si pod adresem
  ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader/docs.
  ______________________________________________________________________

  Table of Contents:

  1.      Wprowadzenie

  1.1.    Prawa autorskie

  1.2.    Nowe wersje tego dokumentu

  2.      Co to jest MILO?

  3.      Standardowe, pre-kompilowane obrazy MILO

  4.      Kompilacja MILO

  5.      adowanie MILO

  5.1.    adowanie MILO z firmware'u Windows NT ARC

  5.2.    adowanie MILO z ,,Evaluation Board Debug Monitor''

  5.3.    adowanie MILO z ,,bezpiecznej dyskietki startowej''

  5.4.    adowanie MILO z pamici Flash

  5.5.    adowanie MILO z konsoli SRM

  5.6.    Informacje o pytach gwnych

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

  5.6.8.  XL266

  5.6.9.  Platform2000

  6.      Interfejs uytkownika MILO

  6.1.    Komenda ,,help''

  6.2.    adowanie Linuxa

  6.3.    Resetowanie Linuxa

  6.4.    Komenda ,,bootopt''

  7.      Uywanie programu zarzdzajcego pamici flash

  7.1.    Komenda ,,help''

  7.2.    Komenda ,,list''

  7.3.    Komenda ,,program''

  7.4.    Komenda ,,environment''

  7.5.    Komenda ,,bootopt''

  7.6.    Komenda ,,quit''

  8.      Ograniczenia

  9.      Rozwizywanie problemw

  10.     Podzikowania

  11.     Od tumacza
  ______________________________________________________________________

  11..  WWpprroowwaaddzzeenniiee

  Ten dokument opisuje Miniadowacz (Miniloader) dla Linuxa na Alph AXP
  (MILO).  To firmware jest uywane do inicjalizacji systemw Alpha AXP,
  zaadowania oraz startowania Linuxa i w kocu do zapewnienia kodu PAL
  (PALcode) dla Linuxa.

  11..11..  PPrraawwaa aauuttoorrsskkiiee

  Prawa autorskie Alpha Miniloader (MILO) HOWTO: Copyright (C) 1995,
  1996 David A.  Rusling.

  PPrraawwaa aauuttoorrsskkiiee. Jak wszystkie Linuxowe dokumenty HOWTO, moe by
  powielane i rozpowszechniane w caoci lub w czci, za pomoc kadego
  rodka przekazu, fizycznego lub elektronicznego, jeeli uwaga o
  prawach autorskich zostaa zachowana na wszystkich kopiach. Komercyjna
  redystrybucja jest dozwolona i zalecana; jednake autor _c_h_c_i_a__b_y by
  powiadomiony o takich dystrybucjach. Moesz te przetumaczy to HOWTO
  na dowolny jzyk, jeeli zostawisz wypowied o prawach autorskich oraz
  owiadczenie niezmienione, oraz dodasz notatk o tumaczu.

  OOwwiiaaddcczzeenniiee. Prbowaem umieci tu najpoprawniejsze i najnowsze
  informacje, ktre s mi dostpne, nie mog jednak zagwarantowa, e
  ich uycie nie spowoduje utraty danych lub sprztu. NIE ZAPEWNIAM
  ADNEJ GWARANCJI dotyczcej informacji w tym HOWTO, nie mog by wic
  odpowiedzialny za jakiekolwiek skutki uycia danych z niego.

  11..22..  NNoowwee wweerrssjjee tteeggoo ddookkuummeennttuu

  Najwiesza wersja tego dokumentu znajduje si pod adresem
  ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader/docs, a
  David Mosberger-Tang by uprzejmy umieci go w formacie HTML na jego
  znakomitej stronie o Linux-Alpha http://www.azstarnet.com/~axplinux/.

  22..  CCoo ttoo jjeesstt MMIILLOO??

  Na systemach PC opartych na procesorach Intel, firmware zwane BIOSem
  uruchamia komputer i aduje obraz (image) do uruchomienia z bloku
  startowego systemu plikw DOSu. Jest to mniej wicej to samo, co
  wykonuje MILO na systemach Alpha, jednake istnieje kilka
  interesujcych rnic pomidzy BIOSem a MILO, jedn z nich jest
  uywanie przez MILO niezmodyfikowanych standardowych sterownikw
  urzdze Linuxa. MILO jest firmware'em, inaczej ni LILO, ktry jest
  adowany przez BIOS.  Gwne funkcjonalne czci MILO to:

  1. PALcode,

  2. Kod uruchamiania pamici (buduje tablice stronicowania i wcza
     adresowanie wirtualne),

  3. Kod grafiki (emulacja BIOSu i TGA (21030)),

  4. Kod jdra Linuxa. Na niego skada si prawdziwy kod (np. obsuga
     przerwa) i pseudo-jdro,

  5. Sterowniki urzdze blokowych Linuxa (np. sterownik stacji dyskw),

  6. Obsuga systemu plikw (ext2, MS-DOS i ISO9660),

  7. Kod interfejsu uytkownika (MILO)

  8. Kod interfejsu jdra (uruchamia HWRPB i map pamici dla Linuxa),

  9. Kod NVRAM do zarzdzania zmiennymi rodowiskowymi

  Dalsze akapity dokadnie opisuj funkcjonalne czci MILO.

  PALcode jest cienk warstw oprogramowania dostosowujc procesor do
  konkretnego systemu operacyjnego. Dziaa w specjalnym trybie
  (PALmode), ktry posiada kilka ogranicze, ale uywa standardowego
  zestawu instrukcji Alphy i tylko piciu dodatkowych instrukcji. W ten
  sposb, na procesorze Alpha mog by uruchamiane systemy tak rne,
  jak np. Windows NT, OpenVMS, Digital UNIX i oczywicie Linux.
  PALcode, ktrego uywa MILO (i przez to sam Linux) jest, jak reszta
  MILO, darmowa.  Pochodzi z przykadu ewaluacyjnych pyt gwnych
  (Evaluation Boards, EB) dla Digital UNIXa. Rnice pomidzy kodami PAL
  wynikaj z rnic w sposobach obsugi przerwa w procesorach Alpha
  (pyty gwne do 21066 maj inn map I/O ni systemy 21064+2107x
  (2107x to APECS, chipset do 21064 - przyp. tum.)), oraz z liczby
  dostpnych pyt gwnych.

  eby MILO dziaa poprawnie, musi zna ilo dostpnej pamici i
  miejsce, w ktrym Linux bdzie dziaa, musi te by w stanie
  przydzieli tymczasow pami dla sterownikw urzdze Linuxa. Kod
  utrzymuje map pamici, ktra posiada rekordy dla permanentnie i
  tymczasowo przydzielonych stron. W czasie uruchamiania MILO
  dekompresuje si w poprawne miejsce pamici fizycznej. Kiedy
  przekazuje kontrol jdru Linuxa, zarezerwowywuje pami dla
  skompresowanej wersji samego siebie, kodu PAL (ktry jest potrzebny
  jdru) i troch struktur danych. To zostawia _w_i__k_s_z_o__ pamici w
  systemie dla samego Linuxa.

  Ostatnia cz kodu pamici to ustawienie i wczenie adresowania
  wirtualnego w celu zapewnienia poprawnego miejsca w wirtualnej pamici
  dla struktur danych, ktre Linux spodziewa si tam zobaczy.
  MILO zawiera kod grafiki, ktry inicjalizuje i uywa urzdzenia
  graficznego dla systemu. Wykryje i bdzie uywa urzdzenie VGA, jeli
  takie istnieje, jeeli nie, bdzie prbowa uy urzdzenia TGA
  (21030). Gdy i to si nie powiedzie, przyjmie, e nie istnieje
  urzdzenie graficzne (tylko np. terminale szeregowe - przyp. tum.).
  Emulacja BIOSu, ktr posiadaj standardowe, skompilowane obrazy MILO,
  to emulacja Digitala, ktra obsuguje wikszo, jeeli nie wszystkie
  dostpne standardowe urzdzenia graficzne.

  Sterowniki urzdze Linuxa ,,yj'' wewntrz jdra i spodziewaj si
  od niego konkretnych usug. Niektre z nich s zapewniane bezporednio
  przez kod Linuxa, np. obsuga przerwa, a inne dziaaj dziki
  specjalnym procedurom wygldajcym dla sterownikw jak procedury
  jdra.

  Najsilniejsza cecha MILO, to moliwo osadzenia w nim niezmienionych
  sterownikw urzdze Linuxa. Daje to potencja obsugi kadego
  urzdzenia, ktre obsuguje Linux. MILO zawiera wszystkie urzdzenia
  blokowe wkompilowane w jadro, ktre zostaje przy nim zbudowane, a
  take duo kodu urzdze (np.  ll_rw_blk()).

  MILO aduje jdro Linuxa z prawdziwych systemw plikw, a nie z blokw
  startowych i innych dziwnych miejsc. Potrafi czyta systemy plikw
  MSDOS, EXT2 i ISO9660.  Pliki spakowane gzipem s obsugiwane i
  rekomendowane, zwaszcza jeeli adujesz system z dyskietki, co jest
  dosy wolne. MILO rozpoznaje je po rozszerzeniu

  W MILO zawiera prosty sterownik klawiatury, ktry razem z rwnie
  prostym sterownikiem grafiki pozwala posiada mu spartaski interfejs
  uytkownika.  Interfejs ten pozwala pozna systemy plikw na
  skonfigurowanych urzdzeniach, adowa Linuxa, uruchamia programy do
  uaktualniania pamici flash, oraz ustawia zmienne rodowiskowe
  kontrolujce adowanie systemu. Tak jak w LILO, moesz przekazywa
  parametry do jdra.

  MILO musi powiedzie jdru Linuxa na jakim dziaa systemie, ile
  pamici posiada i ile z tej pamici jest wolne. Robi to uywajc
  struktury danych HWRPB (blok parametrw restartowania sprztu) i
  skojarzonych z ni opisw czci pamici. S one umiejscawiane w
  odpowiednim miejscu pamici wirtualnej zaraz przed przekazaniem
  kontroli jdru Linuxa.

  33..  SSttaannddaarrddoowwee,, pprree--kkoommppiilloowwaannee oobbrraazzyy MMIILLOO

  Jeeli bdziesz chcia uruchamia Linuxa na standardowych pytach
  gwnych Alphy, moesz uy pre-kompilowanych, ,,standardowych''
  obrazw (images) MILO. (notka od tumacza: radz zabootowa Alph ze
  standardowych obrazw, a potem zbudowa wasny, gdy Linux bdzie ju
  dziaa) Obrazy te (razem ze rdami i innymi ciekawymi rzeczami)
  znajduj si na ftp://gatekeeper.dec.com/pub/Digital/Linux-
  Alpha/Miniloader

  Podkatalog images zawiera po jednym podkatalogu na kady system (np.
  AlphaPC64), a obrazy MILO s nazywane w nastpujcy sposb:

  1. MILO - wykonywalny obraz MILO, moe on by adowany na wiele
     sposobw,

  2. fmu.gz - Program zarzdzania pamici flash,

  3. MILO.dd - Obraz dla dyskietki startowej. Powinien by zapisany
     programem rawrite.exe lub dd pod Linuxem.

  Katalog test-images zawiera, tak jak images po jednym katalogu na
  standardowy system. Obrazy znajdujce si w tym katalogu s raczej
  eksperymentalne, ale zawieraj najnowsze opcje.

  44..  KKoommppiillaaccjjaa MMIILLOO

  (Uwaga: pamitaj, e nie moesz zbudowa MILO i jdra dla Alphy na
  Intel'u!  Musisz dysponowa drug Alph, albo zbudowa jdro po
  uruchomieniu Linuxa ze standardowych obrazw MILO. Na Intelu jdro
  nawet si nie zacznie kompilowa - sprbuj zbudowa jdro na Alph na
  pececie - w pliku Makefile zamie ARCH=i386 na ARCH=alpha... - przyp.
  tum.)

  MILO kompiluje si oddzielnie, nie razem z jdrem. Poniewa MILO
  potrzebuje czci jdra do poprawnego funkcjonowania (np. obsugi
  przerwa), musisz najpierw skonfigurowa i skompilowa jdro,
  odpowiadajce MILO, ktry chcesz skompilowa.  Zazwyczaj znaczy to, e
  powiniene kompilowa jdro z t sam wersj co MILO.  A wic
  MILO-2.0.25.tar.gz bdzie kompilowa si z linux-2.0.25.tar.gz. MILO
  _m_o__e skompilowa si z nowsz wersj jdra, ale nie musi. Dodatkowo
  teraz, kiedy biblioteki dzielone ELF s w peni obsugiwane, istniej
  dwie wersje rde MILO. eby zbudowa je w systemie ELF, musisz
  najpierw rozpakowa standardowe rda, a potem naoy at (patch)
  ELF na te rda (musi mie ten sam numer wersji). Przyjm teraz, e
  rda jdra oraz skompilowane obiekty (.o) znajduj si w katalogu
  /usr/src/linux, a jdro zostao w peni skompilowane komend make
  boot. (pamitaj o ustawieniu ARCH=alpha w pliku Makefile jdra _P_R_Z_E_D
  wydaniem polecenia make (menu)(x)config!!! - przyp. tum.)

  eby skompilowa MILO, zmie katalog na zawierajcy rda MILO i
  przywoaj make komend:

       $ make KSRC=/usr/src/linux config

  Tak jak podczas kompilacji jdra, zadane zostanie kilka pyta.

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

       Przesya wyjcie do portu szeregowego (MINI_SERIAL_ECHO) [y]

  Dobrym pomysem jest wczenie przesyania wiadomoci printk jdra do
  /dev/ttyS0, jeeli mona to zrobi. Jeeli moesz (i chcesz), napisz
  ,,y'', jeeli nie, ,,n''. Wszystkie standardowe, pre-kompilowane
  obrazy MILO posiadaj wejcie/wyjcie na port szeregowy COM1.

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

       Uy kodu emulacji BIOSu Digitala (nie jest darmowy) (MINI_DIGITAL_BIOS_EMU) [y]

  Ten kod jest zaczony jako biblioteka, ktra jest darmowa dopki
  uywa si jej w systemie opartym na procesorze Alpha. roda nie s
  dostpne. Jeeli odpowiesz n, zbudowana zostanie alternatywna darmowa
  emulacja BIOSu. Jej rda s doczone do MILO. Pamitaj, e obecnie
  nie moesz wybra emulacji Digitala w systemach ELF (biblioteka nie
  jest jeszcze gotowa), musisz wic odpowiedzie ,,nie'' na to pytanie.

       Build PALcode from sources (Warning this is dangerous) (MINI_BUILD_PALCODE_FROM_SOURCES) [n]

       Zbudowa PALcode ze rde (Uwaga to jest niebezpieczne) (MINI_BUILD_PALCODE_FROM_SOURCES) [n]

  Powiniene zrobi to tylko jeeli modyfikowae rda kodu PAL,
  jeeli nie, uyj standardowego, pre-kompilowanego kodu PAL doczonego
  do MILO.

  Teraz jeste gotowy do zbudowania obrazu MILO:

       $ make KSRC=/usr/src/linux

  Kiedy kompilacja zostanie zakoczona, obraz MILO znajduje si w pliku
  o nazwie milo. Bdzie si tam te znajdowa wiele obrazw o nazwach
  milo.*, ktre powinny by zignorowane.

  55..  aaddoowwaanniiee MMIILLOO

  Najlepiej obsugiwany sposb adowania MILO to adowanie z firmware'u
  Windows NT ARC, poniewa wikszo systemw zawiera t metod.
  Jednake istnieje wiele rnych sposobw adowania MILO. Moe on by
  zaadowany z:

    dyskietki startowej (failsafe boot block floppy),

    firmware'u Windows NT ARC

    konsoli SRM Digitala

    ,,Alpha Evaluation Board Debug Monitor'' - programu monitorujcego
     pyt ewaluacyjnych,

    pamici flash ROM

  55..11..  aaddoowwaanniiee MMIILLOO zz ffiirrmmwwaarree''uu WWiinnddoowwss NNTT AARRCC

  Wikszo, jeeli nie wszystkie systemy oparte na Alfie AXP posiadaj
  Windows NT ARC firmware i jest to preferowana metoda inicjalizowania
  MILO i Linuxa.  Kiedy firmware Windows NT dziaa i posiadasz poprawny
  dla twojego systemu obraz MILO, metoda ta jest bardzo atwa do
  uywania.

  Windows NT ARC firmware jest rodowiskiem, w ktrym mog dziaa
  programy, wykonujc odwoania do firmware'u w celu wykonywania rnych
  akcji. Windows NT OSloader jest programem, ktry spenia t funkcj.
  Linload.exe jest znacznie prostszym programem, ktry jedynie wczytuje
  i uruchamia MILO. aduje on poprawny plik z obrazem do pamici pod
  adres 0x00000000 i wtedy wykonuje odwoanie PAL ,,swap-PAL'' (zamie
  PAL) do niego. MILO, tak jak Linux, uywa innego kodu PAL ni Windows
  NT i dlatego musi przeprowadzi zamian. Nastpnie MILO przenosi si
  do 0x200000 i kontynuuje resetowanie kodu PAL.

  Zanim dodasz opcj adowania Linuxa, bdziesz musia skopiowa
  linload.exe oraz MILO, ktrego chcesz zaadowa w miejsce, z ktrego
  Windows NT ARC bdzie mg go odczyta. W poniszym przykadzie
  przyjmuj, e adujesz MILO z dyskietki w formacie DOS'a:

  1. W menu adowania (boot menu) wybierz ,,Supplementary menu...''
     (menu dodatkowe)

  2. W menu ,,Supplementary menu'' wybierz opcj ,,Set up the
     system...''  (ustaw system)

  3. W Setup menu wybierz ,,Manage boot selection menu...''  (menu
     zarzdzania opcjami adowania)

  4. W ,,Boot selections menu'' wybierz ,,Add a boot selection'' (dodaj
     opcj adowania)

  5. Wybierz ,,Floppy Disk 0''

  6. Wprowad ,,linload.exe'' jako katalog i nazw pliku adowacza
     systemu (osloader)

  7. Odpowiedz ,,tak'' na pytanie czy system operacyjny znajduje si na
     tej samej partycji co adowacz systemu

  8. Wprowad ,,\fR'' jako katalog gwny systemu operacyjnego

  9. Zazwyczaj wpisuj ,,Linux'' jako nazw tej opcji adowania

  10.
     Odpowiedz ,,nie'' na pytanie o inicjalizacj debuggera podczas
     adowania

  11.
     Powiniene wrci do ,,Boot selections menu'', wybierz w nim opcj
     ,,Change a boot selection option'', a w niej opcj, ktr wanie
     stworzye

  12.
     Uyj strzaki w d, aby dosta si do rekordu ,,OSLOADFILENAME'',
     wpisz w nim nazw obrazu MILO, ktrego chcesz uywa, np.
     ,,noname.arc, nastpnie nacinij return (enter).

  13.
     Nasinij ESC eby wrci do ,,Boot selections menu''

  14.
     Wybierz ,,Setup Menu'' (lub nacinij jeszcze raz ESC), a w nim
     ,,Supplementary menu'' i ,,Save Changes''

  15.
     ESC cofnie ci do ,,Boot menu'', moesz ju sprbowa inicjalizowa
     MILO.  Jeeli nie chcesz, eby Linux by pierwsz opcj adowania,
     moesz zmieni kolejno opcji w ,,Boot selections menu''.

  Na kocu tych czynnoci powiniene otrzyma opcj adowania
  wygldajc podobnie do tej:
       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=

  Moesz teraz uruchomi MILO (i Linuxa). Moesz zaadowa linload.exe i
  MILO bezporednio z systemu plikw, ktry rozumie Windows NT, takiego
  jak NTFS lub DOS na twardym dysku.

  Linia OSLOADOPTIONS zawiera opcje, ktre zostan przekazane do MILO.
  Jeeli chcesz zaadowa Linuxa bezporednio z Windows NT ARC nie
  pauzujc przy MILO, powiniene wpisa nastpujc komend w
  OSLOADOPTIONS:

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

  Przeczytaj rozdzia ``Interfejs uytkowwnika MILO'', eby uzyska
  wicej informacji o komendach MILO.

  Inna (ale jest to obejcie :( ) metoda adowania MILO przez WNT ARC,
  to umieszczenie MILO na dyskietce MS-DOS, nazwanie go fwupdate.exe i
  uruchomienie opcji ,,Upgrade Firmware''.

  55..22..  aaddoowwaanniiee MMIILLOO zz ,,,,EEvvaalluuaattiioonn BBooaarrdd DDeebbuugg MMoonniittoorr''''

  Pyty ewaluacyjne (i czsto ich klony) posiadaj obsug Monitora pyt
  ewaluacyjnych (Alpha Evaluation Board Debug Monitor). Przeczytaj
  dokumentacj twojego systemu przed rozpatrywaniem uycia tej metody
  adowania MILO. Nastpujce systemy _n_a_p_e_w_n_o obsuguj Monitor:

    AlphaPC64 (Sekcja ``AlphaPC64'')

    EB64+ (Sekcja ``EB64+'')

    EB66+ (Sekcja ``EB66+'')

    EB164 (Sekcja ``EB164'')

    PC164 (Sekcja ``PC164'')

  Zanim uyjesz tej metody, pamitaj, e wczesne wersje Monitora
  Ewaluacyjnego nie posiaday sterownikw grafiki i klawiatury, musisz
  wic podczy inny komputer przez port szeregowy, eby mg uywa
  Monitora. Jego interfejs jest bardzo prosty, a komenda help pokazuje
  mnstwo dostpnych komend. Najbardziej nas interesujce zawieraj
  sowo boot albo load.

  Monitor Pyt Ewaluacyjnych moe zaadowa obraz przez sie (netboot)
  albo z dyskietki (flboot). W obu przypadkach, ustaw adres adowania na
  0x200000 (> bootadr 200000) przed uruchomieniem obrazu.

  Jeeli obraz znajduje si na dyskietce (zauwa e obsugiwane s tylko
  dyskietki w formacie DOS), bdziesz musia wpisa nastpujc komend:
        AlphaPC64> flboot <nazwa-obrazu-MILO>

  55..33..  aaddoowwaanniiee MMIILLOO zz ,,,,bbeezzppiieecczznneejj ddyysskkiieettkkii ssttaarrttoowweejj''''

  Tylko AXPPCI33 _n_a_p_e_w_n_o obsuguje ,,bezpieczn dyskietk startow''
  (Sekcja ``NoName'').

  Jeeli nie uywasz standardowego, pre-kompilowanego obrazu .dd MILO,
  bdziesz musia zbudowa dyskietk startow SRM. Kiedy ju
  skompilowae MILO, musisz wykona nastpujce komendy w Digital
  Unix'ie:

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

  Lub w Linuxie:

       cat mboot bootm > /dev/fd0

  Jeeli masz standardowy obraz MILO (powiedzmy MILO.dd), moesz
  stworzy dyskietk startow, uywajc nastpujcej komendy:

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

  (radz jednak zapisywa programem rawrite.exe spod DOS'a - ale
  poeksperymentowa z dd mona - przyp. tum.)

  55..44..  aaddoowwaanniiee MMIILLOO zz ppaammiiccii FFllaasshh

  Istnieje kilka systemw, gdzie MILO moe by wypalone we flash'u i
  adowane bezporednio (a nie przez firmware Windows NT ARC):

    AlphaPC64 (Sekcja ``AlphaPC64'')

    NoName (Sekcja ``NoName'')

    EB66+ (Sekcja ``EB66+'')

    EB164 (Sekcja ``EB164'')

    PC164 (Sekcja ``PC164'')

  55..55..  aaddoowwaanniiee MMIILLOO zz kkoonnssoollii SSRRMM

  Konsola SRM (skrt od System Reference Manual, podrcznik systemowy (?
  - przyp.  tygrys)) nie wie nic o systemach plikw bd partycjach
  dyskowych, oczekuje po prostu na zajcie odpowiedniego przedziau
  kolejnych sektorw dysku przez drugorzdny adowacz, zaczynajc od
  danego offsetu. Informacja opisujca drugorzdny adowacz (jego
  rozmiar i offset) znajduje si w pierwszym 512-bajtowym bloku. eby
  zaadowa MILO z konsoli SRM, musisz wygenerowa tak struktur w
  urzdzeniu, do ktrego SRM ma dostp (np. dyskietka). Do tego suy
  mboot i bootm, mboot jest pierwszym, opisujcym blokiem, a bootm jest
  obrazem MILO zaokrglonym do 512-bajtowego bloku.

  eby zaadowa MILO z urzdzenia zawierajcego blok startowy, zbuduj
  mboot oraz bootm i nagraj je na urzdzenie startowe nastpujc
  komend:

       $ cat mboot bootm > /dev/fd0

  Moesz te cign odpowiedni plik MILO.dd i nagra go uywajc
  RAWRITE.EXE lub dd.

  Kiedy ju to zrobie, moesz uruchomi konsol SRM i uy jednej z
  jej wielu komend do zaadowania MILO. Na przykad, jeeli chcesz
  zaadowa MILO z dyskietki startowej, powiniene uy nastpujcej
  komendy:

       >>>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 10400
       initializing machine state
       setting afinity to the primary CPU
       jumping to bootstrap code
       MILO Stub: V1.1
       Unzipping MILO into position
       Allocating memory for unzip
       ####...

  Nastpujce systemy _n_a_p_e_w_n_o posiadaj konsol SRM:

    NoName (Sekcja ``NoName'')

    AlphaPC64 (Sekcja ``AlphaPC64'')

    EB164 (Sekcja ``EB164'')

    PC164 (Sekcja ``PC164'')

  55..66..  IInnffoorrmmaaccjjee oo ppyyttaacchh ggwwnnyycchh

  55..66..11..  AAXXPPPPCCII3333 ((NNooNNaammee))

  Pyta NoName moe adowa MILO z firmware'u Windows NT ARC (Sekcja
  ``adowanie MILO z Windows NT ARC''), z konsoli SRM (Sekcja
  ``adowanie MILO z konsoli SRM''), oraz z dyskietki startowej (Sekcja
  ``adowanie z dyskietki startowej''). Mona te, uywajc programu
  zarzdzajcego pamici flash, dostarczanego z MILO, moesz po
  zaadowaniu Miniloadera wypali jego obraz w tak pami (Sekcja
  ``korzystanie z programu zarzdzajcego pamici flash''). Jednake
  musisz pamita, e kiedy to zrobisz, stracisz poprzedni obraz tam
  zapisany, poniewa pyta posiada miejsce tylko na jeden.

  Sposb, w jaki NoName uruchamia system jest kontrolowany zestawem
  zworek na pycie, J29 i J28. Wygldaj one nastpujco:

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

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

  Dwie opcje, ktre nas interesuj, to piny 1-3 zworki J28, ktre aduj
  konsol/adowacz z pamici flash, oraz piny 1-3 zworki J29, ktre
  uruchamiaj konsol lub adowacz z dyskietki startowej. Pierwsze
  zaadowanie MILO musi by przeprowadzone przy uyciu drugiej opcji.

  Kiedy ju wybierzesz adowanie systemu z dyskietki ustawiajc
  odpowiedni zwork, w dyskietk startow SRM zawierajc MILO do
  stacji i zresetuj komputer.  Za par sekund (po zganiciu lampki
  stacji dyskw) ekran powinien zrobi si biay, a MILO bdzie mwi ci
  co si dzieje.

  Jeeli interesuj ci tematy techniczne, wiedz, e NoName aduje
  obrazy z dyskietki pod fizyczny adres 0x104000, a obrazy z pamici
  flash pod adres 0x100000. Z tego powodu PALcode MILO zaaczyna si na
  0x200000. Kiedy jest ju zaadowany, przenosi si w poprawne miejsce
  (zobacz relocate.S).

  55..66..22..  AAllpphhaaPPCC6644 ((CCaabbrriioolleett))

  AlphaPC64 moe adowa MILO z firmware'u Windows NT ARC (Sekcja
  ``adowanie z Windows NT ARC''), konsoli SRM (Sekcja ``adowanie MILO
  z konsoli SRM''), oraz z Monitora Ewaluacyjnego (Sekcja ``adowanie z
  Monitora Pyt Ewaluacyjnych''). Wszystkie te funkcj znajduj si w
  pamieci flash, w ktrej znajduje si jeszcze miejsce na dodanie MILO,
  w celu adowania go bezporednio.  Mona uy programu zarzdzania
  pamici flash, uruchamianego z MILO, a wic kiedy jest on
  uruchomiony, moe by wczytany do pamici nieulotnej (Sekcja
  ``uywanie programu zarzdzania pamici flash'').  System obsuguje
  zmienne rodowiskowe MILO.

  Mona wybra opcj adowania (i MILO, kiedy znajduje si w pamici
  flash) za pomoc kombinacji zworek i opcji inicjalizacji, ktra jest
  zapisywana w NVRAM zegara TOY.

  Zworka suca do tego celu to J2, bity SP o numerach 6 i 7 maj
  nastpujce znaczenie:

    SP 6 powinien by zawsze wyczony. Jeeli nie, wczy si mini-
     debugger SROM,

    Kiedy SP 7 jest wczony, system wybiera opcj inicjalizacji
     umieszczon w zegarze TOY,

    Przy wyczonym SP 7 system aduje pierwszy obraz z pamici flash.

  A wic, jeeli SP 7 jest wyczony, adowany bdzie Monitor Pyt
  Ewaluacyjnych, poniewa jest _z_a_w_s_z_e pierwsz opcj w pamici flash.
  Kiedy SP 7 jest wczony, wybrany zostanie obraz z zegara TOY. Zarwno
  Monitor, firmware Windows NT ARC, jak i MILO obsuguj wybr opcji
  inicjalizacyjnej, ale musisz by bardzo ostrony uywajc tej metody.
  Nie moesz na przykad ustawi opcji inicjalizacyjnej tak, eby
  nastpnym razem system adowa MILO, kiedy uywasz Windows NT ARC,
  poniewa pozwala on tylko na ustawienie Monitora Ewaluacyjnego lub NT
  ARC jako opcji adowania.

  W celu zapisania MILO w pamici flash za pomoc Monitora Pyt
  Ewaluacyjnych, bdziesz potrzebowa obrazu przystosowanego do tej
  metody adowania. Procedura kompilacji tworzy plik MILO.rom, ale
  rwnie dobrze moesz stworzy taki plik jedn z komend Monitora:

       > makerom -v -i7 -l200000 MILO -o mini.flash

  (napisz makerom, eby dowiedzie si, co znacz poszczeglne
  argumenty, powiem tylko, e 7 to identyfikator obrazu uywany przez
  SROM, a -l200000 ustawia adres adowania obrazu na 0x200000).

  Zaaduj ten obraz do pamici (komend flload, netload itd.  (_N_I_E
  fl/net boot tylko _l_o_a_d - przyp. tum.)) pod adres 0x200000 i wypal we
  flash'u:

       AlphaPC64> flash 200000 8

  (200000 to miejsce w pamici obrazu, ktry ma by wypalony, a 8 to
  segment, w ktrym umieszczasz obraz. Istnieje 16 1024*64 bajtowych
  segmentw w pamici flash, Debug Monitor znajduje si w segmencie
  pierwszym, a Windows NT ARC w czwartym).

  Ustaw numer obrazu, ktry bdzie adowany przez SROM poprzez zapisanie
  jego numeru w zegarze TOY.

       AlphaPC64> bootopt 131

  (131 to trzeci obraz, 129 - pierwszy, 130 - drugi itd.)

  Wycz zasilanie, zewrzyj sidm zwork i wcz komputer. Powiniene
  zobaczy MILO budzcego si do ycia. Jeeli nie, wyjmij 7 zwork i
  zresetuj Monitor Ewaluacyjny.

  55..66..33..  EEBB6666++

  EB66+, tak jak wszystkie Pyty Ewaluacyjne Alpha zbudowane przez
  Digitala, posiada ,,Evaluation Board Debug Monitor'', mona wic
  uruchamia MILO przez niego (Sekcja ``adowanie z Monitora
  Ewaluacyjnego''). Dosy czsto (cho nie zawsze) pyty, ktre
  wyeluoway z EB66+, rwnie posiadaj Monitor.  Zazwyczaj pyty te
  zawieraj Windows NT ARC firmware (Sekcja ``adowanie przez Windows NT
  ARC''). Mona te skorzysta z programu zarzdzania pamici flash,
  kiedy MILO jest uruchomiony (Sekcja ``uywanie programu zarzdzajcego
  pamici flash''). System ten obsuguje zmienne rodowiskowe MILO.

  Pyta gwna posiada miejsce na kilka obrazw flash, s one
  kontrolowane zworkami.  Dwa banki zworek (J18 i J16) znajduj si na
  dole pyty, po rodku jej szerokoci (jeeli Alpha jest na grze).
  Moesz wybra pomidzy opcjami adowania (i MILO, jeeli zosta
  zapisany w pamici flash), uywajc kombinacji zworek i opcji
  inicjalizacji zapisanej w NVRAM zegara TOY.

  Kiedy zworka 7-8 banku J18 jest wczona, obraz adowania jest opisany
  przez opcj inicjalizacyjn. Jeeli s one wyczone, zaadowany
  zostanie Monitor Pyt Ewaluacyjnych.

  Procedura wypalania obrazu w pamici flash przez Monitor Ewaluacyjny
  jest identyczna, jak w przypadku AlphaPC64 (Sekcja ``AlphaPC64'').

  55..66..44..  EEBB6644++//AAssppeenn AAllppiinnee

  System ten jest podobny do AlphaPC64, nie posiada jednak pamici flash
  do nagrania MILO. EB64+ posiada dwa ROMy, z ktrych jeden zawiera
  firmware Windows NT ARC (Sekcja ``adowanie z firmware'u Windows NT
  ARC''), a drugi Monitor Pyt Ewaluacyjnych (Sekcja ``adowanie z
  Monitora Ewaluacyjnego'').

  Aspen Alpine posiada tylko jeden ROM - Windows NT ARC.

  55..66..55..  UUnniivveerrssaall DDeesskkttoopp BBooxx ((MMuullttiiaa))

  Jest to system bardzo kompaktowy, sprzedawany jako cay komputer,
  oparty na 21066.  Posiada on urzdzenie graficzne TGA (21030). Chocia
  mona _w_e_p_c_h_n__ do niego kart graficzn PCI o maym rozmiarze,
  poczekaj lepiej na pen obsug TGA w XFree86. Pyta posiada firmware
  Windows NT ARC, z ktrego mona adowa MILO (Sekcja (``adowanie z
  firmware'u Windows NT ARC'').

  55..66..66..  EEBB116644

  EB164, tak jak wszystkie pyty ewaluacyjne Digitala, posiada Monitor
  Pyt Ewaluacyjnych, mona wic za jego pomoc atwo adowa MILO
  (Sekcja ``adowanie z Monitora Ewaluacyjnego''). Dosy czsto (cho
  nie zawsze) pyty, ktre wyeluoway z EB164, take zawieraj Monitor.
  Zazwyczaj, pyty EB164 posiadaj firmware Windows NT ARC (Sekcja
  ``adowanie z firmware'u Windows NT ARC''). Dostpna jest te konsola
  SRM (Sekcja ``adowanie MILO z konsoli SRM'').  Dziki programowi do
  zarzdzania pamici flash uruchamianemu z MILO, mona zapisa jego
  obraz w pamici flash (kiedy MILO ju dziaa) (Sekcja ``Uywanie
  programu zarzdzania pamici flash'').  System obsuguje zmienne
  rodowiskowe MILO.

  Pyty EB164 posiadaj kilka obrazw adujcych, kontrolowanych
  zworkami. Dwuzworkowy bank nas interesujcy to J1, znajduje si on w
  lewym, dolnym rogu pyty (kiedy Alpha jest na grze). Midzy opcjami
  adowania (oraz MILO, jeeli zosta zapisany w pamici flash) moesz
  przecza si uywajc kombinacji zworek i opcji inicjalizacyjnej,
  zapisanej w NVRAMie zegara TOY.

  Kiedy zworka SP-11 banku J1 jest zwarta, adowany bdzie obraz opisany
  opcj inicjalizacyjn, a jeeli jest rozwarta, adowany bdzie Monitor
  Pyt Ewaluacyjnych.

  Wypalanie obrazu w pamici flash przeprowadza si dokadnie tak, jak w
  AlphaPC64 (Sekcja ``AlphaPC64'').

  55..66..77..  PPCC116644

  PC164, jak wszystkie Pyty Ewaluacyjne Alpha Digitala, posiada Monitor
  Pyt Ewaluacyjnych, jest to wic pierwsza moliwo adowania MILO
  (Sekcja ``adowanie z monitora ewaluacyjnego''). Dosy czsto (cho
  nie zawsze) pyty, ktre wyeluoway z PC164, take posiadaj Monitor.
  Zazwyczaj pyty te posiadaj firmware Windows NT ARC (Sekcja
  ``adowanie z Windows NT ARC''). Jest te dostpna konsola SRM (Sekcja
  ``adowanie MILO z konsoli SRM''). Mona rwnie uy programu do
  zarzdzania pamici flash, uruchamianego z MILO, a wic kiedy
  Miniloader dziaa, moe by zapisany w pamici flash (Sekcja
  ``uywanie programu zarzdzajcego pamici flash''). System obsuguje
  zmienne rodowiskowe MILO.

  Systemy te posiadaj kilka opcji adowania w pamici flash,
  kontrolowanych przez zworki. Gwny blok zworek, J30, zawiera zworki
  konfiguracji systemu, oraz zwork CF6, ktra, jeeli wczona,
  uruchomi Monitor Ewaluacyjny. Standardowo zworka ta jest wyczona.

  Wypalanie obrazu do pamici flash za pomoc Monitora Pyt
  Ewaluacyjnych przeprowadza si identycznie, jak w przypadku AlphaPC64
  (Sekcja ``AlphaPC64'').

  55..66..88..  XXLL226666

  XL266 jest jedn z pyt z rodziny systemw znanych jako Avanti.
  Posiada oddzieln kart zawierajc procesor i pami cache, doczan
  do pyty pod prawidowym ktem. Pyta ta moe zastpi swj
  odpowiednik - pyt do Pentium.

  Niektre z tych systemw posiadaj konsol SRM, a inne, np. wanie
  XL266 posiadaj jedynie firmware Windows NT ARC (Sekcja ``adowanie z
  firmware'u Windows NT ARC'').

  Oto moja lista kompatybilnych systemw:

    AlphaStation 400 (Avanti),

    AlphaStation 250,

    AlphaStation 200 (Mustang),

    XL. Dostpne s dwa rodzaje, XL266 i XL233, jedyna rnica pomidzy
     nimi to szybko procesora i rozmiar cache'u.

  UUwwaaggaa: System ktrego uywaem do rozwoju MILO, to XL266 i dlatego
  jest to jedyny system, ktrego dziaanie mog zagwarantowa. Jednake
  technicznie wszystkie powysze systemy s odpowiednikami, maj te same
  chipsety oraz mechanizmy obsugi przerwa.

  55..66..99..  PPllaattffoorrmm22000000

  Jest to system oparty na 233MHz 21066.

  66..  IInntteerrffeejjss uuyyttkkoowwnniikkaa MMIILLOO

  Kiedy poprawnie zainstalowae/zaadowae/uruchomie MILO, zobaczysz
  znak zachty MILO> (od MIniLOader, Miniadowacz) wywietlony na
  ekranie. Jest to bardzo prosty intefejs uytkownika, ktrego musisz
  uy w celu uruchomienia obrazu jdra Linuxa.  Wpisanie ,,help'' jest
  dobrym pomysem, poniewa wywietla przydatny opis komend.

  66..11..  KKoommeennddaa ,,,,hheellpp''''

  Jest to chyba najbardziej poyteczna komenda MILO:

  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.

  ------------------------------------------------------------------------------------

  MILO> help
  Opis komend MILO:

  ls [-t fs] [urzdzenie:[katalog]]
                                 - Lista plikw w katalogu danego urzdzenia
  boot [-t fs] [urzdzenie:plik] [tekst adowania]
                                 - Zaaduj Linuxa z pliku na danym urzdzeniu
  run [-t fs] [urzdzenie:plik]
                                 - Uruchom oddzielny program z podanej cieki
  show                           - Poka wszystkie znane urzdzenia i systemy plikw
  set ZMIENNA WARTOSC            - Przypisuje zmiennej ZMIENNA wartosc WARTOSC
  unset ZMIENNA                  - Kasuje podan zmienn
  reset                          - Skasuj wszystkie zmienne
  print                          - Poka obecne ustawienia zmiennych
  help [var]                     - Wywietl ten tekst pomocy

  Urzdzenia podaje si jako: fd0, hda1, hda2, sda1...
  Uyj opcji ,,-t nazwa-systemu-plikw'', jeeli chcesz uywa
    czego innego ni standardowy system plikw (,,ext2'').
  Uyj komendy ,,show'', eby wywietli znane urzdzenia i systemy plikw.
  Wpisz ,,help var'', eby uzyska list zmiennych.

  UUwwaaggaa:: komenda bootopt wystpuje tylko w systemie AlphaPC64 (i
  podobnych). Odwoaj si do dokumentacji pyty, eby dowiedzie si, co
  ona znaczy.

  UUrrzzddzzeenniiaa. Dopki nie uyjesz komendy, ktra musi uy urzdzenia,
  nie bdzie miaa miejsca jego inicjalizacja. Pierwsze show, ls, boot
  lub run, zawsze spowoduj inicjalizacj urzdze w MILO.  Urzdzenia
  s nazywane dokadnie w ten sam sposb, co w Linuxie. A wic, pierwszy
  dysk IDE bdzie nazywa si ,,hda'', a pierwsza partycja ,,hda1''.
  Uyj komendy ,,show'', eby wywietli dostpne urzdzenia.

  SSyysstteemmyy pplliikkww. MILO obsuguje trzy systemy plikw - MSDOS, EXT2 i
  ISO9660.  Jeeli urzdzenie jest dostpne w systemie, mona wykona
  komendy ls, boot i run na obrazie zapisanym na tych systemach plikw.
  Standardowy system MILO to EXT2, dlatego bdziesz musia powiedzie
  MILO, e obecny jest inny system plikw. Wszystkie komendy uywajce
  nazw plikw pozwalaj przekaza do nich typ systemu plikw, uywajc
  opcji -t [nazwa systemu plikw].  A wic jeeli chcesz wywietli
  zawarto CD ROMu SCSI, moesz napisa:

       MILO> -t iso9660 scd0:

  ZZmmiieennnnee.. MILO posiada kilka ustawialnych zmiennych, uatwiajcych
  proces adowanie. Jeeli adujesz MILO przez Windows NT ARC, MILO
  uywa zmiennych ustawionych przez to firmware. W niektrych systemach
  (np. AlphaPC64), MILO tworzy wasn list zmiennych, ktre nie
  zmieniaj si przy kadym adowaniu. S to:

       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.

       ------------------------------------------------------------------------------------

       MILO> help var
       Zmienne, na ktre uwaa MILO:
         MEMORY_SIZE      - Rozmiar pamici systemu w megabajtach
         BOOT_DEV         - Definiuje domylne urzdzenie adowania
         BOOT_FILE        - Definiuje domylny plik adowania
         BOOT_STRING      - Definiuje tekst przekazywany do jdra podczas startu
         SCSIn_HOSTID     - Definiuje identyfikator hosta n-tego kontrolera SCSI.
         AUTOBOOT         - Jeeli jest ustawiona, MILO prbuje adowa system po wczeniu
                            zasilania i przechodzi do linii komend tylko w przypadku bedu.
         AUTOBOOT_TIMEOUT - Ile sekund MILO ma czeka przed autoadowaniem.

  66..22..  aaddoowwaanniiee LLiinnuuxxaa

  Komenda boot aduje jdro Linuxa. Musi si ono znajdowa na dysku w
  formacie EXT2 (SCSI, IDE lub na dyskietce), lub na kompakcie w
  formacie ISO9660.  Obraz moe by spakowany gzipem, MILO rozpozna go
  wtedy po rozszerzeniu

  Zauwa, e wersja MILO nie musi odpowiada wersji jdra, ktre
  adujesz.  Linuxa aduje si nastpujc komend:

       MILO> boot [-t system-plikw] urzdzenie:nazwa-pliku [[opcja-adowania] [opcja-adowania] ...]

  Gdzie urzdzenie jest nazw pliku urzdzenia, ktrego chcesz uywa, a
  nazwa-pliku jest nazw obrazu jdra Linuxa. Wszystkie argumenty podane
  po nazwie pliku s przekazywane bezporednio do jdra.

  Jeeli instalujesz Red Hat'a, bdziesz musia poda urzdzenie / i nie
  tylko.  Powiniene uy komendy

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

  MILO bdzie automatycznie zawiera urzdzenia wkompilowane w twj
  vmlinux.  Testowaem sterowniki do stacji dyskw, IDE i kilka
  sterownikw SCSI (np. NCR 810).  Wszystkie dziaaj poprawnie. Wane
  jest te poprawne ustawienie identyfikatora hosta SCSI. Domylnie MILO
  zainicjalizuje go na najwyszej moliwej wartoci (7), co powinno
  dziaa poprawnie. Jednake jeeli chcesz, moesz i tak ustawi
  identyfikator hosta _n-tego kontrolera SCSI w systemie, ustawiajc
  zmienn rodowiskowSCSI_n_HOSTID na odpowiedni warto. Na przykad,
  eby ustawi hostid pierwszego kontrolera na 7, powiniene wpisa
  nastpujce polecenie w linii polece MILO:

       setenv SCSI0_HOSTID 7

  66..33..  RReesseettoowwaanniiee LLiinnuuxxaa

  Czasami bdziesz chcia przeadowa dziaajcego Linuxa komend
  shutdown -r now.  W takim przypadku jdro Linuxa oddaje kontrol MILO
  (przez odwoanie CallPAL HALT).  Z tego powodu MILO zostawia
  skompresowan kopi samego siebie w pamici i wykrywa e system jest
  przeadowywany, korzystajc z informacji przetrzymywanych w HWRPB
  (Hardware Restart Parameter Block, Blok Parametrw Restartu
  Urzdzenia).  Zaczyna wtedy przeadowanie, uywajc dokadnie tej
  samej komendy, ktra zostaa uyta do adowania jdra Linuxa ostatnim
  razem. MILO czeka przez 30 sekund przed ponownym zaadowaniem jdra,
  co pozwala przerwa ten proces i zaadowa inne jdro, w jakikolwiek
  sposb.

  66..44..  KKoommeennddaa ,,,,bboooottoopptt''''

  W systemach z pamici flash, takich jak AlphaPC64, EB164 i EB66+
  istnieje kilka opcji adowania. S one zmieniane komend bootopt.
  Posiada ona jeden argument, numer dziesitny, ktry jest typem obrazu
  do zaadowania po wczeniu zasilania/przeadowaniu systemu.

  00 adowanie Monitora Pyt Ewaluacyjnych,
  11 adowanie firmware'u Windows NT ARC.

  W celu adowania MILO z pamici flash, potrzebna jest opcja
  inicjalizacyjna, znaczca ,,zaaduj N-ty obraz z pamici flash''.
  Jako argument, musisz poda 128 + N, wic jeeli MILO jest trzecim
  obrazem, uyjesz komendy

  MILO> bootopt 131

  UUwwaaggaa:: Bd bardzo ostrony z t komend. Nigdy nie ustawiaj bootopt
  na 0 (Monitor Pyt Ewaluacyjnych), zamiast tego uyj zworek na pycie
  gwnej.

  77..  UUyywwaanniiee pprrooggrraammuu zzaarrzzddzzaajjcceeggoo ppaammiiccii ffllaasshh

  Komenda run jest uywana do uruchamiania programu zarzdzajcego
  pamici flash (flash management utility, dalej bd nazywa go
  ,,fmu'' - przyp.  tum.). Zanim zaczniesz, bdziesz potrzebowa
  urzdzenia dostpnego MILO i zawierajcego fmu. Moe on by (tak jak
  vmlinux) spakowany gzipem. Fmu uruchamia si nastpujc komend:

       MILO> fd0:fmu.gz

  Kiedy program zostanie zaadowany i zainicjalizowany, fmu poda troch
  informacji o urzdzeniu flash, oraz wywietli lini polece. Znowu,
  komenda help jest bardzo uyteczna.

       Linux MILO Flash Management Utility V1.0     Linux MILO Flash Management Utility V1.0

       Flash device is an Intel 28f008SA            Urzdzenie flash to Intel 28f008SA
         16 segments, each of 0x10000 (65536) bytes   16 segmentw, kady po 0x10000 (65536) bajtw
       Scanning Flash blocks for usage              Wykrywam zajto blokw Flash
       Block 12 contains environment variables      Blok 12 zawiera zmienne rodowiskowe
       FMU>                                         FMU>

  UUwwaaggaa:: W systemach obsugujcych zmienne rodowiskowe, gdzie istnieje
  wicej ni jeden blok flash (np. AlphaPC64), fmu bdzie szuka bloku
  na zmienne rodowiskowe MILO. Jeeli taki blok istnieje, fmu powie,
  gdzie si on znajduje.  Jeli nie, musisz uy komendy environment,
  eby ustawi blok i go zainicjalizowa. W powyszym przykadzie, blok
  12 zawiera zmienne rodowiskowe MILO.

  77..11..  KKoommeennddaa ,,,,hheellpp''''

  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>

  ------------------------------------------------------------------------------------

  FMU> help
  Opis komend FMU:

  list                - Wywietl zawarto pamici flash
  program             - Zapisz obraz w pamici flash
  quit                - Zakocz program
  environment         - Ustaw blok, ktry powinien zawiera zmienne rodowiskowe
  bootopt numer       - Wybierz typ firmware'u do uycia przy nastpnym uruchomieniu
  help                - Wywietl ten tekst pomocy
  FMU>

  UUwwaaggaa:: Komendy environment i bootopt s dostpne tylko w pytach
  EB66+, AlphaPC64, EB164 i PC164 (i ich klonach).

  77..22..  KKoommeennddaa ,,,,lliisstt''''

  Komenda ,,list'' pokazuje zawarto pamici flash. Jeeli istnieje
  wicej ni jeden blok, pokazana jest zawarto kadego. W poniszym
  przykadzie moesz zobaczy, e Windows NT ARC uywa blok 4-7 i blok
  15.

  FMU> list
  Flash block:   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>

  ------------------------------------------------------------------------------------

  FMU> list
  Bloki Flash:   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
  Wywietlam Obrazy Flash
    Obraz Flash (pocztek - blok 0)
      Firmware Id:  0 (Alpha Evaluation Board Debug Monitor)
      Rozmiar obrazu: 191248 bajtw (3 bloki)
      Wykonuje si na 0x300000
    Obraz Flash (pocztek - blok 3)
      Firmware Id:  1 (Windows NT ARC)
      Rozmiar obrazu: 277664 bajtw (5 blokw)
      Wykonuje si na 0x300000
    Obraz Flash (pocztek - blok 8)
      Firmware Id:  7 (MILO/Linux)
      Rozmiar obrazu: 217896 bajtw (4 bloki)
      Wykonuje si na 0x200000
  FMU>

  77..33..  KKoommeennddaa ,,,,pprrooggrraamm''''

  Fmu zawiera skompresowan kopi obrazu flash MILO. Komenda ,,program''
  pozwala zapisa ten obraz w pamici flash. Komenda ta pozwoli ci
  wycofa si, ale zanim j uruchomisz, powiniene uy komendy
  ,,list'', eby zobaczy gdzie nagra MILO. Jeeli MILO znajduje si
  ju w pamici flash, fmu zapyta si, czy go skasowa.

  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>

  ------------------------------------------------------------------------------------

  FMU> program
  Obraz:
      Firmware Id:  7 (MILO/Linux)
      Rozmiar obrazu: 217896 bajtw (4 bloki)
      Wykonuje si na 0x200000
  Znaleziono istniejcy obraz w bloku 8
  Nadpisa istniejcy obraz? (N/y)? y
  Czy napewno chcesz to zrobi? (y/N)? y
  Kasowanie blokw do programowania: 8 9 10 11
  Programowanie obrazu do pamici flash
  Szukanie zajtych blokw Flash
  FMU>

  Poczekaj, a proces zostanie zakoczony przed wyczeniem systemu.

  UUwwaaggaa:: Nie mog wyrazi dostatecznie mocno, jak musisz by ostrony,
  eby nie nadpisa istniejcego obrazu flash, ktry moe by ci
  potrzebny, lub nie zniszczy swojej pyty gwnej. Dobr zasad jest
  niekasowanie Monitora Ewaluacyjnego. (!!! - przyp. tum.)

  77..44..  KKoommeennddaa ,,,,eennvviirroonnmmeenntt''''

  Wybiera blok flash majcy zawiera zmienne rodowiskowe MILO.

  77..55..  KKoommeennddaa ,,,,bboooottoopptt''''

  Jest to ta sama komenda, co istniejca w MILO, zobacz sekcj
  (``Komenda ,,bootopt'''').

  77..66..  KKoommeennddaa ,,,,qquuiitt''''

  Jest to raczej bez znaczenia. Jedyna droga powrotna do MILO (lub
  czegokolwiek innego), kiedy fmu dziaa, to restart systemu.

  88..  OOggrraanniicczzeenniiaa

  Niestety, wiat nie jest doskonay, jest wic jak zawsze par
  ogranicze, o ktrych powiniene wiedzie.

  MILO nie jest przeznaczony do adowania systemw operacyjnych innych
  ni Linux, jednake moe adowa obrazy czone do dziaania w tym
  samym miejscu pamici co Linux (czyli 0xFFFFFC0000310000). W ten
  sposb moe dziaa fmu.

  rda kodu PAL zaczone w miniboot/palcode/_c_o__t_a_m s poprawne,
  jednake s problemy, kiedy zostaj zbudowane przy uyciu najnowszego
  gas (assembler GNU - przyp. tum.). _M_o__n_a kompilowa je, uywajc
  bardzo starego gas'a zaczonego w oprogramowanu do Pyt Ewaluacyjnych
  Alpha (i w ten sposb zostay zbudowane). Prbuj namwi kogo, eby
  naprawi nowy gas.  Obecnie jednak, jako obejcie, umieciem pre-
  kompilowany kod PAL dla obsugiwanych pyt, a David Mosberger-Tang
  umieci naprawiony gas na swoim serwerze ftp.

  99..  RRoozzwwiizzyywwaanniiee pprroobblleemmww

  Oto kilka czsto spotykanych problemw razem z rozwizaniami.

  CCzzyyttaanniiee ddyysskkiieetteekk MMSS--DDOOSS zz MMoonniittoorraa PPyytt EEwwaalluuaaccyyjjnnyycchh..

  Niektre starsze wersje Monitora Pyt Ewaluacyjnych (przed 2.0) miay
  problemy z odczytywaniem dyskietek w formacie DOS zapisanych pod
  Linuxem. Zazwyczaj Monitor moe wczyta kilka pierwszych sektorw, ale
  po chwili wchodzi w nieskoczon ptl bdw o zych sektorach.
  Istnieje te pewna niekompatybilno midzy formatem DOS oczekiwanym
  przez Monitor Ewaluacyjny, a Linuxow implementacj DOSFS. eby
  skrci t dug histori: jeeli napotkasz ten problem, sprbuj uy
  DOS'a do zapisania dyskietki. Na przykad jeeli nie aduje si plik
  MILO.cab, uyj komputera z DOSem - w dyskietk i napisz:

       copy a:MILO.cab c:
       copy c:MILO.cab a:
       del c:MILO.cab

  Sprbuj ponownie wystartowa MILO z tej dyskietki. Powinno to
  rozwiza problem.

  MMIILLOO wwyywwiieettllaa dduugg sseekkwweennccjj zznnaakkww ,,,,oo>>'''' ii nniiee pprrzzyyjjmmuujjee ppoolleeccee..

  Dzieje si to zazwyczaj kiedy MILO zosta skompilowany z portem COM1
  jako drugorzdnym urzdzeniem konsoli. W takim przypadku, MILO kopiuje
  wyjcie na port COM1 i akceptuje wejcie rwnie z tego portu. Jest to
  wietne do wykrywania bdw, ale nie tak wietne jeeli masz
  podczone co innego ni terminal.  Jeeli to si dzieje, odcz lub
  wycz to urzdzenie, do chwili uruchomienia jdra Linuxa. Kiedy Linux
  dziaa, wszystko bdzie dziaao tak jak powinno.

  MMIILLOO sskkaarryy ssii nnaa zzyy nnuummeerr mmaaggiicczznnyy oobbrraazzuu jjddrraa

  Starsze wersje MILO nie obsugiway formatu binarnego ELF, nie mogy
  wic rozpozna obrazu ELF. Jeeli napotkasz ten problem, cignij
  najnowsz wersj MILO.  Wszystkie wersje po 2.0.20 obsuguj ELF. Z
  drugiej strony, moe to by wina zniszczonego obrazu. Powiniene te
  pamita, e MILO sam nie rozpoznaje jeszcze obrazw skompresowanych
  GZIP'em - musisz doda rozszerzenie ,,.gz'' do nazwy pliku.

  MMIILLOO wwyywwiieettllaa ,,,,......ttuurrnniinngg oonn vviirrttuuaall aaddddrreessssiinngg aanndd jjuummppiinngg ttoo tthhee
  LLiinnuuxx KKeerrnneell'''' ii nniicc ssii nniiee ddzziieejjee

  Oczywisty problem, to to, e jdro jest le skompilowane, albo
  skompilowane na inny system Alpha. Inny to kompilacja jdra na
  urzdzenie VGA, kiedy pyta posiada TGA (Zlxp) (lub odwrotnie). Dobrze
  jest wbudowa w jdro wyjcie na COM1 i podczy terminal, lub
  sprbowa uy jdro z dystrybucji Linuxa, ktr zainstalowae.

  MMIILLOO nniiee rroozzppoozznnaajjee ddyysskkuu SSCCSSII

  Standardowe obrazy MILO posiadaj wszystkie stabilne (dla Alphy)
  sterowniki urzdze (na razie s to NCR 810, QLOGIC ISP, Buslogic i
  Adaptec 2940/3940) (uwaga - jest to stare HOWTO, a wic duo si
  zmienio - przyp. tum.). Jeeli twoja karta nie jest doczona, moe
  to znaczy, e sterownik dla Alphy nie jest jeszcze stabilny.  Sprbuj
  uy najnowszych obrazw MILO. Moesz dowiedzie si, jakie urzdzenia
  SCSI zostay wkompilowane w obraz MILO, uywajc komendy ,,show''.

  1100..  PPooddzziikkoowwaanniiaa

  Chciabym podzikowa:

    Eric'owi Rasmussen'owi i Eillen Samberg - autorom PALcode,

    Jim'owi Paradis'owi za sterownik klawiatury i oryginalny interfejs
     MILO,

    Jay'owi Estabrook'owi za jego pomoc i poprawki,

    David'owi Mosberger-Tang'owi za darmowy kod emulacji BIOS'u i jego
     pomoc,

    i jako ostatniemu (ale _n_i_e najmniej wanemu) Linus'owi Torvalds'owi
     za kod zegara i jdro Linuxa.

  Jest jeszcze kilka rzeczy, ktre powinny by zrobione, wic jeeli
  chcesz co doda, daj mi zna (david.rusling@reo.mts.dec.com), ebymy
  nie duplikowali swoich wysikw.

  Na kocu, due ,,dzikuj'' dla Digitala, za produkowanie tak
  wietnego procesora (i pacenie mi za to).

  1111..  OOdd ttuummaacczzaa

  Jeeli znajdziesz jakie bdy, daj mi zna.

