TCCBOOT

Software skärmdump:
TCCBOOT
Mjukvaruinformation:
Version: 0.1
Ladda upp dagen: 3 Jun 15
Utvecklare: Fabrice Bellard
Licens: Shareware
Pris: 0.00 $
Popularitet: 20

Rating: nan/5 (Total Votes: 0)

TCCBOOT projekt är en starthanterare kunna sammanställa och starta en Linux-kärna direkt från källkoden.
TCCBOOT är bara 138 KB stor (okomprimerad kod) och det kan kompilera och köra en typisk Linuxkärnan på mindre än 15 sekunder på en 2,4 GHz Pentium 4.
TCCBOOT bygger på TinyCC kompilator, assembler och länkare. TinyCC är ett experiment för att producera en mycket liten och enkel C-kompilator kompatibel med GNU C-kompilator och binärverktyg.
TCCBOOT stövlar på samma sätt som en Linux-kärnan, så någon starthanterare som kan köra en "zImage" Linuxkärnan bild kan köra TCCBOOT. Jag bara testat det med isolinux, men LILO eller GRUB bör fungera också.
TCCBOOT läser C eller monteringskällor från en gzippat ROMFS filsystem lagras i en initial RAM-disk (initrd). Den läser första filen "boot / tccargs" som innehåller kommandot TinyCC linjen (samma syntax som tcc körbara). Den TinyCC åkallan bör utgång en binär bild "kernel". Den här bilden är laddad på adress 0x00100000. TCCBOOT gör sedan ett hopp till den adress 0x00100000 i 32 lite platt läge. Detta är förenligt med ABI av "vmlinux" kärna.
Sammanställning:
TCCBOOT endast testats med Linux 2.4.26. För att bygga TCCBOOT, måste du först sammanställa en 2.4.26-kärna grund för enkelhet TCCBOOT använder några binära filer och rubriker från Linuxkärnan. TCCBOOT behöver också källkoden för TinyCC (testad med TinyCC version 0.9.21). Du kan ändra Makefile för att ge de nödvändiga vägar.
Exempel:
En "Hello World" ROMFS partition ingår (initrd.img). Du kan bygga upp den från exemplet / katalogen. Du kan testa det med QEMU PC-emulator med "qemu-tccboot" manus.
Kärna sammanställning:
För din information, patch "linux-2.4.26-tcc.patch" ger de nödvändiga ändringarna för att bygga en Linux-kärna med TCCBOOT (OBS: det är inte suffisant att bygga kärnan med sin egen Makefile - Jag har aldrig försökt). Motsvarande konfiguration av kärnan är i fil linux-2.4.26-config. Plåster är nödvändiga av följande skäl:
- Inte stöds direktiv monterings: .rept, .endr, .subsection
- "#define __ASSEMBLY__" Behövs i monteringskällor
- Statiska variabler kan inte ses från inline assemblerkod
- Skriva / lvalue problem med "? : '
- inga långa långa bitfälten
- "I linje" attribut inte stöds för hela structs, endast för fält
- Obscur preprocessor bug
En del av dessa problem lätt kan fastställas, men jag är för lat nu. Det är säker på att det fortfarande finns många buggar i kärnan som genereras av TinyCC / TCCBOOT, men åtminstone det kan starta och starta ett skal.

Skärmbilder

tccboot_1_144840.png

Liknande mjukvara

Annan programvara för utvecklare Fabrice Bellard

FFmpeg
FFmpeg

17 Aug 18

QEMU
QEMU

22 Jun 18

Tiny C Compiler
Tiny C Compiler

3 Jun 15

Kommentarer till TCCBOOT

Kommentarer hittades inte
Kommentar
Slå på bilder!