eXec
strona główna


Linux APUS na Amidze 1200

Szymon Tomzik


Pingwin z chęcią pomoże Amidze

Brakuje nowego oprogramowania dla Amigi. Przeglądarki nie radzą sobie ze wszystkimi stronami WWW, są też problemy z dokumentami zapisanymi w niektórych formatach. Można kupić peceta i postawić obok Amigi, ale PoCo? Mi w tych trudnych sytuacjach pomaga Linux.

Pingwin nie przyleciał z kosmosu

linus.jpg (6921 bytes)

Linux to system operacyjny należący do rodziny Unix, z którego można korzystać na wielu rodzajach komputerów, w tym na Amidze. Zaczął go tworzyć fiński informatyk Linus Torvalds (na zdjęciu) w końcu lat osiemdziesiątych. Źródła Linuxa po raz pierwszy pojawiły się w Internecie w 1991 roku i początkowo nikt nimi się nie interesował. Po pewnym czasie jednak wzbudziły one duże zainteresowanie programistów z całego świata, którzy swoją pracą przyczynili się do popularyzacji tego systemu. Jądro, o które oparta jest praca systemu, modyfikowane jest przez wielu ludzi, lecz nad jego rozwojem czuwa dalej Linus Torvalds i on nadaje mu miano stabilnego, przydzielając odpowiedni numer identyfikacyjny (np.: 2.0.36 lub 2.2.13), gdzie druga cyfra po kropce, jeśli jest parzysta, oznacza jądro stabilne.

Pingwin lubi różne ubrania

Jądro wraz z oprogramowaniem potrzebnym do pracy systemu nazywamy dystrybucją. Dystrybucji Linuxa istnieje kilkanaście. Najbardziej znane, to np.: RedHat, Debian, SlackWare, Mandrake. Każda dystrybucja różni się od siebie jedynie sposobem przygotowania i dostarczonymi narzędziami, więc nie ma obawy, że jakieś programy nie będą działać, jeśli mamy zainstalowaną inną dystrybucję.

Linux APUS (linux-apus.sourceforge.net), czyli amigowy pingwin PPC

W 1997 roku wystartował projekt mający na celu stworzenie portu Linuxa przeznaczonego dla komputerów Amiga z kartami PowerPC (Amiga PowerUp Systems). Z czasem APUS stał się częścią ogólnie dostępnego portu Linuxa dla rodziny procesorów PowerPC. Możemy go więc znaleźć np. na płytach dystrybucji Debian przeznaczonej dla architektury PowerPC (www.debian.org/ports/powerpc/inst/apus).

Debian GNU/Linux - król wśród pingwinów

officiallogo-100.jpg (8875 bytes)

Debian (www.debian.org) został utworzony w sierpniu 1993 roku przez Iana Murdocka i jest jedyną dystrybucją nie tworzoną centralnie. Tworzy go prawie tysiąc developerów z całego świata. Niewielu spotkało się osobiście. Komunikują się oni głównie przy pomocy poczty elektronicznej i IRC.

System Debian używa jądra Linux, a duża część podstawowych programów narzędziowych go tworzących pochodzi z projektu GNU (www.gnu.org), stąd nazwy: GNU/Linux.

Debian zawiera 15 000 pakietów (www.debian.org/distrib/packages) - skompilowanych programów zapakowanych do ładnego i łatwego w instalacji formatu. Wszystko to za darmo.

Układ przypomina nieco wieżę. Podstawą jest jądro. Na nim pracują podstawowe narzędzia. Wyżej są programy uruchamiane na komputerze. Na samym szczycie jest Debian - dokładnie organizujący i dopasowujący wszystko tak, aby wspólnie działało.

Edycje Debiana

Debian zawsze aktywnie opiekuje się przynajmniej trzema edycjami: stabilną, testową i niestabilną.

Edycja stabilna zawiera ostatnią oficjalnie wydaną dystrybucję Debiana. Jest to wydanie przeznaczone do użytku produkcyjnego. Obecną stabilną edycją (14 płyt CD lub 2 DVD) jest wersja 3.1r0, o nazwie kodowej "sarge".

