Journal Linux et embarqué

Posté par  .
Étiquettes :
0
21
avr.
2004
Bonjour.

J'ai une question qui me trotte dans la tête depuis quelques jours.

J'ai tenté de créer une distribution minimale (base slackware) pour équiper un vieux portable Toshiba.

La génération du noyau s'est bien passée (je dois pouvoir grignoter quelques Ko à droite et a gauche mais ce sera pour plus tard ...).

La question que je me pose concerne les bibliothèques partagé.
Je trouve que certaines prennent beaucoup de place, et je me demandais s'il étaitpossible, à partir des source d'une appli de générer des versions de bibliothèques partagées ne contenant que les portions de codes utilisés (bien entendu, il serait nécessaire d'avoir les sources des libs partagées). Existe-t-il des outils permettant de le faire? Peut-on espérer gagner beaucoup de place?
  • # Re: Linux et embarqué

    Posté par  . Évalué à 2.

    il te faut tout d'abord "profilé" ton code pour savoir ce qui est utilisé, et comment. Pour le faire il faut que tu utilises _tout_ tes programmes et librairies aux maximum de ce que tu veux les utiliser.

    A partir de là, tu peux penser à virer des bouts de codes.

    Autre solution, tu compile tout tes programmes en static, seule manière d'etre sur que les parties de ocde que tu as enlevé ne servait a rien.

    Tant qu'a faire, utilise busybox.

    Enfin : le but de la librairie partagée, c'est quand meme d'etre une _librairie_ dynamique. Elle permet à un nouveau programme d'utiliser les fonctions de la librairie, sans en payer la charge. Donc vouloir retirer des bouts de code, c'est un peu comme amputer une librairie dynamique de son but. Sai malle ....

    Enfin 2 : si t'as des appli codées en language objet/ avec des pointeurs sur fonctions, ça va pas etre super top, car il faut _prouver_ les chemins d'exécution de tout les codes. Un peu long a faire ....

    Pour résumer ... pas bête ... mais bof...
    • [^] # Re: Linux et embarqué

      Posté par  . Évalué à 1.

      le but de la librairie partagée, c'est quand meme d'etre une _librairie_ dynamique. Elle permet à un nouveau programme d'utiliser les fonctions de la librairie, sans en payer la charge.

      Dans le cadre d'un serveur ou station de travail "standard" c'est clair que ce serait ridicule.

      Par contre dans l'embarqué, certains systèmes sont dédiés à une tache précise, et seulement quelques utilitaires de base et un ou deux programmes sont nécessaires pour réaliser leur tache.

      L'idée serait de regénérer les bibliothèques à partir des sources, en supprimant tout le code inutilisé par les divers programmes du système. Ainsi on garde l'avantage de la librairie dynamique (pour le code + ou - commun à l'ensembler des programmes du système), et on supprime tout ce qui n'est pas utilisé.

      Je précise que pour le moment je n'ai aucun besoin particulier, c'est plus une question de curiosité qu'autre chose (pour savoir si ca existe ou non, pour éventuellement me pencher sur la question si le besoin s'en fait sentir), et comme je sais que certains contributeurs ici travaillent dans l'embarqué ...

      En tout cas merci a tous pour vos réponses.
  • # Re: Linux et embarqué

    Posté par  . Évalué à 2.

    Bonjour,

    Dans cet esprit de bibliothèques partagées , as tu regardé du coté de
    http://www.busybox.net/(...) ? C'est une possibilité pour gagner un espace parfois précieux ...

    Il y également http://tinylogin.busybox.net/(...)

    et http://uclibc.org/uClibc.html(...)

    bonne chance
    • [^] # Re: Linux et embarqué

      Posté par  . Évalué à 2.

      Oui, Busybox, TinyLogin et la uClibc, ça permet de gagner pas mal de place et en même temps d'utiliser un grand nombre d'applications ;
      Voir par exemple : http://www.uclibc.org/dists/uwoody/(...)

      De mon côté, j'ai déjà eu besoin de compiler PostgreSQL, ulogd, Prelude-IDS, la SDL avec la uClibc sans problèmes majeurs. Note : j'étais également parti des scripts de compilation des paquets d'une Slackware.
  • # Re: Linux et embarqué

    Posté par  . Évalué à 2.

    strip est ton ami

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.