MILO HOWTO

Autor: David A. Rusling david.rusling@reo.mts.dec.com
v0.84, 6 Grudnia 1996
Wersja polska: Leszek Urba�ski tygrys@fidonet.org.pl
v1.0, 24 Lipca 1998


Ten dokument opisuje Miniloader (Mini�adowacz), program dla komputer�w opartych na procesorze Alpha, kt�ry mo�e by� u�ywany do inicjalizacji maszyny i �adowania Linuxa. Alpha Linux Miniloader (jest to jego pe�na nazwa) jest te� znany jako MILO. Dokument ten zosta� napisany w standardzie ISO-8859-2. Orygina� tego dokumentu znajduje si� pod adresem ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader/docs.

1. Wprowadzenie

Ten dokument opisuje Mini�adowacz (Miniloader) dla Linuxa na Alph� AXP (MILO). To firmware jest u�ywane do inicjalizacji system�w Alpha AXP, za�adowania oraz startowania Linuxa i w ko�cu do zapewnienia kodu PAL (PALcode) dla Linuxa.

1.1 Prawa autorskie

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

Prawa autorskie. Jak wszystkie Linuxowe dokumenty HOWTO, mo�e by� powielane i rozpowszechniane w ca�o�ci lub w cz�ci, za pomoc� ka�dego �rodka przekazu, fizycznego lub elektronicznego, je�eli uwaga o prawach autorskich zosta�a zachowana na wszystkich kopiach. Komercyjna redystrybucja jest dozwolona i zalecana; jednak�e autor chcia�by by� powiadomiony o takich dystrybucjach. Mo�esz te� przet�umaczy� to HOWTO na dowolny j�zyk, je�eli zostawisz wypowied� o prawach autorskich oraz o�wiadczenie niezmienione, oraz dodasz notatk� o t�umaczu.

O�wiadczenie. Pr�bowa�em umie�ci� tu najpoprawniejsze i najnowsze informacje, kt�re s� mi dost�pne, nie mog� jednak zagwarantowa�, �e ich u�ycie nie spowoduje utraty danych lub sprz�tu. NIE ZAPEWNIAM �ADNEJ GWARANCJI dotycz�cej informacji w tym HOWTO, nie mog� by� wi�c odpowiedzialny za jakiekolwiek skutki u�ycia danych z niego.

1.2 Nowe wersje tego dokumentu

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

2. Co to jest MILO?

Na systemach PC opartych na procesorach Intel, firmware zwane BIOSem uruchamia komputer i �aduje obraz (image) do uruchomienia z bloku startowego systemu plik�w DOSu. Jest to mniej wi�cej to samo, co wykonuje MILO na systemach Alpha, jednak�e istnieje kilka interesuj�cych r�nic pomi�dzy BIOSem a MILO, jedn� z nich jest u�ywanie przez MILO niezmodyfikowanych standardowych sterownik�w urz�dze� Linuxa. MILO jest firmware'em, inaczej ni� LILO, kt�ry jest �adowany przez BIOS. G��wne funkcjonalne cz�ci MILO to:

  1. PALcode,
  2. Kod uruchamiania pami�ci (buduje tablice stronicowania i w��cza adresowanie wirtualne),
  3. Kod grafiki (emulacja BIOSu i TGA (21030)),
  4. Kod j�dra Linuxa. Na niego sk�ada si� prawdziwy kod (np. obs�uga przerwa�) i pseudo-j�dro,
  5. Sterowniki urz�dze� blokowych Linuxa (np. sterownik stacji dysk�w),
  6. Obs�uga systemu plik�w (ext2, MS-DOS i ISO9660),
  7. Kod interfejsu u�ytkownika (MILO)
  8. Kod interfejsu j�dra (uruchamia HWRPB i map� pami�ci dla Linuxa),
  9. Kod NVRAM do zarz�dzania zmiennymi �rodowiskowymi

Dalsze akapity dok�adnie opisuj� funkcjonalne cz�ci MILO.

PALcode jest cienk� warstw� oprogramowania dostosowuj�c� procesor do konkretnego systemu operacyjnego. Dzia�a w specjalnym trybie (PALmode), kt�ry posiada kilka ogranicze�, ale u�ywa standardowego zestawu instrukcji Alphy i tylko pi�ciu dodatkowych instrukcji. W ten spos�b, na procesorze Alpha mog� by� uruchamiane systemy tak r�ne, jak np. Windows NT, OpenVMS, Digital UNIX i oczywi�cie Linux. PALcode, kt�rego u�ywa MILO (i przez to sam Linux) jest, jak reszta MILO, darmowa. Pochodzi z przyk�adu ewaluacyjnych p�yt g��wnych (Evaluation Boards, EB) dla Digital UNIXa. R�nice pomi�dzy kodami PAL wynikaj� z r�nic w sposobach obs�ugi przerwa� w procesorach Alpha (p�yty g��wne do 21066 maj� inn� map� I/O ni� systemy 21064+2107x (2107x to APECS, chipset do 21064 - przyp. t�um.)), oraz z liczby dost�pnych p�yt g��wnych.

�eby MILO dzia�a� poprawnie, musi zna� ilo�� dost�pnej pami�ci i miejsce, w kt�rym Linux b�dzie dzia�a�, musi te� by� w stanie przydzieli� tymczasow� pami�� dla sterownik�w urz�dze� Linuxa. Kod utrzymuje map� pami�ci, kt�ra posiada rekordy dla permanentnie i tymczasowo przydzielonych stron. W czasie uruchamiania MILO dekompresuje si� w poprawne miejsce pami�ci fizycznej. Kiedy przekazuje kontrol� j�dru Linuxa, zarezerwowywuje pami�� dla skompresowanej wersji samego siebie, kodu PAL (kt�ry jest potrzebny j�dru) i troch� struktur danych. To zostawia wi�kszo�� pami�ci w systemie dla samego Linuxa.

Ostatnia cz�� kodu pami�ci to ustawienie i w��czenie adresowania wirtualnego w celu zapewnienia poprawnego miejsca w wirtualnej pami�ci dla struktur danych, kt�re Linux spodziewa si� tam zobaczy�.

MILO zawiera kod grafiki, kt�ry inicjalizuje i u�ywa urz�dzenia graficznego dla systemu. Wykryje i b�dzie u�ywa� urz�dzenie VGA, je�li takie istnieje, je�eli nie, b�dzie pr�bowa� u�y� urz�dzenia TGA (21030). Gdy i to si� nie powiedzie, przyjmie, �e nie istnieje urz�dzenie graficzne (tylko np. terminale szeregowe - przyp. t�um.). Emulacja BIOSu, kt�r� posiadaj� standardowe, skompilowane obrazy MILO, to emulacja Digitala, kt�ra obs�uguje wi�kszo��, je�eli nie wszystkie dost�pne standardowe urz�dzenia graficzne.