Edycja testowa zawiera pakiety, które nie zostały jeszcze przyjęte do edycji stabilnej, ale oczekują na przyjęcie. Główną zaletą używania tej dystrybucji są nowe wersje zawartych w niej programów, a główną wadą - fakt, że nie jest dokładnie przetestowana i nie jest oficjalnie wspierana przez grupę zajmującą się bezpieczeństwem Debiana. Obecną testową edycją jest "etch".

Edycja niestabilna jest miejscem, w którym zachodzi rozwój Debiana. Ogólnie mówiąc, używają jej rozwijający i ci, którzy lubią ryzyko. Edycja niestabilna nosi nazwę "sid".

Debian GNU/Linux 3.0 "woody" - przestarzała edycja stabilna
Debian GNU/Linux 2.2 "potato" - przestarzała edycja stabilna
Debian GNU/Linux 2.1 "slink" - przestarzała edycja stabilna
Debian GNU/Linux 2.0 "hamm" - przestarzała edycja stabilna

Kolejne nazwy kodowe edycji pochodzą od postaci z filmu "Toy Story".

Wymagania sprzętowe

Amiga PowerUp Systems (APUS) to komputery Amiga z kartami BlizzardPPC i CyberStormPPC. Obsługiwane są układy ECS i AGA, jednak do sensownej pracy wymagana jest karta graficzna (najlepiej BVisionPPC lub CyberVisionPPC, ale działają także inne karty). APUS nie obsługuje niestety mostka PCI - Mediator i kontrolera IDE - FastATA (uruchomiony sterownik ata3.driver uniemożliwia botowanie Linuxa!). Ja zainstalowałem Debiana na komputerze Amiga 1200 z kartą BlizzardPPC oraz kartą graficzną BVisionPPC (zainstalowałem go także na drugiej Amidze, którą posiadam - micro Amidze One, ale o tym innym razem).

1. FTP i płyty

Gdy pisałem ten tekst (styczeń 2005) edycją stabilną był "woody". Na nim więc oparłem dalszą część artykułu. Niestety obecnie z oficjalnych serwerów Debiana nie można już pobrać plików ISO z tą edycją (zastąpił ją "sarge"). Znalazłem ją jednak tutaj:

http://ftp.nluug.nl/ftp/pub/os/Linux/distr/debian-CD/images/3.0_r5/powerpc/

Są tam obrazy 7 płyt. Do instalacji Debiana wystarczy nam pierwsza płyta (binary-1), która zawiera także najpopularniejsze oprogramowanie. Płyta 2 zawiera trochę mniej popularne pakiety, płyta 3 jeszcze mniej popularne, itd. Płyta 3 i płyty wyższe przydadzą Ci się tylko wtedy, gdy masz specjalne potrzeby. W przypadku gdybyś potrzebował kiedyś pakietu, który nie będzie się znajdował na pobranych przez Ciebie płytach, możesz zawsze zainstalować ten pakiet bezpośrednio z Internetu.

Pobieramy wersję non-US pierwszej płyty (najlepiej zrobić to klientem FTP - np. AmiTradeCenter), a dokładnie plik o nazwie:

debian-30r5-powerpc-binary-1_NONUS.iso

Druga wersja (bez NONUS) jest przydatna tylko sprzedawcą płyt i serwerom lustrzanym znajdującym się w USA - jest ona pozbawiona programów, które używają opatentowanych w USA algorytmów.

Po pobraniu obrazu płyty należy przy pomocy stosownego programu (np. MakeCD) wypalić krążek CD-R, który można opisać w ten sposób:

Debian GNU/Linux 3.0 rev5
"woody"
Official powerpc Binary-1

www.debian.org/CD/artwork/ - tutaj znajdziemy różne projekty okładek płyt CD Debiana

2. Przygotowanie dysku

Partycje linuxowe należy ulokować w pierwszych 4GB na dysku twardym (ograniczają nas możliwości standardowego kontrolera IDE w Amidze). Trzeba pamiętać także o tym, aby zapewnić sobie dostęp do czytnika CD-ROM - musi on więc pracować na jednej taśmie z dyskiem twardym.

