diff --git a/distrobox-create b/distrobox-create index 2d5388a5cd..f618ee4818 100755 --- a/distrobox-create +++ b/distrobox-create @@ -66,6 +66,7 @@ container_image_default="registry.fedoraproject.org/fedora-toolbox:latest" container_init_hook="" container_manager="autodetect" container_manager_additional_flags="" +container_platform="" container_name="" container_name_default="my-distrobox" container_hostname="" @@ -214,6 +215,7 @@ Options: this will make host's processes not visible from within the container. (assumes --unshare-process) may require additional packages depending on the container image: https://github.com/89luca89/distrobox/blob/main/docs/useful_tips.md#using-init-system-inside-a-distrobox --nvidia: try to integrate host's nVidia drivers in the guest + --platform: specify which platform to use, eg: linux/arm64 --unshare-devsys: do not share host devices and sysfs dirs from host --unshare-groups: do not forward user's additional groups into the container --unshare-ipc: do not share ipc namespace with host @@ -399,6 +401,13 @@ while :; do shift fi ;; + --platform) + if [ -n "$2" ]; then + container_platform="--platform=${2}" + shift + shift + fi + ;; -a | --additional-flags) if [ -n "$2" ]; then container_manager_additional_flags="${container_manager_additional_flags} ${2}" @@ -654,6 +663,7 @@ generate_create_command() { # Set the container hostname the same as the container name. result_command="${container_manager} create" + result_command="${result_command} ${container_platform}" # use the host's namespace for ipc, network, pid, ulimit result_command="${result_command} --hostname \"${container_hostname}\" @@ -1015,7 +1025,7 @@ if [ "${container_always_pull}" -eq 1 ] || case "${response}" in y | Y | Yes | yes | YES) # Pull the image - ${container_manager} pull "${container_image}" + ${container_manager} pull ${container_platform} "${container_image}" ;; n | N | No | no | NO) printf >&2 "next time, run this command first:\n" diff --git a/docs/usage/distrobox-create.md b/docs/usage/distrobox-create.md index 73869856e3..f51a246673 100644 --- a/docs/usage/distrobox-create.md +++ b/docs/usage/distrobox-create.md @@ -36,6 +36,7 @@ graphical apps (X11/Wayland), and audio. this will make host's processes not visible from within the container. (assumes --unshare-process) may require additional packages depending on the container image: https://github.com/89luca89/distrobox/blob/main/docs/useful_tips.md#using-init-system-inside-a-distrobox --nvidia: try to integrate host's nVidia drivers in the guest + --platform: specify which platform to use, eg: linux/arm64 --unshare-devsys: do not share host devices and sysfs dirs from host --unshare-groups: do not forward user's additional groups into the container --unshare-ipc: do not share ipc namespace with host