TCCBOOT

Software screenshot:
TCCBOOT
Software informatie:
Versie: 0.1
Upload datum: 3 Jun 15
Ontwikkelaar: Fabrice Bellard
Licentie: Shareware
Prijs: 0.00 $
Populariteit: 58

Rating: 1.0/5 (Total Votes: 1)

TCCBOOT project is een bootloader in staat om direct uit de broncode te compileren en start een Linux kernel.
TCCBOOT is slechts 138 KB groot (niet-gecomprimeerde code) en het kan samenstellen en uitvoeren van een typische Linux-kernel in minder dan 15 seconden op een 2,4 GHz Pentium 4.
TCCBOOT is gebaseerd op de TinyCC compiler, assembler en linker. TinyCC is een experiment om een ​​zeer kleine en eenvoudige C compiler verenigbaar met de GNU C compiler en binaire hulpmiddelen produceren.
TCCBOOT laarzen op dezelfde manier als een Linux kernel, dus elke boot loader die een afbeelding 'bzImage' Linux kernel kan TCCBOOT draaien kan draaien. Ik heb alleen getest met ISOLINUX, maar LILO of GRUB moeten ook werken.
TCCBOOT leest C of montage bronnen uit een gzipped romfs bestandssysteem opgeslagen in een Initial Ram Disk (initrd). Het eerste leest het bestand 'boot / tccargs' waarin de TinyCC command line (zelfde syntax als de TCC uitvoerbare) bevat. De TinyCC aanroeping moet geven een binair beeld 'kernel'. Dit beeld is op het adres 0x00100000 geladen. TCCBOOT doet vervolgens een sprong naar het adres 0x00100000 in 32 bit vlakke stand. Dit is compatibel met de ABI van het beeld 'vmlinux' kernel.
Compilatie:
TCCBOOT werd alleen getest met Linux 2.4.26. Om te bouwen TCCBOOT, moet u eerst een 2.4.26 kernel te compileren, omdat eenvoud TCCBOOT maakt gebruik van een aantal binaire bestanden en headers van de Linux kernel. TCCBOOT moet ook de broncode van TinyCC (getest met TinyCC versie 0.9.21). U kunt de Makefile wijzigen om de benodigde paden te geven.
Voorbeeld:
Een "Hello World" romfs partitie is opgenomen (initrd.img). U kunt het herbouwen van het voorbeeld / directory. Je kunt het testen met de QEMU PC emulator met de 'qemu-tccboot' script.
Kernel compilatie:
Voor uw informatie, de patch 'linux-2.4.26-tcc.patch' geeft de nodige wijzigingen om een ​​Linux kernel met TCCBOOT bouwen (LET OP: het is niet suffisant de kernel te bouwen met zijn eigen Makefiles - Ik heb nooit geprobeerd). De bijbehorende kernel configuratie is in het bestand linux-2.4.26-config. Patches die nodig zijn om de volgende redenen:
- Ondersteunde montage richtlijnen: .rept, .endr, .subsection
- '#define __ASSEMBLY__' Nodig in de montage bronnen
- Vaste variabelen kunnen niet worden afgeleid uit de inline montagecode
- Typen / lvalue problemen '? : '
- Geen lange lange bitvelden
- 'Gericht' attribuut niet ondersteund voor de hele structuren, alleen voor velden
- Obscur preprocessor bug
Sommige van deze problemen kan eenvoudig worden vastgesteld, maar ik ben te lui nu. Het is zeker dat er nog veel bugs in de kernel wordt gegenereerd door TinyCC / TCCBOOT, maar ten minste het kan booten en start een shell.

Screenshots

tccboot_1_144840.png

Vergelijkbare software

Etherboot
Etherboot

2 Jun 15

PAUD
PAUD

3 Jun 15

coreboot
coreboot

11 May 15

Andere software van ontwikkelaar Fabrice Bellard

QEMU
QEMU

22 Jun 18

Tiny C Compiler
Tiny C Compiler

3 Jun 15

KQEMU
KQEMU

2 Jun 15

Reacties op TCCBOOT

Reacties niet gevonden
Commentaar toe te voegen
Zet op de beelden!