Ja wygospodarowałem 1GB dla Linuxa. Należy założyć dwie partycje - SWAP i ROOT. Polecam też założenie (jeżeli nie macie) partycji amigowej w systemie FastFileSystem (APUS nie obsługuje alternatywnych filesystemów typu SFS, AFS, PFS) do wymiany danych między systemem Amigi, a Linuxem.

SWAP - jest to partycja wymiany (partycja przekazana do dyspozycji pamięci wirtualnej), rozmiar jej ustawia się w zależności od ilości posiadanej pamięci RAM, zazwyczaj jest to 2x więcej. Przy większej ilości posiadanej pamięci nie jest konieczne posiadanie partycji wymiany, ale warto ja mieć.

ROOT - jest to podstawowa partycja w Linuxie.

Partycje przygotowujemy przy pomocy programu HDToolBox w następujący sposób:

swap1.jpg root1.jpg
  • zaznaczamy jej obszar i wpisujemy nazwę partycji
  • klikamy na "Zmień..."
swap2.jpg root2.jpg
  • wybieramy "Własny system plików"
  • dla partycji typu SWAP wpisujemy w pole "Identyfikator" wartość 0x53575000
  • dla partycji typu ROOT wpisujemy w pole "Identyfikator" wartość 0x4C4E5800
  • dla obu partycji należy koniecznie ustawić "Rezerwowe bloki" na 0 dla początku i końca

Zapisujemy zmiany w HDToolBox i restartujemy system (posiadacze kontrolera IDE - FastATA powinni jeszcze wyłączyć sterownik ata3.driver w sekwencji startowej!).

3. Bootstrap

Po restarcie systemu wkładamy pierwszą płytę Debiana do napędu CD-ROM i przegrywamy katalog "apus"

dists/woody/main/disks-powerpc/3.0.23-2002-05-21/apus/

w dowolne, wygodne dla nas miejsce na dysku twardym.

Przy pomocy programu DOpus4 (najlepiej zaznaczyć cały katalog "apus") lub komendy CLI "protect apus/#? RWED ADD ALL" zmieniamy bity protekcji w katalogu "apus" - pliki muszą stać się także plikami wykonywalnymi oraz zapisywalnymi.

Z tego (bh010623.lha) archiwum przegrywamy najnowsze wersje plików: "bootstrap", "ppcboot_pup" i "ppcboot_wup" do katalogu "apus/bootstrap".

Bootstap służy do załadowania jądra Linuxa i posiada następującą składnię:

bootstrap --apus "kernel options"

Gdzie "kernel options" to:

-k "nazwa pliku z jądrem Linuxa"

-r "nazwa pliku z obrazem ramdysku"

root="nazwa urządzenia z którego startujemy Linuxa"

video="zdefiniowanie sterownika oraz trybów wyświetlania"

przykłady:

a). video=amifb:vga

Sterownik "vga" (640x480) może być zamieniony na każdy inny zgodnie z amigowym nazewnictwem trybów wyświetlania, np. "pal", "dblntsc-lace", "multiscan".

b). video=pm2fb:mode:1024x768-75

Użytkownicy kart z procesorem Permedia2 podają jako sterownik "pm2fb:", a następnie rozdzielczość ekranu "mode:", np. "1024x768" oraz wartość odświeżania ekranu, np. "1024x768-100" dla 100kHz.

Posiadacze CyberVision64/3D jako sterownik podają "virge:", a potem rozdzielczość ekranu oraz ilość bitplane'ów (8 lub 16) co oznacza głębię kolorów ekranu, np. "1024x768-8" dla 256 kolorów.

c). video=amifb:disable - wyłączenie działania wbudowanych układów graficznych Amigi

nobats - użytkownicy kart BlizzardPPC z kontrolerem SCSI powinni użyć tej opcji

60nsram - skorzystaj z tej opcji jeżeli taka jest szybkość pamięci w Twojej karcie PPC

