Hallo Flugis,
bekomme mit meinem System ein bisschen Platzprobleme (nur ca 6MB verfügbar). Ich baue mein
Linux mit Yocto (core-image-minimal) womit ich bei (komprimert uramdisk.image.gz) bei ca
3MB bin.
Dazu brauche ich noch zwei drei Pakete, u.a. ssh und gnupg. Die hauen eine ganze Menge
Zeug (bins, libs) raus. -> 9MB
Vieles davon benötige ich nicht, wenn man keys z.B. importiert kann man auf den
key-generator verzichten ...
Ich frage mich, wie kann ich mein System systematisch verschlanken?
Schaut man auf den Platzbedarf: den meisten benötigen libs und Programme
Mir bleibt nichts anderes übrig, als alle ausführbaren Programme durchzugehen und nicht
benutzte löschen. Dann muss man hoffen, dass nicht ein binary das andere aufruft oder es
in einem besonderen Anwendugsfall nicht doch noch gebraucht wird.
Für die libs habe ich folgendes geniales script gefunden:
find / -type f -perm /a+x -exec ldd {} \; | grep so | sed -e '/^[^\t]/ d' | sed
-e 's/\t//' | sed -e 's/.*=..//'
| sed -e 's/ (0.*)//' | sort | uniq -c | sort -n
Damit kann man alle libs auflisten und wie oft sie verwendet werden. Nicht verwendete
libs kann man entfernen. Oder muss man damit rechnen, das es eine lib eine andere
verwendet?
Andererseits wäre es ggf interessant, die binaries zu bestimmten großen libs zu finden, ob
man nicht auf diese verzichten kann. Wie kann man das machen?
Fällt euch noch was anderes ein?
In einem zweiten Schritt:
Hat jemand mit Yocto so viel Erfahrung, dass er weiß wie man Rezepte anpasst um z.B. aus
dem ssh-Paket beim Installieren nicht benötigten Kram zu entfernen?
Gruß
Arno
Zusatzfrage: Kann Yocto so eine uramdisk.image.gz aus einem image auch automatisch
erstellen? Ist immer ein paar Handgriffe bis man das manuell gebaut hat. Ich hab dazu
bisher nichts gefunden.