Następna strona Poprzednia strona Spis treści

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.


Następna strona Poprzednia strona Spis treści