Linux m68k - instalacja

1. Co to jest Linux?

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 ;-).

2. Co potrafi Linux ?

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.

3. Wymagania sprzëtowe.

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.

4. Tworzenie partycji.

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ê.

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.

5. Jakie pliki sâ potrzebne i skâd je wziâê?

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â:

untgz -d vmlinux-2.0.29-Amiga.tar.gz - powinny zostaê stworzone pliki 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.

6. System plików w Linuxie.

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).

UWAGA!

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.

7. Uruchomienie i konfigurowanie systemu.

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/fstab
Opis 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!

8. Uruchamianie systemu z twardego dysku.

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


Szczepan Kuúniarz
szczepan@sun10.ci.pwr.wroc.pl