[yocto] Newbie questions on cross-building packages for PPC

Alexander Kanavin alex.kanavin at gmail.com
Sun Feb 24 05:33:04 PST 2019


On Sat, 23 Feb 2019 at 22:18, Philip Prindeville
<philipp_subx at redfish-solutions.com> wrote:
> I’ve worked on a lot of embedded projects involving cross-building (like AstLinux and OpenWrt), but I’m new to Yocto so please bear with the noob questions.
>
> I’d like to build packages (mostly RPM’s, plus a Linux kernel or three) on an x86_64 (AMD64) Linux (CentOS 7.6) platform, but for e500v2 and 85xxDP PPC targets.
>
> What do I need to do to set up a toolchain and environment to be able to do that?

First, you need to figure out which BSP layer provides support for
your targets. What boards are you targeting?

> Ideally, I’d also like to set up an RPM target so I could use “rpmbuild --target e500v2-unknown-linux” (or whatever) and it would use the correct compiler, linker, archiver, sysheaders, etc.
>
> Advice on both of these, or just pointers to instructions on how to set it all up, would be great.

I'd suggest you start with the yocto quickstart guide, so you'll know
the basic procedures.
https://www.yoctoproject.org/docs/latest/brief-yoctoprojectqs/brief-yoctoprojectqs.html

> For instance, do I need one compiler only that can handle multiple processor variants via the --march= flag, or is this not the right way to go?  And similarly, since the linker can rewrite code (shortening branch offsets, peep-hole optimization, unreachable code removal, etc.) do I need different linker versions for the 2 PPC variants?

This is what BSP layers do, they define a target machine (which
includes compiler and linker settings), and give it a name. Then you
place that name in your configuration file, and the target build
process will sort itself out.

Alex


More information about the yocto mailing list