I'm trying to build the linux-ls1043a kernel from the LS1043A SDK v0.4 "standalone", that is, without using bitbake and the OE build system. The USB stick came with a cross compiler in an self-extractable archive called 'fsl-networking-eglibc-x86_64-aarch64-toolchain-QorIQ-SDK-V1.7.sh'. I've installed the cross compiler package and was able to compile most of the kernel. One issue was that I needed to unset LDFLAGS to get around a couple of "unknown options" problems. I'm not sure how to fix the last problem, the final link of vmlinux.o :
LD drivers/built-in.o
LINK vmlinux
LD vmlinux.o
aarch64-fsl-linux-ld: cannot find libgcc.a: No such file or directory
aarch64-fsl-linux-ld: cannot find libgcc.a: No such file or directory
This appears to be the same issue as discussed in [1/9] linux-yocto: depend on libgcc for aarch64 - Patchwork - the fix, however, is not applicable: The patch makes sure that the "libgcc" package gets installed into the sysroot. I find this slightly surprising, because the sysroot of the external toolchain package does contain a libgcc.a.
Could someone advise how to get this kernel correctly link?
Hello Reinhard Tartler,
After install the Toolchain, please build Kernel image with the following commands.
$source <Toolchain_PATH>/environment-setup-aarch64-fsl-linux
Go to Kernel folder
$unset LDFLAGS
$make Image CC="aarch64-fsl-linux-gcc --sysroot=/home/b25805/test/toolchain/sysroots/aarch64-fsl-linux"
Have a great day,
Yiping
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------