container: Unable to launch on Debian VMs with ARM64 architecture
Why: ARM64 processors are becoming popular on desktops and servers. Linux kernel 6.2 has added support for Apple M1 processors.
Test report:
I tried to launch the container on two Debian 11 virtual machines with ARM64 architecture. One is a QEMU VM on Apple Silicon (M1 processor) and the other is an AWS EC2 instance running an AWS Graviton2 processor. The result is the same. Error: Can't have overlapping partitions.
Note: Before running ./container up
, change the URL of the testing image to that of the ARM64 image, instead of the AMD64 one.
> Decompressing file /home/admin/freedombox/.container/freedombox-testing_latest_all-arm64.img.xz
/home/admin/freedombox/.container/freedombox-testing_latest_all-arm64.img.xz (1/1)
100 % 530.3 MiB / 3800.0 MiB = 0.140 89 MiB/s 0:42
> Resizing disk image to 16G
Warning: Not all of the space available to /home/admin/freedombox/.container/freedombox-testing_latest_all-arm64.img appears to be used, you can fix the GPT to use all of the space (an extra 25772032 blocks) or continue with the current setting?
Error: Can't have overlapping partitions.
Traceback (most recent call last):
File "/home/admin/freedombox/./container", line 1064, in <module>
main()
File "/home/admin/freedombox/./container", line 1060, in main
subcommand_method(arguments)
File "/home/admin/freedombox/./container", line 991, in subcommand_up
_resize_disk_image(image_file, arguments.image_size)
File "/home/admin/freedombox/./container", line 545, in _resize_disk_image
subprocess.run([
File "/usr/lib/python3.9/subprocess.py", line 528, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['sudo', 'parted', '--align=optimal', '--script', '/home/admin/freedombox/.container/freedombox-testing_latest_all-arm64.img', 'resizepart', '1', '100%']' returned non-zero exit status 1.
If you have tested this on any other ARM64 machines (especially on physical machines), please post your findings in the comments.