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

Support ARM JVM builds #91

Closed
CleverUnderDog opened this issue Mar 28, 2021 · 4 comments
Closed

Support ARM JVM builds #91

CleverUnderDog opened this issue Mar 28, 2021 · 4 comments

Comments

@CleverUnderDog
Copy link

What happened?

  • I was trying to run a spring built image on a Raspberry Pi and realized that it can't run on ARM Devices.

  • I thought it should be possible to configure the buildpack to use ARM builds of the JVM.

Build Configuration

  • What platform (pack, kpack, tekton buildpacks plugin, etc.) are you
    using? Please include a version: org.springframework.boot 2.4.1

  • What buildpacks are you using? Please include versions.

  • paketo-buildpacks/ca-certificates 2.1.0
    paketo-buildpacks/bellsoft-liberica 7.1.0
    paketo-buildpacks/executable-jar 5.0.0
    paketo-buildpacks/dist-zip 4.0.0
    paketo-buildpacks/spring-boot 4.1.0

@CleverUnderDog CleverUnderDog changed the title Support arm JVM builds Support ARM JVM builds Mar 31, 2021
@dmikusa
Copy link
Contributor

dmikusa commented Apr 13, 2021

Hi, so the issue of ARM support is much bigger than just swapping in the JRE/JDK ARM binaries. All of the buildpacks themselves as well as the lifecycle, which runs the buildpacks, are binaries that need to be built for ARM. That way the buildpacks can run in an ARM container, to install your ARM binaries, which will eventually run your ARM app. Plus we need ARM-based CI support so we can test & validate that platform. Full support for ARM is on the Buildpacks roadmap, but not something we can implement in the Java-related buildpacks at this time.

I would suggest following buildpacks/lifecycle#435 for updates (and of course 👍'ing that issue to show your interest/support).

I'm going to close this one out until things progress with the lifecycle. That domino needs to fall first. Rest assured we on the Java buildpacks team are watching that issue as well and plan to support ARM when it's feasible.

@dmikusa dmikusa closed this as completed Apr 13, 2021
@CleverUnderDog
Copy link
Author

I checked libjvm and was thinking about adding an architecture environment in order to support running images built with buildpacks. Of course the buildpack could only be built on x86 until the linked issue will be done.
But as a first step it shouldn't be too much work to get this working. Additionally this would allow to build images cross platform.

@onesail
Copy link

onesail commented Jan 2, 2022

Until paketo supports M1 I recommend to use jib v3.1.2:
https://github.com/GoogleContainerTools/jib/tree/master/jib-maven-plugin#platform-object supports platform arm64

@dmikusa
Copy link
Contributor

dmikusa commented Jan 3, 2022

We have preliminary support for arm64 and Java available. Please see https://github.com/dmikusa-pivotal/paketo-arm64 for more details. This is the first step in arm64 support & we'd like folks to try it out and give us feedback on what works/doesn't work for you.

For more details or all the up-to-date info on ARM64 support, please check out our #arm channel on the Paketo Slack.

Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants