Você deve ser capaz de construir o kernel do Linux com uma versão bem antiga do GCC, provavelmente de volta ao GCC 3.2. O nível superior Arquivo README no Linux 4.9.4 menciona:
- Make sure you have at least gcc 3.2 available.
For more information, refer to Documentation/Changes.
E Documentation / Changes fornece uma lista das versões requeridas do GCC (listadas como" GNU C ") e as outras dependências de compilação para o Linux, assim como como verificar qual versão de cada você atualmente instalou:
====================== =============== ========================================
Program Minimal version Command to check the version
====================== =============== ========================================
GNU C 3.2 gcc --version
GNU make 3.80 make --version
binutils 2.12 ld -v
util-linux 2.10o fdformat --version
module-init-tools 0.9.10 depmod -V
e2fsprogs 1.41.4 e2fsck -V
jfsutils 1.1.3 fsck.jfs -V
reiserfsprogs 3.6.3 reiserfsck -V
xfsprogs 2.6.0 xfs_db -V
squashfs-tools 4.0 mksquashfs -version
btrfs-progs 0.18 btrfsck
pcmciautils 004 pccardctl -V
quota-tools 3.09 quota -V
PPP 2.4.0 pppd --version
isdn4k-utils 3.1pre1 isdnctrl 2>&1|grep version
nfs-utils 1.0.5 showmount --version
procps 3.2.0 ps --version
oprofile 0.9 oprofiled --version
udev 081 udevd --version
grub 0.93 grub --version || grub-install --version
mcelog 0.6 mcelog --version
iptables 1.4.2 iptables -V
openssl & libcrypto 1.0.0 openssl version
bc 1.06.95 bc --version
Sphinx\ [#f1]_ 1.2 sphinx-build --version
====================== =============== ========================================
.. [#f1] Sphinx is needed only to build the Kernel documentation
É uma boa ideia verificar o arquivo Documentation/Changes
na origem do kernel que você está realmente planejando compilar.
Com tudo isso dito, é provavelmente uma boa ideia usar uma versão relativamente recente do GCC, já que as versões mais novas têm melhores otimizadores e, portanto, podem produzir códigos mais rápidos, e como versões mais novas têm diagnósticos mais legíveis, pode ser mais fácil descobrir o que deu errado na sua construção falhar.
Em geral, recomendo usar a versão do GCC que é oficialmente fornecida para o seu sistema. No Ubuntu, a versão do GCC que é instalada como uma dependência do build-essential
metapackage deve sempre ser suficiente, pelo menos para construir kernels que não são longe mais recentes que o kernel oficialmente empacotado para o seu sistema .