Page 1 of 1
Cross-compiling 32-bit make help needed
Posted: Mon Oct 07, 2024 1:03 pm
by peebee
Can anyone help?
Woof-CE kernels are built on Github
Github only provides 64-bit runners (hosts)
32-bit kernels built via Github Actions are 32-bit but the linux-sources produced contain 64-bit binaries
Woof-CE kernel kit has some (old) mechanisms for doing ARM cross-compiles and examples of config files for same.
However these do not seem to work for 32-bit x86 cross compiles
So......... is there a mechanism to pass to make a request that a 32-bit compile should be done?
By googling I have seen suggestions such as:
make ARCH=i386 CROSS_COMPILE=i686-linux-gnu-
but these don't work giving:
make ARCH=i386 CROSS_COMPILE=i686-linux-gnu- oldconfig
scripts/Kconfig.include:39: C compiler 'i686-linux-gnu-gcc' not found
Any ideas anybody??
Thanks
Re: Cross-compiling make help needed
Posted: Mon Oct 07, 2024 6:26 pm
by Keef
Re: Cross-compiling 32-bit make help needed
Posted: Fri Oct 11, 2024 12:59 pm
by peebee
I have tried everything I can think of ........... and still get 64-bit binaries.
I'm attaching (remove .false.gz or open as text):
the kernel kit config file: build.conf
the kernel kit build script: build.sh
the Makefile - see lines 375 & 633 & 442
and a cut down log produced when attempting to build 32-bit kernel 6.1 at:
https://github.com/peabee/woof-CE/tree/crosstest
Search the log for 'scripts'
Is HOSTCC somehow not getting set to -m32 ?????
Any other advice? (thanks keef)
Re: Cross-compiling 32-bit make help needed
Posted: Sat Oct 12, 2024 1:34 am
by ozsouth
@peebee - Using my kerkit32, which works (pm'd to you), in my build.conf, I enable pae, but don't use SET_MAKE_COMMAND, as my build32.sh says "SET_MAKE_COMMAND is used for cross compiling ARM kernels".
Re: Cross-compiling 32-bit make help needed
Posted: Sat Oct 12, 2024 10:24 am
by peebee
I found:
https://patchwork.kernel.org/project/li ... omium.org/
Which says:
CC: for building tools that run on the target machine
HOSTCC: for building tools that run on the build machine
and:
most tools are target tools, not host tools.