Korzystając z systemowego programu Unarc rozpakowujemy plik "apus/linux.bin" do katalogu "apus/bootstrap" (ma w nim się znaleźć plik "vmlinux"). Z kolei z katalogu "apus/images-1.44" przegrywamy plik "root.bin" również do katalogu "apus/bootstrap".

vmlinux - jądro systemu Linux w wersji 2.2.10
root.bin - obraz ramdysku z instalatorem dla Debiana

Edytujemy skrypt "Linux.ramdisk" dostosowując go do swojego sprzętu. U mnie wygląda on tak:

bootstrap --apus -k vmlinux -r root.bin root=/dev/ram video=pm2fb:mode:1024x768-75 video=amifb:disable 60nsram

Po zapisaniu skryptu klikamy na ikonkę "Linux.ramdisk" i system startuje z ramdysku, uruchamia się instalator.

4. Poszczególne kroki w instalatorze

a). wybieramy język polski

b). konfigurujemy klawiaturę - ja wybrałem "amiga-us"

c). przygotowujemy i dokonujemy aktywacji partycji wymiany (SWAP) - u mnie jest to partycja "hda4" i instalator automatycznie ją wykrywa (jeśli ma się starszy twardy dysk to można pokusić się o wyszukanie uszkodzonych fragmentów)

W Linuxie pierwszy dysk IDE nazywa się zawsze "hda", pierwsza partycja na tym dysku to "hda1" - nie ma oznaczenia partycji zerem! Drugi dysk IDE to "hdb", a trzeci to "hdc" itd. CD-ROM IDE widziany jest tak jak twardy dysk!

Dyski SCSI oznaczane są "sda", "sdb" itd. Cd-romy SCSI do "scd0" dla pierwszego cd-romu, "scd1" dla drugiego itd.

Amigowa partycja "DH0:" na pierwszym dysku IDE to więc dla Linuxa "hda1" ("sda1" na dysku SCSI).

hda - mój dysk twardy na pierwszej taśmie, ustawiony jako MASTER

DH0: - hda1
DH1: - hda2
DH2: - hda3
DH3: - hda4
DH4: - hda5

hdb - mój CD-ROM na pierwszej taśmie, ustawiony jako SLAVE

CD0: - hdb

Linux do wszystkich urządzeń odwołuje się inaczej niż Amiga - wszystkie urządzenia "znajdują się" w katalogu "/dev/", np. "/dev/hda1/".

d). przygotowujemy partycję Linuxa (ROOT - u mnie jest to "hda5") i montujemy ją jako główny system plików

e). instalacja jądra i modułów sterowników - pomijamy ten etap instalacji, gdyż pod APUSem on nie działa, a moduły zainstalujemy później "ręcznie"

f). przechodzimy do konfiguracji nazwy systemu - ja zostawiłem nazwę "debian"

g). następnie wkładamy pierwszą płytę Debiana do cd-romu i wybieramy opcję "instalacja systemu podstawowego"

h). po zakończeniu instalacji użytkownicy A1200 muszą jeszcze usunąć dwa skrypty: "hwclock.sh" i "hwclockfirst.sh", które zatrzymują start Linuxa na ich komputerach:
  • wybieramy opcję "uruchomienie powłoki"
  • listujemy katalog "init.d"
ls /target/etc/init.d/
  • kasujemy skrypty
rm /target/etc/init.d/hwclock.sh
rm /target/etc/init.d/hwclockfirst.sh
  • listujemy katalog "init.d", aby sprawdzić, czy pliki się skasowały
ls /target/etc/init.d/
  • wychodzimy z powłoki wpisując "exit"

i). restartujemy komputer

5. Bootstrap po raz drugi

W tym momencie zostałem zmuszony (po nieudanej próbie konfiguracji Debiana) do skorzystania z nowszej wersji jądra. W tym archiwum (kernel-image-apus_2.4.20-1.lha), w katalogu "boot" znajdziemy plik "vmlinuz-2.4.20-apus", który (np. korzystając z systemowego programu Unarc) rozpakowujemy do katalogu "apus/bootstrap/" - plik "vmapus" to właśnie jest ta nowsza wersja jądra (kernela).

