Существует ли рекомендуемая версия GCC для компиляции ядра Linux?
Я нахожу заголовок ядра Linux "компилятором-GCC". Это включает информацию о ядре, рекомендовал версию GCC? Таким образом, я могу найти информацию о компиляции в исходном коде ядра Linux?
Необходимо смочь создать ядро Linux с довольно старой версией GCC, вероятно, назад до GCC 3.2. файл README верхнего уровня в Linux 4.9.4 упоминания:
- Make sure you have at least gcc 3.2 available.
For more information, refer to Documentation/Changes.
И Документация/Изменения дает список требуемых версий GCC (перечисленный как "GNU C") и другие зависимости от сборки для Linux, а также , как для проверки, какую версию каждого Вы в настоящее время устанавливали:
====================== =============== ========================================
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
Это - хорошая идея проверить Documentation/Changes
файл в источнике ядра, Вы - на самом деле планирование компиляции.
Со всем, что сказало, это - вероятно, хорошая идея использовать относительно последнюю версию GCC, так как более новые версии имеют лучшие оптимизаторы и таким образом могут часто производить более быстрый код, и так как более новые версии имеют больше читаемой диагностики, таким образом, может быть легче выяснить то, что пошло неправильно Ваших сбоев сборки.
В целом, я рекомендую использовать версию GCC, который официально упаковывается для Вашей системы. В Ubuntu версия GCC, который установлен как зависимость build-essential
метапакет, должна всегда быть необходимой, по крайней мере, для создания ядер, которые не являются далеки более новый, чем ядро, официально упакованное для Вашей системы.