GNU/Linux >> Linux Esercitazione >  >> Linux

La build di Bitbake consuma più spazio

In ordine di efficacia e quanto è facile la correzione:

  • Acquista più spazio su disco: Mettere $TMPDIR su un proprio SSD aiuta molto ed elimina la necessità di microgestire.
  • Elimina $TMPDIR (build/tmp): le vecchie immagini, i vecchi pacchetti e le directory di lavoro/sysroot per le MACCHINE che attualmente non stai creando si accumulano e possono occupare molto spazio. Normalmente puoi semplicemente eliminare l'intero $TMPDIR una volta ogni tanto:finché utilizzi sstate-cache, la build successiva dovrebbe essere comunque piuttosto veloce.
  • Elimina $SSTATE_DIR (build/sstate-cache): Se fai molte build, lo stato stesso si accumula nel tempo. L'eliminazione della directory è sicura, ma la build successiva richiederà molto tempo poiché tutto verrà ricostruito.
  • Elimina $DL_DIR (build/download): Se usi una directory di build per molto tempo (mentre estrai gli aggiornamenti dal master o passi a un ramo più recente) i download obsoleti continuano a occupare spazio su disco. Tieni presente che l'eliminazione della directory significherà riscaricare tutto. Guardare solo i file più grandi ed eliminare le vecchie versioni può essere un utile compromesso qui.

Ci sono alcuni modi ufficiali invece di eliminare.

Eliminando deliberatamente potresti forzare build e download non necessari. Alcuni elementi della build potrebbero non essere controllati da bitbake e potresti trovarti in una situazione in cui non puoi ricostruire questi elementi in modo semplice.

Con questi consigli, puoi battere la regola non scritta di 50 GB per build yocto:

Controlla il tuo IMAGE_FSTYPES variabile. La mia esperienza dice che è sicuro eliminare tutte le immagini di questi file che non sono collegamenti simbolici o target di collegamenti simbolici. Evita l'ultimo generato per evitare di interrompere l'ultimo link di compilazione e qualsiasi cosa relativa a bootloader e file di configurazione, in quanto potrebbero essere rigenerati raramente.

Se stai conservando più di una build con lo stesso set di livelli, puoi utilizzare una cartella di download comune per le build.

DL_DIR ?="common_dir_across_all_builds/downloads/"

E dopo:

Per mantenere pulito il tuo /deploy:

RM_OLD_IMAGE: Recupera spazio su disco rimuovendo le versioni create in precedenza della stessa immagine dalla directory delle immagini indicata dalla variabile DEPLOY_DIR.Imposta questa variabile su "1" nel tuo file local.conf per rimuovere queste immagini:

RM_OLD_IMAGE = "1"

IMAGE_FSTYPES Rimuovi i tipi di immagine che non intendi utilizzare, puoi sempre abilitarne uno in particolare quando ne hai bisogno:

IMAGE_FSTYPES_remove = "tar.bz2"

IMAGE_FSTYPES_remove = "rpi-sdimg"

IMAGE_FSTYPES_remove = "ext3"

Per /tmp/work, non sono necessari tutti i file di lavoro di tutte le ricette. Puoi specificare quali sei interessato al tuo sviluppo.

RM_WORK_EXCLUDE :Con rm_work abilitato, questa variabile specifica un elenco di ricette le cui directory di lavoro non devono essere rimosse. Vedere la sezione "rm_work.bbclass" per maggiori dettagli.

INHERIT += "rm_work"

RM_WORK_EXCLUDE += "home-assistant widde"


Linux
  1. Spazio su disco esaurito nella partizione /usr/ports, come posso creare porte?

  2. Ho bisogno di spazio di scambio se ho una quantità di RAM più che sufficiente?

  3. Niente più spazio nel filesystem di root, come potrei aumentare le dimensioni?

  4. Come allocare più spazio per scambiare e aumentarne le dimensioni maggiori di Ram?

  5. Come posso compilare qualcosa per Linux se non ho abbastanza spazio per installare GCC?

Trova ed elimina il file più vecchio se ci sono più di X file in una directory in Linux

Come disabilitare il Dock su Ubuntu 20.04 e guadagnare più spazio sullo schermo

Cercapersone terminali

Perché usare Swap quando c'è spazio libero più che sufficiente nella RAM?

Dare più spazio su disco rigido a Ubuntu?

Come risolvere il problema:almeno xMB in più di spazio necessario sul filesystem /boot