|
|
A GoboLinux LiveCD elkészítésének leírásaEz egy gyors bevezetés abba, hogyan készül a GoboLinux Live CD. Megismertet téged azokkal az eszközökkel, amik szükségesek a CD elkészítéséhez, miközben azt akár személyre is szabhatod (testreszabhatod, átalakíthatod). Reméljük, ezáltal csökkentjük a nehézségeket, melyekkel a disztró fejlesztésében esetleg közreműködni óhajtó potenciális munkatársak szembekerülnek. ElőfeltételekEz a leírás feltételezi, hogy a Scripts csomag legújabb verziójával felszerelt GoboLinux rendszert használsz. A kernelednek támogatnia kell az UnionFS, SquashFS és a CramFS fájlrendszereket. Szükséged van továbbá a felinstallált SquashFS-Tools csomagra is. Mindez elérhető a GoboLinux csomaggyűjteményből.
Az eszközökHogy elindulhass, telepítened kell a BuildLiveCD csomagot. Compile buildlivecd Sok más GoboLinux eszköznek és csomagnak is köze lesz a CD építéséhez, de ez az egyetlen, amit neked a /Programs könyvtáradban kell elhelyezned. Részletesen tárgyaljuk majd őket egytől-egyig, de itt egy gyors áttekintés:
A CD mester-környezetAmint installáltad a BuildLiveCD-t a rendszeredben, felállíthatod a CD „mester-környezetet”. Ez az egyszerű parancs létrehozza a kellő könyvtárakat és letölt minden szükséges csomagot: UpdateEnvironment. Futtassad le azt egy üres mappában; a példáinkban ez a /Depot/LiveCD lesz. mkdir /Depot/LiveCD cd /Depot/LiveCD UpdateEnvironment Megjegyzendő, hogy a letöltött csomagok mérete a több száz megabyte-ot is el fogja érni, úgyhogy ez eltarthat egy ideig...
A CD építéseA CD készítésének egész eljárása a CompressAndBuildISO szkript által van lekezelve. Első futtatáskor egyszerűen paraméterek nélkül tudod hívni azt, és végre kell hajtsa az egész eljárást: CompressAndBuildISO A szkript néhány fázisból áll - - ha olyan módosítást hajtasz végre, mely ezek közül csak az egyikre vonatkozik, lehagyhatsz egy paramétert, kihagyva így a korábbiakat, azért, hogy időt takaríts meg. A fázisok:
A Live CD indulási eljárás egy végigkövetéseA CD betöltésvezérlőjeEzt még meg kell írni... Az InitRD környezetEzt még be kell fejezni... Az InitRD környezet egy mini-GoboLinux rendszer, amit a MakeInitRDTree szkript hozott létre, ami a CompressAndBuildISO futtatásakor hívódik meg. Az Output/InitRD tartalomjegyzéknél fogod megtalálni. Ne módosítsad az Output/InitRD-t közvetlenül: a tartalma átíródik, amikor a CompressAndBuildISO végigfut az initrd lépésen. Ha bele akarsz nyúlni, módosítsd helyette az InitRDScripts helyi SVN másolatát, ami a LocalSVN/tools/InitRDScripts-nél helyezkedik el. Jelenleg a CD-építési környezetnek ez a része nem nagyon kényelmes testre szabott verziók készítésére. Ha az InitRD egy módosított változatát akarod elkészíteni, le kell cserélned a LocalSVN/InitRD-t a saját másolatodra, miután futtattad az UpdateEnvironment-et.
A startGoboLinux szkript végén az InitRDScripts csomagban, felcsatolódnak a SquashFS képmások, elkészül a gyökérkönyvtár, és végrehajtódik egy init-hívás, hogy elkezdődjék a rendszerbetöltés. A SquashFS belsejeNagyon úgy tűnik, hogy egy olyan GoboLinux rendszerben vagyunk, mint ami egy merevlemezen helyezkedik el. Valóban, ugyanazokat a csomagokat használjuk. Amikor az init fut, meghívja a BootDrivert a BootScripts csomagból. A BootDriver észleli azt, hogy ő most épp egy LiveCD-ről fut, s emiatt ahelyett, hogy a szokásos indítószkripteket futtatná, indítja a StartLiveCD szkriptet a LiveCD csomagból. Ez a szkript felelős az inicializálás többi részéért. A Squashfs struktúraA fő LiveCD környezet (vagyis az a tartalomjegyzék-struktúra, amit a LiveCD bebootolása után látsz) a SquashFS képmások sorozataként van tárolva. Ezeket a képmásokat két rétegből építik: egy írásvédett réteg, ami a tényleges fájlrendszer (Programs, Files, System, etc.), és egy írható-olvasható réteg efölött, hibaelhárítás és debuggolás céljából, mely olyan válogatott fájlokat tartalmaz, amiket létrehozhattál, amíg bejelentkeztél a ChrootEnvironment-et használva. A fő, első réteget az Output/ROLayer-nél hoztuk létre. Ez azokból a csomagokból épül fel, amik az Archives/Packages-ben vannak felsorolva, ezek kombinációjából épül fel a /Programs, egyéb fájlok találhatóak az Archives/Ext alatt, ezek kicsomagoltatnak a maguk megfelelő helyeikre, plusz egy sor fájl és tartalomjegyzéket „röptében” kicsomagol a BuildRoot szkript. A BuildRoot -ot a rolayer lépés alatt hívja a CompressAndBuildISO szkrip. Fontos észben tartani, hogy amikor olyan módosításokat csinálsz, amik magát a LiveCD környezetet változtatják, újra kell generáltatnod a a SquashFS képmásokat. Hogy ezt megtedd, adj egy további paramétert a CompressAndBuildISO-nak: CompressAndBuildISO squashfs
|