TCCBOOT projekt je zavaděč schopen sestavit a zavést jádro Linuxu přímo z jeho zdrojového kódu.
TCCBOOT je jen 138 KB velký (nekomprimovaný kód) a je možné sestavit a spustit typické linuxové jádro za méně než 15 sekund na 2,4 GHz Pentium 4.
TCCBOOT je založen na TinyCC kompilátor, assembler a linker. TinyCC je experiment vyrobit velmi malý a jednoduchý kompilátor C je kompatibilní s kompilátorem GNU C a binární pomůcky.
TCCBOOT boty stejně jako jádro Linuxu, takže jakýkoliv zavaděč, který může spustit Linux kernel image 'bzImage "lze spustit TCCBOOT. Já jen zkouší to s ISOLINUX, ale LILO nebo GRUB by měly fungovat také.
TCCBOOT čte C nebo montážní zdroje z gzip ROMFS souborového systému uloženého v počátečním RAM disk (initrd). To nejprve přečte soubor 'boot / tccargs ", které obsahuje TinyCC příkazový řádek (stejná syntaxe jako TCC spustitelný soubor). TinyCC volání by výstup jeden binární obraz "jádra". Tento obrázek je načten na adrese 0x00100000. TCCBOOT pak dělá skok na adresu 0x00100000 v 32 bitovém plochém režimu. To je v souladu s ABI v "vmlinux 'image jádra.
Kompilace:
TCCBOOT byl testován pouze s operačním systémem Linux 2.4.26. Za účelem vybudování TCCBOOT, musíte nejprve sestavit jádro 2.4.26, protože pro jednoduchost TCCBOOT používá některé binární soubory a hlavičky z linuxového jádra. TCCBOOT také potřebuje zdrojový kód TinyCC (testováno s TinyCC verzí 0.9.21). Můžete upravit Makefile poskytnout potřebné trasy.
Příklad:
"Hello World" ROMFS oddíl je v ceně (initrd.img). Můžete ji znovu z příkladu / adresáře. Můžete si vyzkoušet ho s PC emulátor QEMU s 'qemu-tccboot "skript.
Kernel kompilace:
Pro vaši informaci, náplast "linux-2.4.26-tcc.patch" dává nezbytné úpravy vybudovat linuxové jádro s TCCBOOT (poznámka: to není suffisant stavět jádro s vlastním Makefile - nikdy jsem se snažil). Konfigurace Odpovídající Jádro je v souboru linux-2.4.26-config. Opravy jsou nezbytné pro to z následujících důvodů:
- Směrnice nepodporované montáž: .rept, .endr, Pododdíl
- "#define __ASSEMBLY__" Zapotřebí zdrojích montážních
- Statické proměnné nemohou být vidět z inline assembleru
- Typizace / lvalue problémy s "? : '
- Žádné dlouhé dlouhé bitové pole
- "Sladěna" atribut není podporován pro celé structs, pouze pro obory
- Obscur preprocesor chybu
Některé z těchto problémů by mohly být snadno stanovena, ale já jsem příliš líný teď. Je jisté, že stále existuje mnoho chyb v jádře generované TinyCC / TCCBOOT, ale alespoň to lze spustit a zahájit shell.
Podrobnosti Software:
Verze: 0.1
Datum uploadu: 3 Jun 15
Licence: Shareware
Cena: 0.00 $
Popularita: 58
Komentáře nebyl nalezen