Kao pvo moras dobro upoznati nacin rada(startovanja) Linuxa. Danas veliki broj distribucija, radi na principu startujes live pa posle pokrenes instalaciju te distribucije. Znaci jedan od nacina je da prvo napravis svoju live distribuciju, pa posle da je na neki nacin nateras da se startuje sa hard diska(tj da je nekako instaliras).
Kada upalis racunar, prvi program koji se pokreće nakon uključivanja kompjutera jeste BIOS. Kada on obavi određene provere hardvera, kontrola nad kompjuterom može da bude prepuštena operativnom sistemu.
Međutim, u tom trenutku operativni sistem egzistira u obliku gomile fajlova negde na hard disku, a struktura podataka na disku, particije i fajl-sistemi, kao i način pokretanja i funkcionisanja operativnog sistema daleko su izvan opisa posla BIOS-a. Sve što BIOS „zna” jeste s kog uređaja (hard diska, CD-a, diskete...) treba da pokrene operativni sistem. On sa CD ili DVD diska (u sliučaju live distribucije) pokreće bootloader ( najcesce korisceni bootloader kod live distribucija je "isolinux"), isolinux u svom konfiguracionom fajlu koji se nalazi na disku ima zapisano koji inicijalni RAM (initrd.gz) i kernel (vmlinuz) treba da učita. Isolinux sada prepušta kontrolu kernelu koji dekomresuje inicijalni RAM initrd.gz i učitava ga u RAM pri tome initrd se postavlja kao root falj sistem. U konfiguracionom fajlu od isolinux-a pored kernela i inicijalnog rama stoji i koja skripta se prva pokrece nakon njegovog postavljanja kao / fajlsistema, ta skripta se najcesce naziva linuxrc.
Posle toga počinje da se izvršava /linuxrc, to je skripta koja vrši učitavanje modula za podršku raznim fajl sistemima(vfat, ntfs, ext3, ext2, unionfs, aufs, squashfs…).
Na kraju ove skripte sadsanji / fajl sistem se menja sa nekim novim, npr: na fedorinom ili ubuntu-ovom disku imas fajl pod imenom filesystem.squashfs. To ti je buduci fajlistem koji ce biti postavljen kao /, ovo se u linuxu radi pozivanjem funkcije pivot_root i naravno prenosenjem nekih argumenata toj funkciji.
Najveci problem ti je da napravis initrd.gz, ali danas postoje automatizovane skripte koje ti to rade imas nesto na:
http://www.linux-live.org. Ustvari ove skripte ti prave ceo live operativni sistem, samo pre toga moras da malo pripremis tvoj linux operativni sistem(kompajliras novi kernel sa odredjenim patch-evima lzma, aufs sqlzma, squashfs...)
Kako da posle ovaj linux instaliras na hard, a da to ne bude kopija CD-a pa da sa harda samo startujes kao live distribuciju stvarno ne znam.
Mozda ce ti neko ko bude znao napisati nesto...
Ako budes imao nekih problema sa pravljenjem live distribucije slobodno mi posalji PP, Email ili napisi poruku ovde na forumu ili ako si iz Cacka svrati na Tehnicki Fakultet u Labaratoriju za racunarsku tehniku.
Kernel i Graficka okruzenja su ti manje vise isti u svim distribucijama. Nije potrebno poznavati dobro neki programski jezik da bi "Ubuntu" promenio u nesto drugo. Nisam odgovorio na neka tvoja pitanja, ali se nadam da ces odgovor sam pronaci iz ovog teksta.