Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[WIP] Non-x86 build support #3

Closed
wants to merge 14 commits into from
Closed

Conversation

dhendrix
Copy link
Contributor

This makes the build files more generic so that we can easily build non-x86 targets. Basically, it removes hardcoded assumptions about x86_64/amd64 and makes VPD optional since coreboot does not support it on all targets.

So far I've built successfully on ppc64le. Next up: RISC-V, Aarch32/64, etc...

TODO: Figure out how to invoke qemu/qemu-system for each target.

Add an ARCH variable and replace the hardcoded "amd64" with a string
derived from `uname -m` in order to build non-x86 initramfs images.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Replace crossgcc-i386 with crossgcc-${ARCH} based on the
architecture passed in from Makefile.inc.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Make VPD support optional in order to enable builds for more mainboard
targets. VPD should still be added for production usage, this is
mostly intended to help get new targets up and running.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Linux calls "amd64" "x86_64".

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Accomodate different paths to the kernel image for various
architectures.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Make the build and qemu invocation more cross-platform friendly.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
GOARCH needs to reflect the target architecture. GOROOT needs to point
at GOROOT that is compatible with the host.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
Leverage coreboot's buildgcc to build a suitable Linux toolchain if
needed.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
This adds QEMU, Linux, and coreboot configs for ppc64le.

For now we assume power8 as the coreboot qemu target, but this will
likely change soon.

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
This can (and should) be simplified...

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
This is mostly to workaround compilation issues I had with GCC 8.3.0...

Signed-off-by: David Hendricks <david.hendricks@gmail.com>
@dhendrix
Copy link
Contributor Author

dhendrix commented Dec 16, 2021

Changed the branch name to crossbuild. "non-x86" is not accurate since the goal is to build to/from various host types, including x86.

@dhendrix dhendrix closed this Dec 16, 2021
@dhendrix dhendrix deleted the non-x86 branch January 9, 2022 23:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
1 participant