aboutsummaryrefslogtreecommitdiff
path: root/doc/source
diff options
context:
space:
mode:
authorTadas Sutkaitis <tadasas@gmail.com>2023-07-20 23:44:37 +0200
committerTadas <tadasas@gmail.com>2024-02-08 02:16:05 +0200
commit3ee1a82d8761902a75e075ccbcd8e9e02a226051 (patch)
tree135f2a4ac40e295f3e70c921c882276cc8c4e8f4 /doc/source
parent9ebd51f7991a76059e91be98ac579ff705954337 (diff)
downloadkolla-3ee1a82d8761902a75e075ccbcd8e9e02a226051.tar.gz
kolla-3ee1a82d8761902a75e075ccbcd8e9e02a226051.zip
add: cross-compile support
The main goal is to be able to build ARM images on standard x86 hardware. Add simple functions supported by python-py and podman-py to enable creation of container images on emulated architectures. Change-Id: I1526b460f6e271c2ec63ab3a3b1dc348d742e96d
Diffstat (limited to 'doc/source')
-rw-r--r--doc/source/admin/image-building.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/source/admin/image-building.rst b/doc/source/admin/image-building.rst
index f0c0e84c1..81e04f401 100644
--- a/doc/source/admin/image-building.rst
+++ b/doc/source/admin/image-building.rst
@@ -526,6 +526,28 @@ variables that will be picked up from the user env:
Also these variables could be overwritten using ``--build-args``, which have
precedence.
+Cross-compiling
+---------------
+
+It is possible to cross-compile container images in order to, e.g., build
+``aarch64`` images on a ``x86_64`` machine.
+
+To build ``ARM`` images on ``x86_64`` platform, pass the ``--base-arch`` and
+``--platform`` arguments:
+
+.. code-block:: console
+
+ kolla-build --platform linux/arm64 --base-arch aarch64
+
+.. note::
+
+ To make this work on x86_64 platform you can use tools like: `qemu-user-static
+ <https://github.com/multiarch/qemu-user-static>`_ or `binfmt
+ <https://github.com/tonistiigi/binfmt>`_.
+
+ To make this work on Apple Silicon you can use Docker Desktop or Podman
+ Desktop to build ``x86_64`` or native ``ARM`` images.
+
Known issues
============