Compilation du noyau Linux, quelle taille est nécessaire?

13

J'ai téléchargé le plus récent noyau Linux le plus stable, 2.6.33.2.

Je pensais que je testerais cela en utilisant VirtualBox. Je crée donc un disque dur de 4 Go de taille dynamique. Et installé CentOS 5.3 avec juste le minimum de packages.

J'ai configuré le make menuconfigavec juste les paramètres par défaut.

Après cela, j'ai couru makeet j'ai eu l'erreur suivante:

net/bluetooth/hci_sysfs.o: final close failed: No space left on device
make[2]: *** [net/bluetooth/hci_sysfs.o] Error 1
make[1]: *** [net/bluetooth] Error 2
make: *** [net] Error 2

La quantité d'espace qu'il me reste est:

# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      3.3G  3.3G     0 100% /
/dev/hda1              99M   12M   82M  13% /boot
tmpfs                 125M     0  125M   0% /dev/shm

Ma taille virtuelle est de 4 Go, mais la taille réelle est de 3,5 Go.

$ ls -hl
total 7.5G
-rw-------. 1 root root 3.5G 2010-04-13 14:08 LFS.vdi

Quelle taille dois-je donner lors de la compilation et de l'installation d'un noyau Linux? Y a-t-il des directives à suivre lors de cette opération? C'est ma première fois, alors expérimentez simplement cela.

ant2009
la source

Réponses:

1

Un noyau linux d'avril 2010 représente environ 60 Mo d'archive bzip2, ce qui, après décompression et compilation, prend environ 400 à 500 Mo.

Vous pouvez vérifier la taille de votre répertoire avec du -hscomme:

/mnt/storage/linux-2.6.33$ du -hs                               
437M    .
Ivan Petrushev
la source
1
Bonjour, si tel est le cas, alors pourquoi tout mon espace disque est-il utilisé? J'ai alloué un disque dur de 4 Go et installé uniquement CentOS avec uniquement les outils de développement et les bibliothèques. Ne devrait pas occuper autant d'espace disque. Lorsque j'ai installé CentSO, je viens de configurer 1 partition pour root et rien d'autre. Un problème avec ça?
ant2009
Vous pouvez rechercher ce qui mange votre espace avec du -h --max-depth=1run dans votre répertoire racine (/). Prenez le plus grand répertoire, allez-y, répétez. Faites ceci jusqu'à ce que vous trouviez vos porcs de disque.
Ivan Petrushev
1
Pour répertorier les fichiers dans le répertoire actuel triés par taille ls -lhS, et pour afficher les 10 fichiers les plus volumineux dans le répertoire actuel, utilisez ls -lhS|head -10.
Ivan Petrushev
4
Le problème vient de l'espace utilisé lors de la compilation, et non du déballage, des méthinks.
Nikana Reklawyks
Confirmant, la plupart de l'espace est utilisé lors de la compilation.
lethalman
4

Sur ma récente version AMD64 de 4.4.0-57 sur Ubuntu 16.04, j'avais besoin d'environ 14,5 Go d'espace pour les sorties de génération.

Cela semble beaucoup et il semble que ce soient principalement des fichiers transitoires (par exemple, des .ofichiers résultant de la compilation d'un .cfichier).

BeeOnRope
la source
3

Reportez-vous à ce lien >> https://ubuntuforums.org/showthread.php?t=2266609

J'ai compilé / créé le noyau Linux 4.0.0-rc1 sur mon HP Stream 13 (2 Go de RAM, Intel Celeron N2840 double cœur) sur la base des instructions claires sur https://wiki.ubuntu.com/KernelTeam/GitKernelBuild , et voici mon expérience:

Après le "git clone git: //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git" le disque utilisé dans le répertoire séparé du noyau: 1691 Mo

Lors de la création / compilation, l'espace disque utilisé est passé à 15674 Mo. Donc: plus de 15 Go ...

Le temps de compilation total était de: 299 minutes, ou 5 heures. Assez long, probablement causé par mon processeur lent et mon disque lent.

Deeksha Varshney
la source
Git est une bête entièrement différente. Vous téléchargiez généralement un instantané. Le dépôt git contient toute l'histoire du développement du noyau. De plus, la compilation ne prendra jamais autant de temps lorsque des options non pertinentes sont désélectionnées.
Daniel B
2

De Guide,

REMARQUE: Si vous n'avez pas beaucoup d'espace disque dans / usr / src, vous pouvez décompresser le paquet source du noyau sur n'importe quelle partition où vous avez de l'espace disque libre (comme / home). Parce que la compilation du noyau nécessite beaucoup d'espace disque pour les fichiers objets comme * .o. Pour cette raison, / usr / src / linux DOIT être un lien logiciel pointant vers votre répertoire source.

ukanth
la source
Cette réponse manque également de la quantité d'espace disque disponible (en Go) qui est nécessaire pour compiler le noyau: 1,7 Go ni 5,4 Go ne sont pas suffisants pour construire un noyau amd64-3.11.0 sur Ubuntu 13.10.
Pro Backup