Kompilując jądro Linuksa, jaki rozmiar jest potrzebny?

13

Pobrałem najnowsze, najbardziej stabilne jądro Linuksa, 2.6.33.2.

Myślałem, że przetestuję to za pomocą VirtualBox. Tworzę więc dysk twardy o dynamicznej wielkości 4 GB. I zainstalowałem CentOS 5.3 z minimalnymi pakietami.

Konfiguruję make menuconfigtylko z ustawieniami domyślnymi.

Następnie pobiegłem makei otrzymałem następujący błąd:

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

Pozostało mi miejsca:

# 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

Mój wirtualny rozmiar to 4 GB, ale rzeczywisty rozmiar to 3,5 GB.

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

Ile powinienem podać podczas kompilacji i instalacji jądra Linux? Czy są jakieś wytyczne, których należy przestrzegać? To mój pierwszy raz, więc po prostu eksperymentuję z tym.

ant2009
źródło

Odpowiedzi:

1

Jądro Linuksa z kwietnia 2010 r. Zawiera około 60 MB archiwum bzip2, które po rozpakowaniu i kompilacji zajmuje około 400-500 MB.

Możesz sprawdzić rozmiar katalogu za pomocą du -hs:

/mnt/storage/linux-2.6.33$ du -hs                               
437M    .
Ivan Petrushev
źródło
1
Cześć, jeśli tak jest, to dlaczego całe moje miejsce na dysku jest zajęte. Przydzieliłem dysk twardy 4 GB i zainstalowałem CentOS tylko z narzędziami programistycznymi i bibliotekami. Nie powinien zajmować tak dużo miejsca na dysku. Po zainstalowaniu CentSO po prostu konfiguruję 1 partycję dla roota i nic więcej. Masz z tym jakiś problem?
ant2009
Możesz sprawdzić, co zjada twoje miejsce, du -h --max-depth=1uruchamiając je w swoim katalogu głównym (/). Weź największy katalog, wejdź do niego, powtórz. Rób to, dopóki nie znajdziesz świń na dysku.
Ivan Petrushev
1
Aby wyświetlić listę plików w bieżącym katalogu posortowanym według rozmiaru, użyj ls -lhSi zobacz 10 największych plików w bieżącym użyciu katalogu ls -lhS|head -10.
Ivan Petrushev
4
Problem polega na tym, że miejsce jest używane podczas kompilacji, a nie rozpakowywania, metinków.
Nikana Reklawyks
Potwierdzając, większość miejsca jest używana podczas kompilacji.
lethalman
4

W mojej najnowszej wersji AMD64 4.4.0-57 na Ubuntu 16.04 potrzebowałem około 14,5 GB miejsca na wyniki kompilacji.

To wydaje się dużo i wydaje się, że są to najczęściej przejściowo potrzebne pliki (np. .oPliki wynikające z kompilacji .cpliku).

BeeOnRope
źródło
3

Zobacz ten link >> https://ubuntuforums.org/showthread.php?t=2266609

Skompilowałem / stworzyłem jądro Linuksa 4.0.0-rc1 na moim HP Stream 13 (2GB RAM, dwurdzeniowy Intel Celeron N2840) w oparciu o jasną instrukcję na https://wiki.ubuntu.com/KernelTeam/GitKernelBuild , i to jest moje doświadczenie:

Po „git clone git: //git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git” dysk używany w osobnym katalogu jądra: 1691 MB

Podczas make / compile używane miejsce na dysku wzrosło do 15674 MB. A więc: ponad 15 GB ...

Całkowity czas kompilacji wyniósł: 299 minut lub 5 godzin. Dość długi, prawdopodobnie spowodowany moim wolnym procesorem i wolnym dyskiem.

Deeksha Varshney
źródło
Git to zupełnie inna bestia. Zwykle pobierałeś migawkę. Repozytorium git zawiera całą historię rozwoju jądra. Kompilacja nigdy nie potrwa tak długo, gdy odznaczone zostaną niepotrzebne opcje.
Daniel B
2

Z przewodnika,

UWAGA: Jeśli nie masz dużo miejsca na dysku w / usr / src, możesz rozpakować pakiet źródłowy jądra na dowolnej partycji, na której masz wolne miejsce na dysku (jak / home). Ponieważ kompilacja jądra wymaga dużo miejsca na dysku dla plików obiektowych takich jak * .o. Z tego powodu / usr / src / linux MUSI być miękkim linkiem do twojego katalogu źródłowego.

ukanth
źródło
W tej odpowiedzi brakuje również ilości wolnego miejsca na dysku (w GB) wymaganej do skompilowania jądra: 1,7 GB ani 5,4 GB nie wystarczą do zbudowania jądra amd64-3.11.0 na Ubuntu 13.10.
Pro Backup