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:
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:
Supplementary menu...'' (menu
dodatkowe)Supplementary menu'' wybierz opcję ,,Set up the system...''
(ustaw system)Setup menu wybierz ,,Manage boot selection menu...''
(menu zarządzania opcjami ładowania)Boot selections menu'' wybierz ,,Add a boot selection''
(dodaj opcję ładowania)Floppy Disk 0''linload.exe'' jako katalog i nazwę pliku ładowacza systemu
(osloader)\'' jako katalog główny systemu operacyjnegoLinux'' jako nazwę tej opcji ładowaniaBoot selections menu'', wybierz w nim opcję
,,Change a boot selection option'', a w niej opcję, którą właśnie
stworzyłeśOSLOADFILENAME'', wpisz
w nim nazwę obrazu MILO, którego chcesz używać, np. ,,noname.arc, następnie
naciśnij return (enter).Boot selections menu''Setup Menu'' (lub naciśnij jeszcze raz ESC), a w nim
,,Supplementary menu'' i ,,Save Changes''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''.
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>
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.)
Istnieje kilka systemów, gdzie MILO może być wypalone we flash'u i ładowane bezpośrednio (a nie przez firmware Windows NT ARC):
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:
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 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+, 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).
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.
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, 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, 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 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ń.
Jest to system oparty na 233MHz 21066.