Linux to implementacja systemu UNIX rozpowszechniana caîkowicie za darmo, w przeciwieïstwie do System V, HPUX Hewlett Packarda czy Xenixa znanej i lubianej firmy Microshit Corporation. Dziaîa on dokîadnie tak jak oryginalny UNIX (wraz z rozszerzeniami wprowadzonymi w Systemie V i Berkeley BSD), lecz jego kod úródîowy jest inny niû w wersjach komercyjnych i jest równieû za darmo rozpowszechniany. Twórcâ Linuxa jest Linus Torvalds (linus.torvalds@helsinki.fi), jednak z czasem grono ludzi rozwijajâcych system znacznie sië powiëkszyîo i obecnia lista obejmuje kilkadziesiât nazwisk. Linux dziaîa na komputerach z procesorami Intel (minimum 386), Motorola (minimum 68020 + MMU), DEC Alpha, SPARC (stacje robocze Sun), MIPS (Silicon Graphics), a ostatnio rozpoczëîy sië prace nad wersjâ na Sony Playstation. Oznacza to moûliwoôê uruchamiania tych samych programów na wszystkich powyûszych konfiguracjach (oczywiôcie, jeûeli program jest w postaci úródîowej i zostanie skompilowany na danâ architekturë!). Istnieje równieû darmowa implementacja systemu X-Windows o nazwie XFree, która w poîâczeniu z Linuxem (a takûe szybkim procesorem, kartâ graficznâ, duûym dyskiem i mnóstwem pamiëci) pozwala zmieniê Amigë w stacjë roboczâ nie ustëpujâcâ Sunom i Hewlett Packardom ;-).
Przede wszystkim Linux jest systemem operacyjnym i nie moûe dziaîaê jako zadanie pod Amiga OS - w momencie startu przejmuje caîkowicie kontrolë nad komputerem. Jest system wielozadaniowym - to wîaôciwie na Amidze nie nowoôê, ale umoûliwia takûe wielodostëp, czyli pracë kilku uûytkowników jednoczeônie (przez sieê), a z tym Amiga juû radzi sobie trochë gorzej. Tak jak UNIX, Linux zapewnia ochronë pamiëci (do tego wîaônie potrzebny jest ukîad MMU), co w praktyce oznacza, ûe program nie jest w stanie zawiesiê caîego systemu - jeûeli wykona niedozwolonâ akcjë zostaje gîadko usuniëty i co waûne zwolnione zostajâ wszelkie uûywane przez niego zasoby. Tej cechy chyba najbardziej brakuje w Amiga OS - wystarczy úle napisana aplikacja, która zapisze ômieci do pamiëci uûywanej przez system i mamy Guru - w Linuxie jest to niemoûliwe. Dziëki sprzëtowemu stronnicowaniu pamiëci (to takûe dziëki wykorzystaniu MMU) system obsîuguje pamiëê wirtualnâ, przy czym moûliwa jest wymiana stron do kilku plików/partycji równoczeônie, co daje teoretycznâ wielkoôê pamiëci równa 2GB. Jednoczeôcie pozwala to w czasie wykonywanie programu wczytywaê tylko te jego fragmenty, które sâ rzeczywiôcie uûywane - zmniejsza to radykalnie zuûycie RAM. Linux potrafi czytaê i zapisywaê dyski sformatowane pod Amiga OS, MS-DOS, OS/2, Sun OS przy czym dziëki modularnej budowie moûna doîâczyê praktycznie kaûdy system plików (trzeba jednak pamiëtaê, ûe nawet najlepszy system nie przeskoczy ograniczeï sprzëtowych - stacja DD nie przeczyta dyskietki HD, a pecetopodobny komputer nie odczyta dyskietki w formacie Amigi). Jeôli chodzi o urzâdzenia zewnëtrzne to mamy do dyspozycji naprawdë sporo sterowników: do dysków twardych i CD-ROMów (AT-BUS i SCSI), portów szeregowych i równolegîych, urzâdzeï sieciowych (protokóî TCP/IP, Novell IPX/SPX, Apple Talk), kart PCMCIA, a na Amidze obsîugiwane sâ koôci OCS, ECS, AGA oraz CyberVision.
I tyle tytuîem reklamy. Myôlë, ûe wszyscy z niecierpliwoôciâ juû czekajâ na konkrety.
Jeôli chodzi o procesor, to musi on posiadaê ukîad MMU, wiëc MC68000, MC68020 oraz MC680EC30 (wersja ekonomiczna procesora MC68030) nie wystarczy - musimy mieê na pîycie gîównej lub karcie turbo procesor MC68030, MC68040 lub MC68060 (teoretycznie moûna dodaê do MC68020 ukîad MC68851 zawierajâcy MMU, ale nie sîyszaîem o takiej karcie do Amigi). Koprocesor nie jest niezbëdny, poniewaû moûe on byê emulowany przez nowsze wersje systemu (jednak osobiôcie tego nie sprawdzaîem), ale jest zdecydowanie zalecany.
Drugâ waûnâ rzeczâ jest wielkoôê pamiëci. W praktyce wielkoôê pamiëci Chip nie ma znaczenia (jest wykorzystywana tylko do otwarcia ekranu i ewentualnych buforów dla Amigowego DMA), natomiast pamiëê Fast jest niezbëdna. Moûliwe jest wystartowanie Linuxa majâc tylko 2MB Fast RAM, jednak jako minimum naleûaîoby przyjâê 4MB (a jeôli planujemy uûywanie systemu X-Windows to 8MB), przy czym im wiëcej tym lepiej.
Dysk twardy jest równieû niezbëdny, przy czym - to bardzo waûne - Linux musi mieê wîasnâ partycjë, a najlepiej ûeby miaî i drugâ na pamiëê wirtualnâ. Co do jej/ich wielkoôci, to jeôli nie zamierzamy samemu kompilowaê programów 100MB powinno wystarczyê na system, a na pamiëê wirtualnâ mniej wiëcej dwa razy tyle, ile mamy Fast RAM. Znajâc ûycie, niewiele osób dysponuje ot tak sobie wolnâ partycjâ na aktualnie uûywanym dysku, wiëc znalezienie wolnego miejsca moûe kosztowaê trochë wysiîku. No cóû - nic za darmo ;-).
Ostatnim wymaganiem jest system 2.0 lub nowszy oraz biblioteka ixemul.library w wersji 39. lub nowszej.
Na poczâtek sprawa wymagajâca najwiëkszej uwagi: tworzenie partycji. Jeûeli eksperymentujemy na nowym dysku, to nie ma problemu, ale jeûeli partycje majâ zostaê zaîoûone na dysku zawierajâcym jakieô dane, to lepiej dwa razy zastanowiê sië przed pstrykniëciem myszâ na Ok.
I tu maîa dygresja. Nie ma ûadnych sztywnych zasad, co do tego ile i jakiej wielkoôci partycji wymaga Linux, ale powszechnie stosowanym schematem jest: jedna nie za duûa (20 - 40MB) partycja startowa (root), duûa (od 80MB do nieskoïczonoôci, przy czym rozsâdnâ wielkoôciâ jest 300MB) partycja na programy uûytkowe (usr) i partycja/partycje na pamiëê wirtualnâ (przy czym maksymalny rozmiar jednej takiej partycji wynosi 128MB). Jeûeli planujemy wykorzystanie komputera przez wiëkszâ iloôê osób moûna teû wydzieliê osobnâ partycjë na pliki prywatne uûytkowników (home).
Jak powszechnie wiadomo, do podziaîu dysku na partycje sîuûy program
HDToolBox. Uruchamiamy go i z listy dostëpnych dysków wybieramy ten, na
którym bëdzie instalowany Linux, a nastëpnie naciskamy przycisk
Partition Drive. Pokaûe sië mapa zajëtoôci dysku (szeroki
pas w górnej czëôci okienka) - uaktywniamy Advanced
Options i powinno pokazaê sië kilka dodatkowych przycisków i
informacji. Poniûsze czynnoôci powtarzamy tyle razy, ile partycji
chcemy stworzyê.
New Partition i pstrykamy na obszarze oznaczonym jako
Unused lub zaznaczamy juû istniejâcâ partycjë, jeôli chcemy je
uûywaê pod Linuxem
Total Cyl lub End cyl.
Change... zaznaczmy partycjë jako
Reserved i wyîâczamy funkcjë Automount. Od tej chwili mamy
zarezerwowany obszar dysku, który moûe byê wykorzystany przez Linuxa
i pewnoôê, ûe przy restarcie komputera Amiga DOS nie bëdzie widziaî
takiej partycji.
Ok i tworzymy ewentualne nastëpne partycje
Po wybraniu jeszcze raz Ok wracamy do poczâtkowego zestawu
opcji. Teraz warto zapisaê sobie numery partycji przeznaczonych dla
Linuxa poniewaû Amigowe identyfikatory typu DH0,
DH1 nie bëdâ widoczne, a partycje identyfikuje po prostu
jej numer (liczony od 1). Po czym pstrykamy myszâ na Save
Changes To Drive. W tym momencie trzeba zwróciê uwagë na
komunikat, który sië pojawi - wymienione bëdâ w nim nazwy partycji,
których zawartoôê ulegnie bezpowrotnemu skasowaniu
- jeûeli bëdzie tam symbol partycji, której nie planujemy usuwaê, to
naleûy wybraê Cancel i powtórzyê wszystko od poczâtku.
Linux przede wszystkim rozpowszechniany jest w Internecie - tam pojawiajâ sië dosîownie codziennie nowe programy i îatki do systemu, oraz na CD-ROMach - jednâ z dystrybucji jest Eagle Linux, ale niestety osobiôcie nie miaîem okazji go sprawdziê, natomiast druga to Debian Linux dostëpny na procesory Intel, Motorola, DEC Alpha i Sparc, jednak wersja na Motorolë jest jeszcze uwaûana przez autorów z niestabilnâ. Linuxa na Amigë moûna teû znaleúê CD-ROMach doîâczonych do polskiego pisma Linux Plus.
Najnowsza (stan na dzieï 20. paúdziernika 1997) stabilna wersja jâdra
systemu na procesory Motorola ma numer 2.0.29, natomiast wersja
rozwojowa 2.1.57. Ogólnie zasada numerowanie wersji Linuxa jest
nastëpujâca: jeûeli w numerze 2.x.y x jest parzyste, to
wersja jest uwaûana za stabilnâ i wzrastajâce numery y
oznaczajâ tylko kolejne îatki usuwajâce bîedy wykryte w czase
uûytkowania, natomiast dla x nieparzystch mamy do
czynienia z wersjâ beta, do której mogâ byê dodawane caîkiem nowe
fragmenty kodu. W kaûdym razie, jeôli ktoô lubi przygody to w poniûszym
opisie wystarczy zamieniê katalog V2.0 na V2.1, ja jednak uûywam Linuxa
2.0.29.
Wszystkie pliki potrzebne do instalacji zarówno samego systemu operacujnego jak i X-Windows moûna znaleúê na serwerze SunSite w Warszawie - sunsite.icm.edu.pl w katalogu /pub/Linux/tsx-11/680x0. Dostëp moûliwy jest zrówno przez WWW jak i FTP, przy czym îâcze jest naprawdë szybkie, wiëc nie powinno byê problemu ze ôciâgniëciem nawet duûych plików.
A co bëdzie potrzebne? (wszystkie podane katalogi oczywiôcie wzglëdem /pub/Linux/tsx-11/680x0)
Aby nie trzeba byîo samemu kompilowaê wszystkich potrzebnych programów rozpowszechniane sâ zarchiwizowane systemy plików. Najnowszy dostëpny nosi nazwë Watchtower, potrzebne bëdâ nastëpujâce pliki z katalogu watchtower/
Dodatkowo (jeôli ich nie mamy) musimy ôciâgnâê programy
gzip i tar oraz bibliotekë ixemul.library. Sâ
one dostëpne w Aminecie - gzip w util/pack/gzip123x2.lha, tar w
util/arc/untgz.lha i ixemul.library w dev/gcc/ixemul-xxxx.lha, gdzie
xxxx to rodzaj procesora na jakim biblioteka bëdzie dziaîaê, np. 020f -
68020 z koprocesorem matematacznym.
Wszystkie Linuxowe pliki kopiujemy do jakiegoô katalogu na partycji
Amiga DOS (w sumie na gîówne pliki potrzebne bëdzie minimum 18MB
wolnego miejsca, a wraz z dokumentacjâ usrdoc okoîo 25MB),
rozkazy gzip i untgz do katalogu
C:, a ixemul.library do libs:.
Nastëpnie rozpakowujemy jâdro systemu komendâ:
vmlinux, System.map i .config,
rozpakowujemy program bootujâcy:
gzip -d amiboot-4.0.gz
oraz obraz RAM-dysku:
gzip -d filesys-ELF-2.0.x-1400K-2.gz
Po tym wszystkim jesteômy gotowi do pierwszego startu Linuxa.
Przede wszystkim, w systemach Unixowych istnieje tylko jedno drzewo
katalogów - nie ma rozróûnienia pomiëdzy poszczególnymi partycjami,
napëdami CD-ROM, stacjami dysków czy portami. Nawet jeûeli fizycznie sâ
to zupeînie róûne urzâdzenia widziane sâ w dokîadnie taki sam sposób -
jako pliki lub podkatalogi w katalogu gîównym. Wszelkie urzâdzenia
zewnëtrzne sâ reprezentowane przez tzw. pliki specjalne (zawarte
zazwyczaj w katalogu /dev), przy czym istniejâ dwa ich
typy: urzâdzenia blokowe (np. stacja dysków, dysk twardy, CD-ROM) i
urzâdzenia znakowe (jak np. port szeregowy, bufor obrazu) - róûnica
polega na tym, iû wszelkie zapisy/odczyty do/z urzâdzenia blokowego sâ
buforowane i dane sâ wysyîane dopiero po zapeînieniu caîego bloku, a
urzâdzenia znakowe nie sâ buforowane. Poszczególne urzâdzenia standardu
AT-BUS sâ reprezentowane jako pliki /dev/hdx, a SCSI jako
dev/sdx, gdzie x to litera a,
b, c, itd. (zaleûnie od tego ile mamy danych
urzâdzeï - np. u mnie dysk twardy to /dev/hda, a napëd
CD-ROM to /dev/hdb). Kolejne partycje na dysku twardym to
odpowiednio: /dev/hda1, /dev/hda2, ...,
/dev/sda1, /dev/sda2, ... . Stacje dysków to
urzâdzenia /dev/fd0, /dev/fd1, a na przykîad
bufor obrazu (frame buffer) to /dev/fb0.
Jednak dostëp do dysku twardego przy pomocy urzâdzenia
/dev/hda nie ma wîaôciwie sensu - bëdziemy widzieê po
prostu zawartoôê kolejnych sektorów dysku, niezaleûnie od tego jakie sâ
na nim partycje, systemy plików i pliki - dlatego poszczególne dyski,
dyskietki i CD-ROMy naleûy zamontowaê. Sîuûy do tego komenda:
mount <nazwa_urzâdzenia> <punkt_montowania;> -t >system_plików;<,
w której <nazwa_urzâdzenia> to nazwa pliku specjalnego (np.
/dev/hda1), <punktu_montowania> to miejsce w drzewie
katalogów, gdzie dane urzâdzenie ma byê widoczne (np.
/dysk_DH0), a <system_plików> to system plików na danym
noôniku (np. affs, czyli Amiga Fast File System).
Zamontowanie urzâdzenia to zamontowanie konkretnego noônika (konkretnej dyskietki, konkretnej pîyty CD-ROM), a nie urzâdzenia w ogólnoôci (stacj dysków, napëdu CD-ROM). Dlatego przy zmianie noônika (wyjëciu dyskietki z napëdu) konieczne jest zdemontowanie urzâdzenia komendâ:
umount <nazwa_urzâdzenia>
Jeûeli tego nie zrobimy, to bardzo prawdopodobna jest utrata danych, które sâ buforowane w pamiëci i nie zostaîy zapisane na noôniku.
Po tej doôê sporej dawce teorii przejdúmy do praktyki.
Bëdâc w katalogu, w którym umieôciliômy pliki potrzebne do instalacji Linuxa naleûy wpisaê:
AmiBoot4 -k vmlinux -r filesys-ELF-2.0.x-1400K-2 root=/dev/ram video=pal
Spowoduje to uruchomienie systemu z uûyciem obrazu RAM-dysku jako
systemu plików (poniewaû nie mamy jeszcze przygotowanych partycji). W
powyûszej komendzie opcje zaczynajâce sië od znaku -
dotyczâ programu AmiBoot4, natomiast pozostaîe (tutaj
root=/dev/ram video=pal) sâ przekazywane jako opcje do
jâdra Linuxa (np. root= informuje na jakim urzâdzeniu
znajduje sië katalog gîówny, a video= o tym, w jakim
trybie graficznym ma pracowaê konsola). Po chwili pojawi sië konsola
Linuxa, na którâ zostanâ wypisane komunikaty o konfiguracji systemu,
podîâczonych uûâdzeniach, uruchamianych programch itp., a nastëpnie
zostaniemy poproszeni o zalogowanie sië. Podajemy root
jako login, linux jako hasîo i po zgîoszeniu sië systemu
moûemy przystâpiê do wstëpnej konfiguracji.
Dla ustalenia uwagi przyjmijmy, ûe gîówny system plików bëdzie na
partycji /dev/hda5, katalog /usr na partycji
/dev/hda6, pamiëê wirtualna na /dev/hda7,
katalogi domowe montowane pod /home na partycji
/dev/hdb1, a archiwa ,,Watchtower'' na partycji
Amiga DOS /dev/hda1. Oczywiôcie dla konkretnej instalacji
naleûy powyûsze nazwy urzâdzeï zamieniê na odpowiadajâce
rzeczywistoôci.
Najlepiej na samym poczâtku wîâczyê pamiëê wirtualnâ. Najpierw naleûy
przygotowaê partycjë wymiany (swap partition) komendâ mkswap
/dev/hda7, a nastëpnie wîâczyê pamiëê wirtualnâ komendâ
swapon /dev/hda7.
Kolejnâ czynnoôciâ jest przygotowanie systemu plików na pozostaîych partycjach i rozpakowanie na nie archiwów. Za najlepszy obecnie dostëpny system plików dla Linuxa uwaûany jest ,,Second Extended'' (ext2) i wîaônie takie partycje utworzymy - wykonujemy komendy:
mke2fs /dev/hda5 mke2fs /dev/hda6 mke2fs /dev/hda8
Pliki watchtower-2-root.tar.gz oraz
watchtower-2-var.tar.gz rozpakujemy na partycjë
/dev/hda5, jednak najpierw musimy jâ oraz partycjë Amiga
DOS, zamontowaê. Tworzymy katalogi:
mkdir /src mkdir /dst
a nastëpnie wpisujemy:
mount /dev/hda1 /src -t affs mount /dev/hda5 /dst -t ext2
Wchodzimy do katalogu /dst (czyli w rzeczywistoôci z RAM-dysku, z
którego system byî startowany przechodzimy na partycjë /dev/hda5)
za pomocâ:
cd /dst
i wpisujemy komendy:
tar -xzvf /src/watchtower-2-root.tar.gz tar -xzvf /src/watchtower-2-var.tar.gz,
które rozpakujâ archiwa. Teraz, gdy mamy zamontowanâ partycjë i
rozpakowanâ jej zawartoôê, moûemy stworzyê plik
/etc/fstab, w którym umieszczona jest lista urzâdzeï
automatycznie montowanych w czasie uruchamiania systemu. Wydajemy
polecenie:
vi /dst/etc/fstabOpis edytora vi(m) znajduje sië w bieûâcym numerze FA
i na ekranie powinna sië ukazaê zawartoôê pliku fstab z
archiwum Watchtower. Linie rozpoczynajâce sië od znaku
# to komentarze, wiëc moûna je zignorowaê, a pozostaîe
najprawdopodobniej trzeba bëdzie zmieniê. W kolejnych kolumnach
(oddzielonych spacjami lub znakami tabulacji) wpisujemy: nazwë
urzâdzenia, punkt montowania, typ partycji i opcje. Przykîadowy plik
fstab wyglâda tak:
# device directory type options /dev/hda5 / ext2 defaults /dev/hda6 /usr ext2 defaults /dev/hda7 none swap swap /dev/hda8 /home ext2 defaults /proc /proc proc defaults
Jak widaê montowane sâ trzy partycje linuxowe typu ext2,
partycja wymiany i jedna partycja w formacie Amiga DOS. Typ
proc okreôla system plików uûywany przez jâdro systemu do
podawania informacji o systemie, poszczególnych urzâdzeniach i
procesach. Zawartoôê poszczególnych pseudo-plików z tego katalogu jest
wykorzystywana np. przez program top informujâcy o
stopniu obciâûenia systemu, stanie poszczególnych zadaï, zuûyciu przez
nie czasu procesora itp. W polu opcji zamiast defaults
moûna podaê ro, aby zamontowaê partycjë tylko do odczytu.
I jeszcze uwaga: punkty montowania poszczególnych systemów plików muszâ
istnieê w chwili montowania - dlatego najpierw montujemy gîowny katalog
/, dopiero potem /usr i /home.
Aby uniknâê przykrych niespodzianek wpisujemy komendë
sync, która przepisuje wszystkie dane buforowane w pamiëci
na dysk. Nastëpnie wychodzimy z katalogu:
cd /
i demontujemy partycjë:
umount /dev/hda5
(wczeôniejsze polecenie cd / jest konieczne, poniewaû w
przeciwnym wypadku próba demontowania urzâdzenia zakoïczyîaby sië
komunikatem device busy - urzâdzenie zajëte).
W archiwum watchtower-2-usr.tar.gz zapamiëtana jest peîna
ôcieûka (/usr/...), a wiëc musimy stworzyê podkatalog komendâ:
mkdir /dst/usr
nastëpnie wchodzimy do katalogu:
cd /dst
i wpisujemy:
tar -xzvf watchtower-2-usr.tar.gz
Jeûeli chcemy dodatkowo rozpakowaê dokumentacjë to wpisujemy jeszcze:
tar -xzvf /src/watchtower-2-usrdoc.tar.gz
potem:
cd / sync umount /dev/hda6 umount /dev/hda1
W ten sposób mamy system zainstalowany na dysku i gotowy do dziaîania. Musimy teraz zamknâê sesjë wydajâc polecenie:
shutdown -r now,
które spowoduje zakoïczenie wszystkich procesów, zapamiëtanie buforownaych danych na wszystkich dyskach, odmontowanie ich, wyîâczenie pamiëci wirtualnej i w koïcu restart systemu. Zawsze naleûy koïczyê pracë z Linuxem w ten sposób!
Pierwszego uruchomienia systemu z twardego dysku dokonamy równieû przy
pomocy programu AmiBoot4, potem - z poziomu Linuxa -
bëdzie moûna zainstalowaê na bootblocku program LInux LOader (LILO)
pozwalajâcy wybraê system przy uruchamianiu komputera. Wpisujemy wiëc:
AmiBoot4 -k VMLinux root=/dev/hda5 video=pal Tym razem juû jako
root= podajemy partycjë, na której zainstalowany zostaî
gîówny system plików. Jeûeli monitor wyôwietla tryby graficzne o
wyûszych czëstotliwoôciach odchylania to jako video= moûna
podaê vga.
Przy pierwszym uruchomieniu Linux najprawdopodobniej bëdzie sprawdzaî
systemy plików na poszczególnych partycjach (odpowiednik walidacji
wykonywanej przez Amiga OS). Moûe to trochë potrwaê, wiëc nie naleûy
sië niecierpliwiê. Takie sprawdzanie ma miejsce zawsze po nienormalnym
zakoïczeniu pracy (czyli zawieszeniu systemu lub resecie z klawiatury
bez shutdown), a takûe co kilka uruchomieï systemu - tak
dla pewnoôci.
Logujemy sië znowu jako root z hasîem linux i
pierwszâ wykonanâ czynnoôciâ powinna byê zmiana hasîa. Najpierw naleûy
wykonaê kopië bezpieczeïstwa pliku passwd:
cp /etc/passwd /etc/passwd.OLD,
a nastëpnie wydaê polecenie:
passwd
Zostaniemy poproszeni o podanie starego hasîa, potem nowego, a w koïcu
o potwierdzenie nowego hasîa. Zazwyczaj nie trzeba pracowaê jako
root - jedynie w sytuacjach takich jak instalacja nowego
oprogramowania czy zmiana konfiguracji musimy mieê peîne prawa dostëpu
do wszystkich plików, tak wiëc dobrze byîoby dodaê jednego lub kilku
uûytkowników. I tu niespodzianka: w archiwach Watchtower
brakuje skryptu adduser, jednak moûna go znaleúê w
Aminecie w pliku misc/unix/LinuxAddUser.lha.
... ciâg dalszy nastâpi