Przygotowujemy skrypt, który wystartuje Linuxa z partycji ROOT. U mnie wygląda on tak:

bootstrap --apus -k vmapus root=/dev/hda5 video=pm2fb:mode:1024x768-75 video=amifb:disable 60nsram

Zapisujemy go jako "Linux" w katalogu "apus/bootstrap/".

Przed wystartowaniem Linuxa posiadacze kart PCMCIA powinni jeszcze doprowadzić do tego, aby karta nie była niewidoczna w programie PrepCard (proponuję wyłączenie CardReset w sekwencji startowej i ponowne załączenie komputera) - ten kernel bowiem nie poradzi sobie z kartą PCMCIA.

No i w końcu startujemy Debiana klikając na ikonkę "Linux".

6. Konfiguracja Debiana

Teraz proponuję wydrukować sobie 5, 6 i 7 rozdział z tego (debian_install.pdf) przewodnika.

Piąty rozdział jest zatytułowany "Konfiguracja systemu" i krok po kroku prowadzi on nas po programie konfiguracyjnym Debiana. Ze swojej strony mogę jedynie dodać, że na samym początku, pomiędzy punktem 5.1, a punktem 5.2, pojawia się u mnie konfiguracja klawiatury - wybieram "select keymap from full list" i "amiga-us". W punkcie 5.6 "Konfiguracja Apt" proponuję wybrać "Cancel" - lepiej to zrobić później.

Po zakończeniu konfiguracji Debiana i zalogowaniu się wpisujemy "shutdown -r now" - następuje odłączenie wszystkich urządzeń i restart komputera.

7. Powrót do starej wersji kernela i sposób na FastATA

Okazało się, że aby wystartować X-Window, musiałem powrócić do starej wersji kernela, w wersji 2.2.10, czyli do pliku "vmlinux" w skrypcie startującym Linuxa.

Przy okazji opiszę jak posiadacze kontrolera FastATA mogą uprościć sobie start Debiana. W ich wypadku bowiem pomyślny start Linuxa z poziomu Workbencha wiąże się z koniecznością każdorazowego nie aktywowania sterownika "ata3.driver". Można temu zaradzić instalując program AskMouse (AskMouse.lha) w sekwencji startowej:

---
;początek fragmentu mojej sekwencji startowej

SetPatch NONSD NOROMUPDATE QUIET

C:CardReset
C:CardPatch

(aktywacja karty PCMCIA, więcej na ten temat tutaj)

C:MakeDir RAM:T RAM:Clipboards RAM:ENV RAM:ENV/Sys
Assign >NIL: ENV: RAM:ENV
Assign >NIL: T: RAM:T

AskMouse R
IF WARN
C:Execute SYS:S/APUS
ENDIF

C:Version >NIL:
C:AddBuffers >NIL: DF0: 15
FailAt 21

C:CheckLMB
IF WARN
SYS:Prefs/ATA3Prefs
ENDIF
C:ata3.driver QUIET

C:Copy >NIL: ENVARC: RAM:ENV ALL NOREQ

Resident >NIL: C:Assign PURE
Resident >NIL: C:Execute PURE

Assign >NIL: CLIPS: RAM:Clipboards
Assign >NIL: REXX: S:
Assign >NIL: PRINTERS: DEVS:Printers
Assign >NIL: KEYMAPS: DEVS:Keymaps
Assign >NIL: LOCALE: SYS:Locale
Assign >NIL: LIBS: SYS:Classes ADD
Assign >NIL: HELP: LOCALE:Help DEFER

;koniec fragmentu mojej sekwencji startowej
---

gdzie skrypt "APUS" to np.:

cd dh2:apus/bootstrap/
bootstrap --apus -k vmlinux root=/dev/hda5 video=pm2fb:mode:1024x768-75 video=amifb:disable 60nsram

Od tej pory przytrzymanie prawego klawisza podczas startu komputera spowoduje zabotowanie się systemu Linux.