Sterowniki urz�dze� Linuxa ,,�yj�'' wewn�trz j�dra i spodziewaj� si� od niego konkretnych us�ug. Niekt�re z nich s� zapewniane bezpo�rednio przez kod Linuxa, np. obs�uga przerwa�, a inne dzia�aj� dzi�ki specjalnym procedurom wygl�daj�cym dla sterownik�w jak procedury j�dra.

Najsilniejsza cecha MILO, to mo�liwo�� osadzenia w nim niezmienionych sterownik�w urz�dze� Linuxa. Daje to potencja� obs�ugi ka�dego urz�dzenia, kt�re obs�uguje Linux. MILO zawiera wszystkie urz�dzenia blokowe wkompilowane w jadro, kt�re zostaje przy nim zbudowane, a tak�e du�o kodu urz�dze� (np. ll_rw_blk()).

MILO �aduje j�dro Linuxa z prawdziwych system�w plik�w, a nie z blok�w startowych i innych dziwnych miejsc. Potrafi czyta� systemy plik�w MSDOS, EXT2 i ISO9660. Pliki spakowane gzipem s� obs�ugiwane i rekomendowane, zw�aszcza je�eli �adujesz [system] z dyskietki, co jest dosy� wolne. MILO rozpoznaje je po rozszerzeniu .gz.

W MILO zawiera prosty sterownik klawiatury, kt�ry razem z r�wnie prostym sterownikiem grafiki pozwala posiada� mu sparta�ski interfejs u�ytkownika. Interfejs ten pozwala pozna� systemy plik�w na skonfigurowanych urz�dzeniach, �adowa� Linuxa, uruchamia� programy do uaktualniania pami�ci flash, oraz ustawia� zmienne �rodowiskowe kontroluj�ce �adowanie systemu. Tak jak w LILO, mo�esz przekazywa� parametry do j�dra.

MILO musi powiedzie� j�dru Linuxa na jakim dzia�a systemie, ile pami�ci posiada i ile z tej pami�ci jest wolne. Robi to u�ywaj�c struktury danych HWRPB (blok parametr�w restartowania sprz�tu) i skojarzonych z ni� opis�w cz�ci pami�ci. S� one umiejscawiane w odpowiednim miejscu pami�ci wirtualnej zaraz przed przekazaniem kontroli j�dru Linuxa.

3. Standardowe, pre-kompilowane obrazy MILO

Je�eli b�dziesz chcia� uruchamia� Linuxa na standardowych p�ytach g��wnych Alphy, mo�esz u�y� pre-kompilowanych, ,,standardowych'' obraz�w (images) MILO. (notka od t�umacza: radz� zabootowa� Alph� ze standardowych obraz�w, a potem zbudowa� w�asny, gdy Linux b�dzie ju� dzia�a�) Obrazy te (razem ze �r�d�ami i innymi ciekawymi rzeczami) znajduj� si� na ftp://gatekeeper.dec.com/pub/Digital/Linux-Alpha/Miniloader

Podkatalog images zawiera po jednym podkatalogu na ka�dy system (np. AlphaPC64), a obrazy MILO s� nazywane w nast�puj�cy spos�b:

  1. MILO - wykonywalny obraz MILO, mo�e on by� �adowany na wiele sposob�w,
  2. fmu.gz - Program zarz�dzania pami�ci� 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 znajduj�ce si� w tym katalogu s� raczej eksperymentalne, ale zawieraj� najnowsze opcje.

4. Kompilacja MILO

