Skip to main content

A command-line tool to deal with Kria's clumsiness.

Project description

Movex

Usage

Movex supports three subcommands:

  • move: moves a ROS2 node from the host to the Kria's micro SD card
  • expand: expands micro SD's root partition taking up all available free space
  • build: cross-compile a ROS2 node on any host for Kria's arm64 architecture

Each subcommand has a different syntax and supports a different set of parameters. Use -h option to retrieve it:

python3 -m movex {move,expand,build} -h

Installation

From PyPI (suggested)

Install with pip by running:

pip install movex

Make sure pip is invoked by, at least, python version 3.12.

From source

Clone this repository.

To install the dependencies, run the following command:

pip install -r requirements.txt

Docker Container Setup

When we compile a ROS2 node from our machines, the node will be compiled for the architecture of the host PC (e.g. x86, ...), while we want the node to be compiled for arm64 (also named aarch64) to stay consistent with the Kria architecture. IMPORTANT: run the docker image at least once before using movex.

Pull from Docker Hub (suggested)

Download image from Docker Hub:

  docker pull doclorenzo/mmr-cross-compilation:1.0

Compose Based Procedure

Clone mmr-cross-compilation repository.

Run the docker image from compose file:

SRC_PATH=<mmr-kria-drive-path> docker compose run --rm mmr-cross-compile-container

Set mmr-kria-drive-path to the absolute path of the mmr-kria-drive source code

Dockerfile Procedure

Clone mmr-cross-compilation repository.

If you are not willing to use the compose-based procedure, you can always opt for the manual procedure which involves build and interactive execution of the image.

  1. Build container

    docker build -t mmr-cross-compile <dockerfile_folder> --platform=linux/arm64/v8
    
    • dockerfile_folder: path of the folder where it is contained the Dockerfile
  2. Run the docker image:

    docker run --platform=linux/arm64/v8 --rm -it --volume=<mmr-kria-drive-path>:/home/mmr-kria-drive <image_name> 
    
    • mmr-kria-drive-path: absolute path of the mmr-kria-drive source code
    • image_name: name of the contaier (e.g. mmr-cross-compile)

ATTENTION: the changes that are made to the container in the /home folder will also be made inside the filesystem that launches the container, so in this case, in the folder

Throubleshooting

If you are here, we both know that something went wrong... don't give up and see if one of your problems (because there will be several of them) have a solution in the following list:

  1. Can't build/run the docker image, giving back this error: exec /bin/bash: exec format error

    Let's give a try on this:

    docker run --privileged --rm tonistiigi/binfmt --install all 
    

    for further information, checks the docker docs

  2. Docker engine not found. Make sure to have a running Docker engine!

    Probably the docker engine is not autorizhed to accept commands from your current user, try:

     sudo usermod -aG docker $USER
    

    then reboot your system.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

movex-1.1.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

movex-1.1-py3-none-any.whl (19.5 kB view details)

Uploaded Python 3

File details

Details for the file movex-1.1.tar.gz.

File metadata

  • Download URL: movex-1.1.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for movex-1.1.tar.gz
Algorithm Hash digest
SHA256 5767e34d33dc86cb7d2e73c23d2a8a9d89dae2ecf27c7f3b50705e1490cadf80
MD5 dea1d77c28d562100e15ac648ace9d17
BLAKE2b-256 b9a318b95678aed8df7499bf7a92f5bdd9ed25bf55adb0efb53d91647858de92

See more details on using hashes here.

File details

Details for the file movex-1.1-py3-none-any.whl.

File metadata

  • Download URL: movex-1.1-py3-none-any.whl
  • Upload date:
  • Size: 19.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.2

File hashes

Hashes for movex-1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9c123bddc363683d915c84bd7b34b42f814767574fded85d9f459944e03ffa8f
MD5 2bec37370c34c35e91fa68d950424af8
BLAKE2b-256 b64c33dd28859d5d61c60b024bfbeb2cdafef69362add38ff217149a9db96842

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page