-
Notifications
You must be signed in to change notification settings - Fork 119
Fix issue with Buster base image and add support for arm64 #95
base: master
Are you sure you want to change the base?
Conversation
Fixes #94 ? |
Dockerfile.aarch64
Outdated
### | ||
# Build stage | ||
## | ||
FROM balenalib/raspberrypi3-node:10-build as build |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to https://www.balena.io/docs/reference/base-images/devicetypes/ raspberrypi3
is armv7hf
, not aarch64
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes, we use the rpi3 base image for 32-bit support
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
So why is the rpi3 base image being used in Dockerfile.aarch64
? Apologies if I'm not understanding something.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lurch because the 32-bit raspberrypi base image also has the raspbian repositories, so it's not directly the armv7hf
base image. Here those might or might not be used, but for other device types, e.g. a Pi3, it would be a balenalib/raspberrypi3-node
base image, and it's better to be on par, than one device type using the architecture base image, the other the device type bsae image (where they are not direcly the same)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@rahul-thakoor maybe I would specify 10-buster-build
here and in the other one, to ensure it's the right kind of debian, and less surprising.
Also, have you tried to build with 12-
? If we could bump that it would be grand!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I still don't quite see why the "32-bit raspberrypi base image" is being used in the 64-bit Dockerfile.aarch64, but I'm not really that bothered so I won't bother hassling you any further 🙂
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@lurch there might be cases where 64bit packages or libraries are not available. so using 32-bit base image we can still make use of those on a 64bit system. Perhaps the following 2 PRs might be helpful to understand:
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, so even though the filename says Dockerfile.aarch64, the actual built image is actually all 32-bit code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, Dockerfile.aarch64
targets 64bit systems and on those, we explicitly use 32-bit images otherwise they would default to the 64-bit ones
e49b04e
to
167d98b
Compare
- replace `libgnome-keyring` with `libsecret` - add dockerfile targeting arm64 Change-type: minor Signed-off-by: Rahul Thakoor <rahul@balena.io>
167d98b
to
4e7faf3
Compare
Change-type: minor Signed-off-by: Rahul Thakoor <rahul@balena.io>
@imrehg I pinned the based image to buster and use node-12 |
@rahul-thakoor how did you make it to work with pi4? Did you use the Dockerfile.aarch64? To me it seems like it's targeting 32bit, it says and now I started to build it all the packages are |
But, sir! It works! Using armhf build and rpi4. Maybe not ideal. Should test for raspberrypi4-64-node support too, it would be fantastic! |
Hi, |
libgnome-keyring
withlibsecret
Change-type: minor
Signed-off-by: Rahul Thakoor rahul@balena.io