Grant Edwards
2022-10-10 16:10:01 UTC
I regularly need to build old Linux kernels (as far back as 2.6), and
have a variety of older versions of gcc installed and a shell script
that knows what versions of gcc to use for what kernel versions. Using
an old version of GCC is simple: you just specify it on the command
line when doing the make:
$ cd linux-3.whatever
$ make distclean
$ make defconfig
$ make GCC=/usr/bin/gcc-4.3.6 modules
After some recent updates, I now get an 'ld' failure on some old
kernel buils. From what I've read it seems that I now need to also use
older binutils versions, and that's got me stumped. I've tried adding
LD=/path/to/ld to the make, but that appears to be ignored.
Can somebody give a clue how to specify the binutils to be used when
building a Linux kernel?
Thanks...
--
Grant
have a variety of older versions of gcc installed and a shell script
that knows what versions of gcc to use for what kernel versions. Using
an old version of GCC is simple: you just specify it on the command
line when doing the make:
$ cd linux-3.whatever
$ make distclean
$ make defconfig
$ make GCC=/usr/bin/gcc-4.3.6 modules
After some recent updates, I now get an 'ld' failure on some old
kernel buils. From what I've read it seems that I now need to also use
older binutils versions, and that's got me stumped. I've tried adding
LD=/path/to/ld to the make, but that appears to be ignored.
Can somebody give a clue how to specify the binutils to be used when
building a Linux kernel?
Thanks...
--
Grant