[Buildroot] Need help with cross-compiler configuration
Arnout Vandecappelle
arnout at mind.be
Thu Aug 31 07:56:17 UTC 2017
On 31-08-17 09:16, Baruch Siach wrote:
> Hi Aseem,
>
> On Thu, Aug 31, 2017 at 12:30:05PM +0530, Aseem Sharma wrote:
>> On Thu, Aug 31, 2017 at 12:18 AM, Baruch Siach <baruch at tkos.co.il> wrote:
>>> On Wed, Aug 30, 2017 at 08:19:33PM +0530, Aseem Sharma wrote:
>>>> I am naive to buildroot & processor world trying to compile
>>>> "buildroot-2017.02.5" for "Marvell ARM Armada 166E processor (compatible
>>> to
>>>> ARMv5TE instruction-set)" based old system.
>>>>
>>>> I compiled the buildroot (kernel, rootfs & cross-compiler) by setting
>>> arm926t
>>>> (little-endian) as target arch/variant as suggested by Arnout/Baruch in
>>>> response to my old query. However, now I am having trouble booting the
>>>> system with the new buildroot created zImage. I do not seem to get any
>>>> output/log on the system screen after flashing this new image onto the
>>>> system.
>>>
>>> Which kernel did you use?
>>
>> [Aseem] I am using the zImage built by default kernel version with
>> "buildroot-2017.02.5" ie. "4.9.13"
>
> Do you have any reason to believe that this kernel supports your target? You
> will most likely need to write a device-tree file for your target. This is
> purely kernel related, so out of scope for Buildroot and for this list.
Indeed, you'll have to find a kernel and a kernel configuration that supports
your device. You can take a look at arch/arm/configs and arch/arm/boot/dts in
the kernel to see if there is anything that matches your device. Or do a
websearch for the combination of your device name and 'linux kernel'.
[snip]
>>>> *Screen Output on Target:*
>>>>
>>>> *# *./test
>>>> *./test: line 1: syntax error: unexpected ")"*
This is indeed indicative of a kernel that doesn't support EABI, or maybe it
doesn't even support ELF. So if you keep using that older kernel, you will also
need to use a toolchain that supports OABI. I know of no easy way to determine
the ABI supported by the kernel. Maybe /proc/cpuinfo gives some insight, or else
you can look at /proc/config.gz (if available) but that's a bit complicated to
analyze.
[snip]
>>> Did you build your test program statically? If not, which libc variant do
>>> you
>>> use?
That's not going to help. If it's a dynamic library issue, you'll get a "No
such file or directory" error (because it can't find the dynamic linker).
[snip]
>> [Aseem] Do you mean that I have to pick up an older version of buildroot to
>> make this work on my device? If yes, coould you please point me to the
>> correct build to be used.
>
> The Config.in.legacy file lists the BR2_ARM_OABI config symbol under "Legacy
> options removed in 2013.08". So you might have luck with an earlier release.
I think it is still possible to use an OABI external toolchain, I don't think
there's an explicit check for that. So you just have to find an old toolchain.
Regards,
Arnout
--
Arnout Vandecappelle arnout at mind be
Senior Embedded Software Architect +32-16-286500
Essensium/Mind http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint: 7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF
More information about the buildroot
mailing list