CHIP – GeekGadgets – Linux/BSD környezet AmigaOS-re

A GeekGadgets project első kiadása 1995-ben jelent meg, amelyet megszállott Amigás programozók hoztak létre, akik szerették volna az akkoriban szárnyait bontogató GNU-s és szabad szoftvereket egyszerűen portolhatóvá tenni AmigaOS-re is. Ehhez első lépésként meg kellett teremteni egy, a linuxos libc-hez hasonló, illetve azt emuláló környezetet, amelyet ixemul-nak kereszteltek el.

Az ixemul egy shared library, amelyet AmigaOS-ben már megszokhattunk, és valójában egy majdnem teljes BSD Unix környezet – pontosabban olyan könyvtárat, amelyben a UNIX rendszereken megszokott függvények érhetők el – tartalmaz, amely az operációs rendszerrel párhuzamosan fut. A library-ben a Unix-os signal-ok kezelését az eredeti kernel forrásából emelték át, illetve a multitasking-ért és a file műveletekért felelős részeket teljes egészében az AmigaOS rendszerfüggvényeivel oldották meg. Persze ez az ixemul-t használó programok számára nem látszik, a GCC-s fordítás után a kernel és a libc függvényeit használják, a Linuxon, vagy BSD-n fordított társaikhoz hasonlóan.

Az ixemul.library-t, illetve a hozzá tartozó SDK-t Markus Wild kezdte el írni 1993 végén, majd 1994 közepén került fel az akkoriban igen népszerű Fred Fish sorozat egyik CD-jére a 40.4-es verzió. Jeff Shepherd-nek köszönhetően 1995 elején kibővült a csomag egy ixnet-net keresztelt library-val, amely lehetővé tette a BSD-s socket-et használó programok egyszerű portolását, az AmiTCP illetve az Amigán szintén használatos AS225 tcp/ip stack-eket használva.

Erre a (Net)BSD könyvtárra építve hamarosan megjelentek az első GCC verziók, amelyek szabad utat nyitottak a számtalan, forráskóddal együtt kiadott program Amigás verziójának elkészítéséhez. AmigaShell-ből indítható, és ott futó Unix-os shell is készült; a PDKSH amely kis méretével és igen fejlett script támogatásával azóta is a GeekGadgets csomag része. Ezen shell-lel, illetve a további fejlesztői segédprogramokkal kibővítve a környezet adott volt az automake által készített configure file-ok futtatására, illetve az elkészült Makefile alapján az adott program AmigaOS-re való lefordítására.

1996 októberében elkészült az első X-Windows port is Xgeek néven, amely képes volt más gépekről indított programok grafikus megjelenítésére, illetve néhány egyszerűbb (pld: X-Eyes) AmigaOS-re lefordított program grafikus megjelenítésére. Az X-Szerver képes egy külön screen-en is – választható felbontással, és színmélységgel – és Workbench ablakban is futni, az első megjelenés óta számtalan Amiga specifikus bővítmény került bele, többek között hardware-es gyorsítás, AGA támogatás, stb. A jelenlegi X-es csomagban már a GIMP és néhány Window Manager (IceWm, Afterstep, stb.), továbbá számtalan kisebb program is megtalálható, de a GTK portjának köszönhetően a konzolos programokhoz hasonlóan az grafikus felületet igénylő programok portolása is elég egyszerűvé vált.

Az évek során számtalan kisebb-nagyobb program került bele a GeekGadgets-be, a legutóbbi snapshot (1999.05.29) illetve az azóta is folyamatosan bővülő alpha stádiumban lévő programok száma 150 körül van, bináris méretük 180-200 megabyte tömörítve.

Tehát valójában a GeekGadgets nem más, mint egy GNU alapú disztribúció, amely tartalmaz egy kernelt (ixemul) továbbá egy fordítót (GCC) illetve a fejlesztéshez és a használathoz nélkülözhetetlen programokat.

Sokan abban a tévhitben leledzenek, hogy az amigás GCC kizárólag ixemul-t használó programokat képes fordítani… Ez nem így van, a fordító rendelkezik jó néhány AmigaOS specifikus kapcsolóval (-m68020, -resident, stb.) és képes teljesen natív OS kódot is fordítani a -noixemul kapcsolóval, a libnix-et használva az ixemul library helyett. Ilyenkor a SAS vagy a Maxon C/C++ fordítókhoz hasonlóan az amiga.lib-et használja, és teljes egészében kihagyja a generált kódból az ixemul-os részeket.

A jelenlegi legjobb – és legdrágább – fejlesztői környezet, a StormC is tartalmazza a GCC-nek egy speciális, a GeekGadgets-ből átdolgozott verzióját amelyet nemrégiben a Haage & Partner bárki által szabadon használhatóvá is tett, függetlenül a StormC csomagtól.

A GeekGadgets az AmigaOS-nek képes biztosítani azt a felületet, amely lehetővé teszi a felhasználóknak, és a programozni vágyóknak hogy az utóbbi időkben szerencsére egyre jobban növekvő ütemben előrenyomuló szabad forráskódú programok közül minél többet lehessen egyszerűen átültetni, és a Linux-os vagy BSD-s közösséghez hasonlóan újra kitermelődjön egy olyan számítástechnikához értő réteg, amely az egérkattintáson kívül is ért valamihez, és kreativitását jobbnál jobb programok elkészítésében igyekszik kamatoztatni. Mindezt a régi, jól bevált AmigaOS-t használva…

http://www.geekgadgets.org

/poet/?p=53

kincstar200108.png

Leave a Reply

Your email address will not be published. Required fields are marked *