(Uwaga: pami�taj, �e nie mo�esz zbudowa� MILO i j�dra dla Alphy na Intel'u! Musisz dysponowa� drug� Alph�, albo zbudowa� j�dro po uruchomieniu Linuxa ze standardowych obraz�w MILO. Na Intelu j�dro nawet si� nie zacznie kompilowa� - spr�buj zbudowa� j�dro na Alph� na pececie - w pliku Makefile zamie� ARCH=i386 na ARCH=alpha... - przyp. t�um.)

MILO kompiluje si� oddzielnie, nie razem z j�drem. Poniewa� MILO potrzebuje cz�ci j�dra do poprawnego funkcjonowania (np. obs�ugi przerwa�), musisz najpierw skonfigurowa� i skompilowa� j�dro, odpowiadaj�ce MILO, kt�ry chcesz skompilowa�. Zazwyczaj znaczy to, �e powiniene� kompilowa� j�dro z t� sam� wersj� co MILO. A wi�c MILO-2.0.25.tar.gz b�dzie kompilowa� si� z linux-2.0.25.tar.gz. MILO mo�e skompilowa� si� z nowsz� wersj� j�dra, ale nie musi. Dodatkowo teraz, kiedy biblioteki dzielone ELF s� w pe�ni obs�ugiwane, istniej� dwie wersje �r�de� MILO. �eby zbudowa� je w systemie ELF, musisz najpierw rozpakowa� standardowe �r�d�a, a potem na�o�y� �at� (patch) ELF na te �r�d�a (musi mie� ten sam numer wersji). Przyjm� teraz, �e �r�d�a j�dra oraz skompilowane obiekty (.o) znajduj� si� w katalogu /usr/src/linux, a j�dro zosta�o w pe�ni skompilowane komend� make boot. (pami�taj o ustawieniu ARCH=alpha w pliku Makefile j�dra PRZED wydaniem polecenia make (menu)(x)config!!! - przyp. t�um.)

�eby skompilowa� MILO, zmie� katalog na zawieraj�cy �r�d�a MILO i przywo�aj make komend�:

$ make KSRC=/usr/src/linux config

Tak jak podczas kompilacji j�dra, zadane zostanie kilka pyta�.

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

Przesy�a� wyj�cie do portu szeregowego (MINI_SERIAL_ECHO) [y]

Dobrym pomys�em jest w��czenie przesy�ania wiadomo�ci printk j�dra do /dev/ttyS0, je�eli mo�na to zrobi�. Je�eli mo�esz (i chcesz), napisz ,,y'', je�eli nie, ,,n''. Wszystkie standardowe, pre-kompilowane obrazy MILO posiadaj� wej�cie/wyj�cie na port szeregowy COM1.

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

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

Ten kod jest za��czony jako biblioteka, kt�ra jest darmowa dop�ki u�ywa si� jej w systemie opartym na procesorze Alpha. �rod�a nie s� dost�pne. Je�eli odpowiesz n, zbudowana zostanie alternatywna darmowa emulacja BIOSu. Jej �r�d�a s� do��czone do MILO. Pami�taj, �e obecnie nie mo�esz wybra� emulacji Digitala w systemach ELF (biblioteka nie jest jeszcze gotowa), musisz wi�c odpowiedzie� ,,nie'' na to pytanie.

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

Zbudowa� PALcode ze �r�de� (Uwaga to jest niebezpieczne) (MINI_BUILD_PALCODE_FROM_SOURCES) [n]

Powiniene� zrobi� to tylko je�eli modyfikowa�e� �r�d�a kodu PAL, je�eli nie, u�yj standardowego, pre-kompilowanego kodu PAL do��czonego do MILO.

Teraz jeste� gotowy do zbudowania obrazu MILO:

$ make KSRC=/usr/src/linux

Kiedy kompilacja zostanie zako�czona, obraz MILO znajduje si� w pliku o nazwie milo. B�dzie si� tam te� znajdowa� wiele obraz�w o nazwach milo.*, kt�re powinny by� zignorowane.

5. �adowanie MILO

Najlepiej obs�ugiwany spos�b �adowania MILO to �adowanie z firmware'u Windows NT ARC, poniewa� wi�kszo�� system�w zawiera t� metod�. Jednak�e istnieje wiele r�nych sposob�w �adowania MILO. Mo�e on by� za�adowany z:

5.1 �adowanie MILO z firmware'u Windows NT ARC

Wi�kszo��, je�eli 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 dzia�a i posiadasz poprawny dla twojego systemu obraz MILO, metoda ta jest bardzo �atwa do u�ywania.

Windows NT ARC firmware jest �rodowiskiem, w kt�rym mog� dzia�a� programy, wykonuj�c odwo�ania do firmware'u w celu wykonywania r�nych akcji. Windows NT OSloader jest programem, kt�ry spe�nia t� funkcj�. Linload.exe jest znacznie prostszym programem, kt�ry jedynie wczytuje i uruchamia MILO. �aduje on poprawny plik z obrazem do pami�ci pod adres 0x00000000 i wtedy wykonuje odwo�anie PAL ,,swap-PAL'' (zamie� PAL) do niego. MILO, tak jak Linux, u�ywa innego kodu PAL ni� Windows NT i dlatego musi przeprowadzi� zamian�. Nast�pnie MILO przenosi si� do 0x200000 i kontynuuje resetowanie kodu PAL.

Zanim dodasz opcj� �adowania Linuxa, b�dziesz musia� skopiowa� linload.exe oraz MILO, kt�rego chcesz za�adowa� w miejsce, z kt�rego Windows NT ARC b�dzie m�g� go odczyta�. W poni�szym przyk�adzie 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 zarz�dzania 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� ,,\'' jako katalog g��wny systemu operacyjnego
  9. Zazwyczaj wpisuj� ,,Linux'' jako nazw� tej opcji �adowania
  10. Odpowiedz ,,nie'' na pytanie o inicjalizacj� debuggera podczas �adowania
  11. Powiniene� wr�ci� do ,,Boot selections menu'', wybierz w nim opcj� ,,Change a boot selection option'', a w niej opcj�, kt�r� w�a�nie stworzy�e�
  12. U�yj strza�ki w d�, aby dosta� si� do rekordu ,,OSLOADFILENAME'', wpisz w nim nazw� obrazu MILO, kt�rego chcesz u�ywa�, np. ,,noname.arc, nast�pnie naci�nij return (enter).
  13. Nasi�nij ESC �eby wr�ci� do ,,Boot selections menu''
  14. Wybierz ,,Setup Menu'' (lub naci�nij jeszcze raz ESC), a w nim ,,Supplementary menu'' i ,,Save Changes''
  15. ESC cofnie ci� do ,,Boot menu'', mo�esz ju� spr�bowa� inicjalizowa� MILO. Je�eli nie chcesz, �eby Linux by� pierwsz� opcj� �adowania, mo�esz zmieni� kolejno�� opcji w ,,Boot selections menu''.

Na ko�cu tych czynno�ci powiniene� otrzyma� opcj� �adowania wygl�daj�c� 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=

Mo�esz teraz uruchomi� MILO (i Linuxa). Mo�esz za�adowa� linload.exe i MILO bezpo�rednio z systemu plik�w, kt�ry rozumie Windows NT, takiego jak NTFS lub DOS na twardym dysku.

Linia OSLOADOPTIONS zawiera opcje, kt�re zostan� przekazane do MILO. Je�eli chcesz za�adowa� Linuxa bezpo�rednio z Windows NT ARC nie pauzuj�c przy MILO, powiniene� wpisa� nast�puj�c� komend� w OSLOADOPTIONS:

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

Przeczytaj rozdzia� Interfejs u�ytkowwnika MILO, �eby uzyska� wi�cej informacji o komendach MILO.

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

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

P�yty ewaluacyjne (i cz�sto ich klony) posiadaj� obs�ug� Monitora p�yt ewaluacyjnych (Alpha Evaluation Board Debug Monitor). Przeczytaj dokumentacj� twojego systemu przed rozpatrywaniem u�ycia tej metody �adowania MILO. Nast�puj�ce systemy napewno obs�uguj� Monitor:

Zanim u�yjesz tej metody, pami�taj, �e wczesne wersje Monitora Ewaluacyjnego nie posiada�y sterownik�w grafiki i klawiatury, musisz wi�c pod��czy� inny komputer przez port szeregowy, �eby� m�g� u�ywa� Monitora. Jego interfejs jest bardzo prosty, a komenda help pokazuje mn�stwo dost�pnych komend. Najbardziej nas interesuj�ce zawieraj� s�owo boot albo load.

Monitor P�yt Ewaluacyjnych mo�e za�adowa� obraz przez sie� (netboot) albo z dyskietki (flboot). W obu przypadkach, ustaw adres �adowania na 0x200000 (> bootadr 200000) przed uruchomieniem obrazu.

Je�eli obraz znajduje si� na dyskietce (zauwa� �e obs�ugiwane s� tylko dyskietki w formacie DOS), b�dziesz musia� wpisa� nast�puj�c� komend�:

 AlphaPC64> flboot <nazwa-obrazu-MILO> 

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

Tylko AXPPCI33 napewno obs�uguje ,,bezpieczn� dyskietk� startow�'' (Sekcja NoName).

Je�eli nie u�ywasz standardowego, pre-kompilowanego obrazu .dd MILO, b�dziesz musia� zbudowa� dyskietk� startow� SRM. Kiedy ju� skompilowa�e� MILO, musisz wykona� nast�puj�ce 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

Je�eli masz standardowy obraz MILO (powiedzmy MILO.dd), mo�esz stworzy� dyskietk� startow�, u�ywaj�c nast�puj�cej komendy:

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

(radz� jednak zapisywa� programem rawrite.exe spod DOS'a - ale poeksperymentowa� z dd mo�na - przyp. t�um.)

5.4 �adowanie MILO z pami�ci Flash

Istnieje kilka system�w, gdzie MILO mo�e by� wypalone we flash'u i �adowane bezpo�rednio (a nie przez firmware Windows NT ARC):

5.5 �adowanie MILO z konsoli SRM

Konsola SRM (skr�t od System Reference Manual, podr�cznik systemowy (? - przyp. tygrys)) nie wie nic o systemach plik�w b�d� partycjach dyskowych, oczekuje po prostu na zaj�cie odpowiedniego przedzia�u kolejnych sektor�w dysku przez drugorz�dny �adowacz, zaczynaj�c od danego offsetu. Informacja opisuj�ca drugorz�dny �adowacz (jego rozmiar i offset) znajduje si� w pierwszym 512-bajtowym bloku. �eby za�adowa� MILO z konsoli SRM, musisz wygenerowa� tak� struktur� w urz�dzeniu, do kt�rego SRM ma dost�p (np. dyskietka). Do tego s�u�y mboot i bootm, mboot jest pierwszym, opisuj�cym blokiem, a bootm jest obrazem MILO zaokr�glonym do 512-bajtowego bloku.

�eby za�adowa� MILO z urz�dzenia zawieraj�cego blok startowy, zbuduj mboot oraz bootm i nagraj je na urz�dzenie startowe nast�puj�c� komend�:

$ cat mboot bootm > /dev/fd0

Mo�esz te� �ci�gn�� odpowiedni plik MILO.dd i nagra� go u�ywaj�c RAWRITE.EXE lub dd.

Kiedy ju� to zrobi�e�, mo�esz uruchomi� konsol� SRM i u�y� jednej z jej wielu komend do za�adowania MILO. Na przyk�ad, je�eli chcesz za�adowa� MILO z dyskietki startowej, powiniene� u�y� nast�puj�cej 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
####...

Nast�puj�ce systemy napewno posiadaj� konsol� SRM:

5.6 Informacje o p�ytach g��wnych

AXPPCI33 (NoName)

P�yta NoName mo�e �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). Mo�na te�, u�ywaj�c programu zarz�dzaj�cego pami�ci� flash, dostarczanego z MILO, mo�esz po za�adowaniu Miniloadera wypali� jego obraz w tak� pami�� (Sekcja korzystanie z programu zarz�dzaj�cego pami�ci� flash). Jednak�e musisz pami�ta�, �e kiedy to zrobisz, stracisz poprzedni obraz tam zapisany, poniewa� p�yta posiada miejsce tylko na jeden.

Spos�b, w jaki NoName uruchamia system jest kontrolowany zestawem zworek na p�ycie, J29 i J28. Wygl�daj� one nast�puj�co:

                 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, kt�re nas interesuj�, to piny 1-3 zworki J28, kt�re �aduj� konsol�/�adowacz z pami�ci flash, oraz piny 1-3 zworki J29, kt�re uruchamiaj� konsol� lub �adowacz z dyskietki startowej. Pierwsze za�adowanie MILO musi by� przeprowadzone przy u�yciu drugiej opcji.

Kiedy ju� wybierzesz �adowanie systemu z dyskietki ustawiaj�c odpowiedni� zwork�, w�� dyskietk� startow� SRM zawieraj�c� MILO do stacji i zresetuj komputer. Za par� sekund (po zga�ni�ciu lampki stacji dysk�w) ekran powinien zrobi� si� bia�y, a MILO b�dzie m�wi� ci co si� dzieje.

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

AlphaPC64 (Cabriolet)

AlphaPC64 mo�e �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 P�yt Ewaluacyjnych). Wszystkie te funkcj� znajduj� si� w pamieci flash, w kt�rej znajduje si� jeszcze miejsce na dodanie MILO, w celu �adowania go bezpo�rednio. Mo�na u�y� programu zarz�dzania pami�ci� flash, uruchamianego z MILO, a wi�c kiedy jest on uruchomiony, mo�e by� wczytany do pami�ci nieulotnej (Sekcja u�ywanie programu zarz�dzania pami�ci� flash). System obs�uguje zmienne �rodowiskowe MILO.

