[so2] Problemă build Linux kernel

Lucian Mogosanu lucian.mogosanu at cs.pub.ro
Sun Feb 12 20:42:28 EET 2017


Gabriel Ivașcu via so2 <so2 at cursuri.cs.pub.ro> writes:
> Salutare,
>
> Am încercat să fac build pe mașina proprie (Fedora 25) la kernel-ul de
> Linux [0] pus la dispoziție, urmând specificațiile de aici [1], dar am
> întâmpinat câteva probleme la pasul make -j $((`nproc`+1))

*snip*

> După câteva căutări pe Google am înțeles că eroarea (1) este specifică
> versiunilor mai vechi de Linux kernel care nu sunt compatibile cu cea
> mai recentă versiune de GCC (v6+, eu având v6.3.1). Singurul fix
> menționat era înlocuirea fișierelor compiler-gcc*.h (din
> /usr/src/linux-so2 în cazul meu) cu fișierul compiler-gcc.h specific
> kernel-ului propriu din /usr/src/kernels (e.g.
> /usr/src/kernels/4.9.8-201.fc25.x86_64+debug/include/linux/compiler-gcc.h).

Salut Gabriel,

Cred că ar fi mai sigur să încerci să compilezi cu o versiune mai veche
de GCC (de exemplu GCC 4.9 sau 5.x). Poți seta toolchain-ul cu care să
compilezi kernel-ul folosind variabila CROSS_COMPILE [1]. Opțiunea e
folosită în mod normal pentru compilarea pentru alte arhitecturi, dar nu
văd de ce nu ai putea face cross-compiling pentru arhitectura curentă.

Văd că există un ghid de compilare a GCC pentru versiuni mai vechi de
kernel [2], pașii ar trebui să fie cam aceiași și pentru ce ai nevoie
tu.

> [0] http://elf.cs.pub.ro/so2/res/linux-3.13-update-2016-03-06.tar.bz2
[1]: https://www.kernel.org/doc/index-old.html#cross_compiling
[2]: http://lxr.free-electrons.com/source/Documentation/using-newer-gcc.txt?v=2.4.37

Lucian


More information about the so2 mailing list