Code : « Autocompiler » son noyau au démarrage avec TCCBoot
Posté par David Decotigny (page perso, ). Modéré le 27 octobre 2004.
À ceux qui trouvent que le noyau Linux démarre bien trop vite, Fabrice Bellard propose une solution : TCCBoot. Il s'agit d'un petit noyau (indépendant de Linux) qui contient le petit-compilateur C "TCC" du même F. Bellard. Une fois chargé, celui-ci compile les sources qu'on lui fournit dans une image ROMFS et exécute le binaire résultant. Si les sources en question sont celles du noyau Linux... alors TCC compile Linux à chaque démarrage.
Ça ne sert à rien mais c'est beau !
Ça ne sert à rien mais c'est beau !
Présentation (1975 hits)
CD de démo (à tester avec Qemu par exemple) (651 hits)
Autres Bellarderies (1624 hits)
> Lire la dépêche (60 commentaires, moyenne: 3,1).
Vous avez demandé le commentaire #490211.




plop
Absolument indispensable
[^]Re: plop
« Rigoureusement inutiles donc absolument indispensables »
-- Jérome Bonaldi, NPA 1999
Ce grand philosophe des catastrophes live'ienne :)
[^]Re: plop
Si mes souvenirs sont bons...
- il était dans les premiers arrivés dans NPA, il devait avoir sa propre émission le midi vers 1999 => Ca doit dater de vachement plus tot !!
- C'est : "Totallement inutile donc rigoureusement indispensable"
Note : Il a surement du en faire qq variantes ;-)
Respect pour le plus grand disciple de Murphy :)
De plus, il continue de se meler de tout à notre plus grand plaisir : https://linuxfr.org/2004/10/21/17476.html(...)
"We all freezed on a bugged subroutine, bugged subroutine, bugged subroutine..." (nearly Beatles)
[^]Re: plop
Si la compile du noyau au boot semble effectivement assez futile, tcc lui même ne l'est pas :
Ça ça peut clairement avoir des vraies applications. À noter aussi que tcc inclue un memory & bounds checker (un machin pour vérifier qu'on se gauffre pas dans l'utilisation des tableaux et pointeurs), ce qui fait défaut à gcc (enfin pas vraiment, le patch est là : http://web.inter.nl.net/hcc/Haj.Ten.Brugge/(...) ). Et ça, c'est Bien™.[^]Re: plop
C script supported : just add '#!/usr/local/bin/tcc -run' at the first line of your C source, and execute it directly from the command line.
Ça ne doit pas être bien compliquer à faire avec gcc ça...
Avec un bon petit script qui supprime la première ligne du fichier et qui compile puis exécute dans un répertoire temporaire, y'a rien d'exceptionnel...
With libtcc, you can use TCC as a backend for dynamic code generation.
Ça parcontre, ça semble plus intéressant, bien que, avec un script du même style, tu recompiles tes sources et tu charges le merdier avec un dlopen...
[^]Re: plop
Y'a un journal y'a longtemps où on avait donné plusieurs méthodes avec une ligne de shell :
http://linuxfr.org/~Salagnac/4500.html(...)
[^]Re: plop
Et dire que je me cassais le cul pour le refaire...