Mo�na wybra� opcj� �adowania (i MILO, kiedy znajduje si� w pami�ci flash) za pomoc� kombinacji zworek i opcji inicjalizacji, kt�ra jest zapisywana w NVRAM zegara TOY.

Zworka s�u��ca do tego celu to J2, bity SP o numerach 6 i 7 maj� nast�puj�ce znaczenie:

A wi�c, je�eli SP 7 jest wy��czony, �adowany b�dzie Monitor P�yt Ewaluacyjnych, poniewa� jest zawsze pierwsz� opcj� w pami�ci flash. Kiedy SP 7 jest w��czony, wybrany zostanie obraz z zegara TOY. Zar�wno Monitor, firmware Windows NT ARC, jak i MILO obs�uguj� wyb�r opcji inicjalizacyjnej, ale musisz by� bardzo ostro�ny u�ywaj�c tej metody. Nie mo�esz na przyk�ad ustawi� opcji inicjalizacyjnej tak, �eby nast�pnym razem system �adowa� MILO, kiedy u�ywasz Windows NT ARC, poniewa� pozwala on tylko na ustawienie Monitora Ewaluacyjnego lub NT ARC jako opcji �adowania.

W celu zapisania MILO w pami�ci flash za pomoc� Monitora P�yt Ewaluacyjnych, b�dziesz potrzebowa� obrazu przystosowanego do tej metody �adowania. Procedura kompilacji tworzy plik MILO.rom, ale r�wnie dobrze mo�esz stworzy� taki plik jedn� z komend Monitora:

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

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

Za�aduj ten obraz do pami�ci (komend� flload, netload itd. (NIE fl/net boot tylko load - przyp. t�um.)) pod adres 0x200000 i wypal we flash'u:

AlphaPC64> flash 200000 8

(200000 to miejsce w pami�ci obrazu, kt�ry ma by� wypalony, a 8 to segment, w kt�rym umieszczasz obraz. Istnieje 16 1024*64 bajtowych segment�w w pami�ci flash, Debug Monitor znajduje si� w segmencie pierwszym, a Windows NT ARC w czwartym).

Ustaw numer obrazu, kt�ry b�dzie �adowany przez SROM poprzez zapisanie jego numeru w zegarze TOY.

AlphaPC64> bootopt 131

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

