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 for aarch64 #159

Open
leonrinkel opened this issue Aug 29, 2023 · 7 comments
Open

Support for aarch64 #159

leonrinkel opened this issue Aug 29, 2023 · 7 comments
Assignees

Comments

@leonrinkel
Copy link

Examples such as A00-simple-peering fail on aarch64 machines, with misleading errors claiming missing Docker credentials. This is due to missing aarch64 variants for the hosted images handsonsecurity/seedemu-base and handsonsecurity/seedemu-router. I was able to get it running by locally building and tagging images from the docker_images folder beforehand (e.g. docker build -t handsonsecurity/seedemu-base .). I think it would be great if you could provide aarch64 images as well and/or include a notice on building images in README.md. Thanks.

@wonkr wonkr self-assigned this Aug 29, 2023
@kevin-w-du
Copy link
Member

Thanks, this is a good suggestion. In addition to building images for different architecture, we will also think about adding this into our design, i.e., when building the emulator, we can allow users to specify the target platform. Our code will then add the corresponding platform option to the docker-compose file.

@kevin-w-du
Copy link
Member

Are you running this on Raspberry Pi? We plan to get one with the aarch64 architecture, so we can build the container image and conduct testing.

@leonrinkel
Copy link
Author

I'm using an Apple silicon Mac, but I'm sure a Raspberry Pi would work as well.

@kevin-w-du
Copy link
Member

Somebody else suggested that running export DOCKER_DEFAULT_PLATFORM=linux/x86_64 would solve the problem for Mac (m1/m2) machines. I don't have such a machine, so don't have a way to verify that. Can you try this and see whether this solves your problem? If so, the solution will be much easier.

@leonrinkel
Copy link
Author

export DOCKER_DEFAULT_PLATFORM=linux/x86_64 did indeed work. Docker then uses Rosetta 2 translation to execute the x86_64 image. I was even able to use this in an aarch64 Ubuntu VM.

@kevin-w-du
Copy link
Member

Good to know, and thanks for your help. I have decided to buy an Mac Mini M2 machine, so we can do testing on this platform. We would like to support both Intel/AMD and ARM platforms.

@kevin-w-du
Copy link
Member

We will keep this issue open, until we completely resolve it.

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