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
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
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://cdimage.debian.org/cdimage/archive/ (link zmodyfikowany, 2013-05-20)
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:
- zaznaczamy jej obszar i wpisujemy nazwę partycji
- klikamy na "Zmień..."
- 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 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"
- kasujemy skrypty
rm /target/etc/init.d/hwclockfirst.sh
- listujemy katalog "init.d", aby sprawdzić, czy pliki się skasowały
- 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 FastATAOkazał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.