Wy��cz zasilanie, zewrzyj si�dm� zwork� i w��cz komputer. Powiniene� zobaczy� MILO budz�cego si� do �ycia. Je�eli nie, wyjmij 7 zwork� i zresetuj Monitor Ewaluacyjny.

EB66+

EB66+, tak jak wszystkie P�yty Ewaluacyjne Alpha zbudowane przez Digitala, posiada ,,Evaluation Board Debug Monitor'', mo�na wi�c uruchamia� MILO przez niego (Sekcja �adowanie z Monitora Ewaluacyjnego). Dosy� cz�sto (cho� nie zawsze) p�yty, kt�re wyeluowa�y z EB66+, r�wnie� posiadaj� Monitor. Zazwyczaj p�yty te zawieraj� Windows NT ARC firmware (Sekcja �adowanie przez Windows NT ARC). Mo�na te� skorzysta� z programu zarz�dzania pami�ci� flash, kiedy MILO jest uruchomiony (Sekcja u�ywanie programu zarz�dzaj�cego pami�ci� flash). System ten obs�uguje zmienne �rodowiskowe MILO.

P�yta g��wna posiada miejsce na kilka obraz�w flash, s� one kontrolowane zworkami. Dwa banki zworek (J18 i J16) znajduj� si� na dole p�yty, po �rodku jej szeroko�ci (je�eli Alpha jest na g�rze). Mo�esz wybra� pomi�dzy opcjami �adowania (i MILO, je�eli zosta� zapisany w pami�ci flash), u�ywaj�c kombinacji zworek i opcji inicjalizacji zapisanej w NVRAM zegara TOY.

Kiedy zworka 7-8 banku J18 jest w��czona, obraz �adowania jest opisany przez opcj� inicjalizacyjn�. Je�eli s� one wy��czone, za�adowany zostanie Monitor P�yt Ewaluacyjnych.

Procedura wypalania obrazu w pami�ci flash przez Monitor Ewaluacyjny jest identyczna, jak w przypadku AlphaPC64 (Sekcja AlphaPC64).

EB64+/Aspen Alpine

