Eu configurei uma máquina virtual KVM (VM) com 8 núcleos de processador e 256 MB de RAM e nenhuma troca. Um texto baseado no Ubuntu Saucy 13.10 amd64 foi feito. Os pacotes essenciais para construir / recompilar o kernel 3.11.0 foram instalados.
- A arquitetura pretendida para construir o kernel é ARCH = x86_64.
- O kernel em execução é o amd64 3.11.0-18-generic.
- O Gcc é a versão 4.8.1 (Ubuntu / Linaro 4.8.1-10ubuntu9).
Ao executar o comando:
fakeroot make-kpkg -j 8 --initrd --append-to-version=-custom kernel_image kernel_headers"
Finalmente termina com:
make: *** [debian/stamp/build/kernel] Error 2
O primeiro erro na saída do console é:
CC drivers/gpio/gpio-stmpe.o
{standard input}: Assembler messages:
{standard input}:2242: Warning: end of file not at end of a line; newline inserted
{standard input}:4413: Error: unknown pseudo-op: '.l'
{standard input}: Error: open CFI at the end of file; missing .cfi_endproc directive
gcc: internal compiler error: Killed (program cc1)
Please submit a full bug report,
with preprocessed source if appropriate.
See <file:///usr/share/doc/gcc-4.8/README.Bugs> for instructions.
make[3]: *** [net/ipv6/udp.o] Error 4
make[2]: *** [net/ipv6] Error 2
make[2]: *** Waiting for unfinished jobs....
Minha primeira ideia é que a quantidade de memória de acesso aleatório (RAM) é confirmada como baixa (256MB).
Atualização 1
Depois de dar uma olhada no console, tenho certeza de que a máquina de compilação tem pouca RAM:
Out of memory: Kill process 8128 (cc1) score 117 or sacrifice child
Killed process 8128 (cc1) total-vm:102432kB, anon-rss:23184kB, file-rss:0kB
Atualização nº 2
Aumentar para 384 MB, 512 ou até 640 MB de RAM não é suficiente para parar as mensagens de erro "Sem memória".
Qual é a quantidade mínima de RAM necessária para criar o kernel ?