System ten jest podobny do AlphaPC64, nie posiada jednak pami�ci flash do nagrania MILO. EB64+ posiada dwa ROMy, z kt�rych jeden zawiera firmware Windows NT ARC (Sekcja �adowanie z firmware'u Windows NT ARC), a drugi Monitor P�yt Ewaluacyjnych (Sekcja �adowanie z Monitora Ewaluacyjnego).

Aspen Alpine posiada tylko jeden ROM - Windows NT ARC.

Universal Desktop Box (Multia)

Jest to system bardzo kompaktowy, sprzedawany jako ca�y komputer, oparty na 21066. Posiada on urz�dzenie graficzne TGA (21030). Chocia� mo�na wepchn�� do niego kart� graficzn� PCI o ma�ym rozmiarze, poczekaj lepiej na pe�n� obs�ug� TGA w XFree86. P�yta posiada firmware Windows NT ARC, z kt�rego mo�na �adowa� MILO (Sekcja ( �adowanie z firmware'u Windows NT ARC).

EB164

EB164, tak jak wszystkie p�yty ewaluacyjne Digitala, posiada Monitor P�yt Ewaluacyjnych, mo�na wi�c za jego pomoc� �atwo �adowa� MILO (Sekcja �adowanie z Monitora Ewaluacyjnego). Dosy� cz�sto (cho� nie zawsze) p�yty, kt�re wyeluowa�y z EB164, tak�e zawieraj� Monitor. Zazwyczaj, p�yty EB164 posiadaj� firmware Windows NT ARC (Sekcja �adowanie z firmware'u Windows NT ARC). Dost�pna jest te� konsola SRM (Sekcja �adowanie MILO z konsoli SRM). Dzi�ki programowi do zarz�dzania pami�ci� flash uruchamianemu z MILO, mo�na zapisa� jego obraz w pami�ci flash (kiedy MILO ju� dzia�a) (Sekcja U�ywanie programu zarz�dzania pami�ci� flash). System obs�uguje zmienne �rodowiskowe MILO.

P�yty EB164 posiadaj� kilka obraz�w �aduj�cych, kontrolowanych zworkami. Dwuzworkowy bank nas interesuj�cy to J1, znajduje si� on w lewym, dolnym rogu p�yty (kiedy Alpha jest na g�rze). Mi�dzy opcjami �adowania (oraz MILO, je�eli zosta� zapisany w pami�ci flash) mo�esz prze��cza� si� u�ywaj�c kombinacji zworek i opcji inicjalizacyjnej, zapisanej w NVRAMie zegara TOY.

Kiedy zworka SP-11 banku J1 jest zwarta, �adowany b�dzie obraz opisany opcj� inicjalizacyjn�, a je�eli jest rozwarta, �adowany b�dzie Monitor P�yt Ewaluacyjnych.

Wypalanie obrazu w pami�ci flash przeprowadza si� dok�adnie tak, jak w AlphaPC64 (Sekcja AlphaPC64).

PC164

PC164, jak wszystkie P�yty Ewaluacyjne Alpha Digitala, posiada Monitor P�yt Ewaluacyjnych, jest to wi�c pierwsza mo�liwo�� �adowania MILO (Sekcja �adowanie z monitora ewaluacyjnego). Dosy� cz�sto (cho� nie zawsze) p�yty, kt�re wyeluowa�y z PC164, tak�e posiadaj� Monitor. Zazwyczaj p�yty te posiadaj� firmware Windows NT ARC (Sekcja �adowanie z Windows NT ARC). Jest te� dost�pna konsola SRM (Sekcja �adowanie MILO z konsoli SRM). Mo�na r�wnie� u�y� programu do zarz�dzania pami�ci� flash, uruchamianego z MILO, a wi�c kiedy Miniloader dzia�a, mo�e by� zapisany w pami�ci flash (Sekcja u�ywanie programu zarz�dzaj�cego pami�ci� flash). System obs�uguje zmienne �rodowiskowe MILO.

Systemy te posiadaj� kilka opcji �adowania w pami�ci flash, kontrolowanych przez zworki. G��wny blok zworek, J30, zawiera zworki konfiguracji systemu, oraz zwork� CF6, kt�ra, je�eli w��czona, uruchomi Monitor Ewaluacyjny. Standardowo zworka ta jest wy��czona.

Wypalanie obrazu do pami�ci flash za pomoc� Monitora P�yt Ewaluacyjnych przeprowadza si� identycznie, jak w przypadku AlphaPC64 (Sekcja AlphaPC64).

XL266

XL266 jest jedn� z p�yt z rodziny system�w znanych jako Avanti. Posiada oddzieln� kart� zawieraj�c� procesor i pami�� cache, do��czan� do p�yty pod prawid�owym k�tem. P�yta ta mo�e zast�pi� sw�j odpowiednik - p�yt� do Pentium.

Niekt�re z tych system�w posiadaj� konsol� SRM, a inne, np. w�a�nie XL266 posiadaj� jedynie firmware Windows NT ARC (Sekcja �adowanie z firmware'u Windows NT ARC).

Oto moja lista kompatybilnych system�w:

Uwaga: System kt�rego u�ywa�em do rozwoju MILO, to XL266 i dlatego jest to jedyny system, kt�rego dzia�anie mog� zagwarantowa�. Jednak�e technicznie wszystkie powy�sze systemy s� odpowiednikami, maj� te same chipsety oraz mechanizmy obs�ugi przerwa�.

Platform2000

Jest to system oparty na 233MHz 21066.

6. Interfejs u�ytkownika MILO

Kiedy poprawnie zainstalowa�e�/za�adowa�e�/uruchomi�e� MILO, zobaczysz znak zach�ty MILO> (od MIniLOader, Mini�adowacz) wy�wietlony na ekranie. Jest to bardzo prosty intefejs u�ytkownika, kt�rego musisz u�y� w celu uruchomienia obrazu j�dra Linuxa. Wpisanie ,,help'' jest dobrym pomys�em, poniewa� wy�wietla przydatny opis komend.

6.1 Komenda ,,help''

Jest to chyba najbardziej po�yteczna 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] [urz�dzenie:[katalog]]
                               - Lista plik�w w katalogu danego urz�dzenia
boot [-t fs] [urz�dzenie:plik] [tekst �adowania]
                               - Za�aduj Linuxa z pliku na danym urz�dzeniu
run [-t fs] [urz�dzenie:plik]
                               - Uruchom oddzielny program z podanej �cie�ki
show                           - Poka� wszystkie znane urz�dzenia i systemy plik�w
set ZMIENNA WARTOSC            - Przypisuje zmiennej ZMIENNA wartosc WARTOSC
unset ZMIENNA                  - Kasuje podan� zmienn�
reset                          - Skasuj wszystkie zmienne
print                          - Poka� obecne ustawienia zmiennych
help [var]                     - Wy�wietl ten tekst pomocy

Urz�dzenia podaje si� jako: fd0, hda1, hda2, sda1...
U�yj opcji ,,-t nazwa-systemu-plik�w'', je�eli chcesz u�ywa�
  czego� innego ni� standardowy system plik�w (,,ext2'').
U�yj komendy ,,show'', �eby wy�wietli� znane urz�dzenia i systemy plik�w.
Wpisz ,,help var'', �eby uzyska� list� zmiennych.

Uwaga: komenda bootopt wyst�puje tylko w systemie AlphaPC64 (i podobnych). Odwo�aj si� do dokumentacji p�yty, �eby dowiedzie� si�, co ona znaczy.

Urz�dzenia. Dop�ki nie u�yjesz komendy, kt�ra musi u�y� urz�dzenia, nie b�dzie mia�a miejsca jego inicjalizacja. Pierwsze show, ls, boot lub run, zawsze spowoduj� inicjalizacj� urz�dze� w MILO. Urz�dzenia s� nazywane dok�adnie w ten sam spos�b, co w Linuxie. A wi�c, pierwszy dysk IDE b�dzie nazywa� si� ,,hda'', a pierwsza partycja ,,hda1''. U�yj komendy ,,show'', �eby wy�wietli� dost�pne urz�dzenia.

Systemy plik�w. MILO obs�uguje trzy systemy plik�w - MSDOS, EXT2 i ISO9660. Je�eli urz�dzenie jest dost�pne w systemie, mo�na wykona� komendy ls, boot i run na obrazie zapisanym na tych systemach plik�w. Standardowy system MILO to EXT2, dlatego b�dziesz musia� powiedzie� MILO, �e obecny jest inny system plik�w. Wszystkie komendy u�ywaj�ce nazw plik�w pozwalaj� przekaza� do nich typ systemu plik�w, u�ywaj�c opcji -t [nazwa systemu plik�w]. A wi�c je�eli chcesz wy�wietli� zawarto�� CD ROMu SCSI, mo�esz napisa�:

MILO> -t iso9660 scd0:

Zmienne. MILO posiada kilka ustawialnych zmiennych, u�atwiaj�cych proces �adowanie. Je�eli �adujesz MILO przez Windows NT ARC, MILO u�ywa zmiennych ustawionych przez to firmware. W niekt�rych systemach (np. AlphaPC64), MILO tworzy w�asn� list� zmiennych, kt�re nie zmieniaj� si� przy ka�dym �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 kt�re uwa�a MILO:
  MEMORY_SIZE      - Rozmiar pami�ci systemu w megabajtach
  BOOT_DEV         - Definiuje domy�lne urz�dzenie �adowania
  BOOT_FILE        - Definiuje domy�lny plik �adowania
  BOOT_STRING      - Definiuje tekst przekazywany do j�dra podczas startu
  SCSIn_HOSTID     - Definiuje identyfikator hosta n-tego kontrolera SCSI.
  AUTOBOOT         - Je�eli jest ustawiona, MILO pr�buje �adowa� system po w��czeniu
                     zasilania i przechodzi do linii komend tylko w przypadku b�edu.
  AUTOBOOT_TIMEOUT - Ile sekund MILO ma czeka� przed auto�adowaniem.

6.2 �adowanie Linuxa

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

Zauwa�, �e wersja MILO nie musi odpowiada� wersji j�dra, kt�re �adujesz. Linuxa �aduje si� nast�puj�c� komend�:

MILO> boot [-t system-plik�w] urz�dzenie:nazwa-pliku [[opcja-�adowania] [opcja-�adowania] ...]

Gdzie urz�dzenie jest nazw� pliku urz�dzenia, kt�rego chcesz u�ywa�, a nazwa-pliku jest nazw� obrazu j�dra Linuxa. Wszystkie argumenty podane po nazwie pliku s� przekazywane bezpo�rednio do j�dra.

Je�eli instalujesz Red Hat'a, b�dziesz musia� poda� urz�dzenie / i nie tylko. Powiniene� u�y� komendy

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

MILO b�dzie automatycznie zawiera� urz�dzenia wkompilowane w tw�j vmlinux. Testowa�em sterowniki do stacji dysk�w, IDE i kilka sterownik�w SCSI (np. NCR 810). Wszystkie dzia�aj� poprawnie. Wa�ne jest te� poprawne ustawienie identyfikatora hosta SCSI. Domy�lnie MILO zainicjalizuje go na najwy�szej mo�liwej warto�ci (7), co powinno dzia�a� poprawnie. Jednak�e je�eli chcesz, mo�esz i tak ustawi� identyfikator hosta n-tego kontrolera SCSI w systemie, ustawiaj�c zmienn� �rodowiskow�SCSIn_HOSTID na odpowiedni� warto��. Na przyk�ad, �eby ustawi� hostid pierwszego kontrolera na 7, powiniene� wpisa� nast�puj�ce polecenie w linii polece� MILO:

setenv SCSI0_HOSTID 7

6.3 Resetowanie Linuxa

Czasami b�dziesz chcia� prze�adowa� dzia�aj�cego Linuxa komend� shutdown -r now. W takim przypadku j�dro Linuxa oddaje kontrol� MILO (przez odwo�anie CallPAL HALT). Z tego powodu MILO zostawia skompresowan� kopi� samego siebie w pami�ci i wykrywa �e system jest prze�adowywany, korzystaj�c z informacji przetrzymywanych w HWRPB (Hardware Restart Parameter Block, Blok Parametr�w Restartu Urz�dzenia). Zaczyna wtedy prze�adowanie, u�ywaj�c dok�adnie tej samej komendy, kt�ra zosta�a u�yta do �adowania j�dra Linuxa ostatnim razem. MILO czeka przez 30 sekund przed ponownym za�adowaniem j�dra, co pozwala przerwa� ten proces i za�adowa� inne j�dro, w jakikolwiek spos�b.

6.4 Komenda ,,bootopt''

W systemach z pami�ci� flash, takich jak AlphaPC64, EB164 i EB66+ istnieje kilka opcji �adowania. S� one zmieniane komend� bootopt. Posiada ona jeden argument, numer dziesi�tny, kt�ry jest typem obrazu do za�adowania po w��czeniu zasilania/prze�adowaniu systemu.

0 �adowanie Monitora P�yt Ewaluacyjnych,
1 �adowanie firmware'u Windows NT ARC.

W celu �adowania MILO z pami�ci flash, potrzebna jest opcja inicjalizacyjna, znacz�ca ,,za�aduj N-ty obraz z pami�ci flash''. Jako argument, musisz poda� 128 + N, wi�c je�eli MILO jest trzecim obrazem, u�yjesz komendy

MILO> bootopt 131

Uwaga: B�d� bardzo ostro�ny z t� komend�. Nigdy nie ustawiaj bootopt na 0 (Monitor P�yt Ewaluacyjnych), zamiast tego u�yj zworek na p�ycie g��wnej.

7. U�ywanie programu zarz�dzaj�cego pami�ci� flash

Komenda run jest u�ywana do uruchamiania programu zarz�dzaj�cego pami�ci� flash (flash management utility, dalej b�d� nazywa� go ,,fmu'' - przyp. t�um.). Zanim zaczniesz, b�dziesz potrzebowa� urz�dzenia dost�pnego MILO i zawieraj�cego fmu. Mo�e on by� (tak jak vmlinux) spakowany gzipem. Fmu uruchamia si� nast�puj�c� komend�:

MILO> fd0:fmu.gz

Kiedy program zostanie za�adowany i zainicjalizowany, fmu poda troch� informacji o urz�dzeniu flash, oraz wy�wietli lini� polece�. Znowu, komenda help jest bardzo u�yteczna.

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

Flash device is an Intel 28f008SA            Urz�dzenie flash to Intel 28f008SA
  16 segments, each of 0x10000 (65536) bytes   16 segment�w, ka�dy po 0x10000 (65536) bajt�w
Scanning Flash blocks for usage              Wykrywam zaj�to�� blok�w Flash
Block 12 contains environment variables      Blok 12 zawiera zmienne �rodowiskowe
FMU>                                         FMU>

Uwaga: W systemach obs�uguj�cych zmienne �rodowiskowe, gdzie istnieje wi�cej ni� jeden blok flash (np. AlphaPC64), fmu b�dzie szuka� bloku na zmienne �rodowiskowe MILO. Je�eli taki blok istnieje, fmu powie, gdzie si� on znajduje. Je�li nie, musisz u�y� komendy environment, �eby ustawi� blok i go zainicjalizowa�. W powy�szym przyk�adzie, blok 12 zawiera zmienne �rodowiskowe MILO.

7.1 Komenda ,,help''

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                - Wy�wietl zawarto�� pami�ci flash
program             - Zapisz obraz w pami�ci flash
quit                - Zako�cz program
environment         - Ustaw blok, kt�ry powinien zawiera� zmienne �rodowiskowe
bootopt numer       - Wybierz typ firmware'u do u�ycia przy nast�pnym uruchomieniu
help                - Wy�wietl ten tekst pomocy
FMU>

Uwaga: Komendy environment i bootopt s� dost�pne tylko w p�ytach EB66+, AlphaPC64, EB164 i PC164 (i ich klonach).

7.2 Komenda ,,list''

Komenda ,,list'' pokazuje zawarto�� pami�ci flash. Je�eli istnieje wi�cej ni� jeden blok, pokazana jest zawarto�� ka�dego. W poni�szym przyk�adzie mo�esz zobaczy�, �e Windows NT ARC u�ywa 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
Wy�wietlam Obrazy Flash
  Obraz Flash (pocz�tek - blok 0)
    Firmware Id:  0 (Alpha Evaluation Board Debug Monitor)
    Rozmiar obrazu: 191248 bajt�w (3 bloki)
    Wykonuje si� na 0x300000
  Obraz Flash (pocz�tek - blok 3)
    Firmware Id:  1 (Windows NT ARC)
    Rozmiar obrazu: 277664 bajt�w (5 blok�w)
    Wykonuje si� na 0x300000
  Obraz Flash (pocz�tek - blok 8)
    Firmware Id:  7 (MILO/Linux)
    Rozmiar obrazu: 217896 bajt�w (4 bloki)
    Wykonuje si� na 0x200000
FMU>

7.3 Komenda ,,program''

Fmu zawiera skompresowan� kopi� obrazu flash MILO. Komenda ,,program'' pozwala zapisa� ten obraz w pami�ci flash. Komenda ta pozwoli ci wycofa� si�, ale zanim j� uruchomisz, powiniene� u�y� komendy ,,list'', �eby zobaczy� gdzie nagra� MILO. Je�eli MILO znajduje si� ju� w pami�ci 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 bajt�w (4 bloki)
    Wykonuje si� na 0x200000
Znaleziono istniej�cy obraz w bloku 8
Nadpisa� istniej�cy obraz? (N/y)? y
Czy napewno chcesz to zrobi�? (y/N)? y
Kasowanie blok�w do programowania: 8 9 10 11
Programowanie obrazu do pami�ci flash
Szukanie zaj�tych blok�w Flash
FMU>

Poczekaj, a� proces zostanie zako�czony przed wy��czeniem systemu.

Uwaga: Nie mog� wyrazi� dostatecznie mocno, jak musisz by� ostro�ny, �eby nie nadpisa� istniej�cego obrazu flash, kt�ry mo�e by� ci potrzebny, lub nie zniszczy� swojej p�yty g��wnej. Dobr� zasad� jest niekasowanie Monitora Ewaluacyjnego. (!!! - przyp. t�um.)

7.4 Komenda ,,environment''

Wybiera blok flash maj�cy zawiera� zmienne �rodowiskowe MILO.

7.5 Komenda ,,bootopt''

Jest to ta sama komenda, co istniej�ca w MILO, zobacz sekcj� ( Komenda ,,bootopt'').

7.6 Komenda ,,quit''

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

8. Ograniczenia

Niestety, �wiat nie jest doskona�y, jest wi�c jak zawsze par� ogranicze�, o kt�rych powiniene� wiedzie�.

MILO nie jest przeznaczony do �adowania system�w operacyjnych innych ni� Linux, jednak�e mo�e �adowa� obrazy ��czone do dzia�ania w tym samym miejscu pami�ci co Linux (czyli 0xFFFFFC0000310000). W ten spos�b mo�e dzia�a� fmu.

�r�d�a kodu PAL za��czone w miniboot/palcode/co�tam s� poprawne, jednak�e s� problemy, kiedy zostaj� zbudowane przy u�yciu najnowszego gas (assembler GNU - przyp. t�um.). Mo�na kompilowa� je, u�ywaj�c bardzo starego gas'a za��czonego w oprogramowanu do P�yt Ewaluacyjnych Alpha (i w ten spos�b zosta�y zbudowane). Pr�buj� nam�wi� kogo�, �eby naprawi� nowy gas. Obecnie jednak, jako obej�cie, umie�ci�em pre-kompilowany kod PAL dla obs�ugiwanych p�yt, a David Mosberger-Tang umie�ci� naprawiony gas na swoim serwerze ftp.

9. Rozwi�zywanie problem�w

Oto kilka cz�sto spotykanych problem�w razem z rozwi�zaniami.

Czytanie dyskietek MS-DOS z Monitora P�yt Ewaluacyjnych.

Niekt�re starsze wersje Monitora P�yt Ewaluacyjnych (przed 2.0) mia�y problemy z odczytywaniem dyskietek w formacie DOS zapisanych pod Linuxem. Zazwyczaj Monitor mo�e wczyta� kilka pierwszych sektor�w, ale po chwili wchodzi w niesko�czon� p�tl� b��d�w o z�ych sektorach. Istnieje te� pewna niekompatybilno�� mi�dzy formatem DOS oczekiwanym przez Monitor Ewaluacyjny, a Linuxow� implementacj� DOSFS. �eby skr�ci� t� d�ug� histori�: je�eli napotkasz ten problem, spr�buj u�y� DOS'a do zapisania dyskietki. Na przyk�ad je�eli nie �aduje si� plik MILO.cab, u�yj komputera z DOSem - w�� dyskietk� i napisz:

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

Spr�buj ponownie wystartowa� MILO z tej dyskietki. Powinno to rozwi�za� problem.

MILO wy�wietla d�ug� sekwencj� znak�w ,,o>'' i nie przyjmuje polece�.

Dzieje si� to zazwyczaj kiedy MILO zosta� skompilowany z portem COM1 jako drugorz�dnym urz�dzeniem konsoli. W takim przypadku, MILO kopiuje wyj�cie na port COM1 i akceptuje wej�cie r�wnie� z tego portu. Jest to �wietne do wykrywania b��d�w, ale nie tak �wietne je�eli masz pod��czone co� innego ni� terminal. Je�eli to si� dzieje, od��cz lub wy��cz to urz�dzenie, do chwili uruchomienia j�dra Linuxa. Kiedy Linux dzia�a, wszystko b�dzie dzia�a�o tak jak powinno.

MILO skar�y si� na z�y numer magiczny obrazu j�dra

Starsze wersje MILO nie obs�ugiwa�y formatu binarnego ELF, nie mog�y wi�c rozpozna� obrazu ELF. Je�eli napotkasz ten problem, �ci�gnij najnowsz� wersj� MILO. Wszystkie wersje po 2.0.20 obs�uguj� ELF. Z drugiej strony, mo�e to by� wina zniszczonego obrazu. Powiniene� te� pami�ta�, �e MILO sam nie rozpoznaje jeszcze obraz�w skompresowanych GZIP'em - musisz doda� rozszerzenie ,,.gz'' do nazwy pliku.

MILO wy�wietla ,,...turning on virtual addressing and jumping to the Linux Kernel'' i nic si� nie dzieje

Oczywisty problem, to to, �e j�dro jest �le skompilowane, albo skompilowane na inny system Alpha. Inny to kompilacja j�dra na urz�dzenie VGA, kiedy p�yta posiada TGA (Zlxp) (lub odwrotnie). Dobrze jest wbudowa� w j�dro wyj�cie na COM1 i pod��czy� terminal, lub spr�bowa� u�y� j�dro z dystrybucji Linuxa, kt�r� zainstalowa�e�.

MILO nie rozpoznaje dysku SCSI

Standardowe obrazy MILO posiadaj� wszystkie stabilne (dla Alphy) sterowniki urz�dze� (na razie s� to NCR 810, QLOGIC ISP, Buslogic i Adaptec 2940/3940) (uwaga - jest to stare HOWTO, a wi�c du�o si� zmieni�o - przyp. t�um.). Je�eli twoja karta nie jest do��czona, mo�e to znaczy�, �e sterownik dla Alphy nie jest jeszcze stabilny. Spr�buj u�y� najnowszych obraz�w MILO. Mo�esz dowiedzie� si�, jakie urz�dzenia SCSI zosta�y wkompilowane w obraz MILO, u�ywaj�c komendy ,,show''.

10. Podzi�kowania

Chcia�bym podzi�kowa�:

Jest jeszcze kilka rzeczy, kt�re powinny by� zrobione, wi�c je�eli chcesz co� doda�, daj mi zna� ( david.rusling@reo.mts.dec.com), �eby�my nie duplikowali swoich wysi�k�w.

Na ko�cu, du�e ,,dzi�kuj�'' dla Digitala, za produkowanie tak �wietnego procesora (i p�acenie mi za to).

11. Od t�umacza

Je�eli znajdziesz jakie� b��dy, daj mi zna�. #

Hosting by: Hurra Communications Sp. z o.o.
Generated: 2007-01-26 18:02:23