Ingenuity Helicopter above Perseverance on Mars (wallpaper) image credit: NASA/JPL-Caltech
This repo provides the source code for building an Immutable-Infrastructure-as-Code (IIAC) workspace image, using Kasm, for the F´(F Prime) flight software and embedded systems framework, based on an Ansible template for KASM Ubuntu Jammy images. The workspace is configured with the following:
- FPrime Community Projects
- Cross Compile Toolchain for embedded Linux
- gcc-arm-linux-gnueabihf
- g++-arm-linux-gnueabihf
- gdb-multiarch
- build-essential
- openssl
- cmake v3.23
- git cli
- Keychain
- Firefox
- Python 3.10 (part of the image template) with the following packages (not part of the image template)
- Arduino tools for building fprime for embedded platforms
- Arduino IDE 2.2.1
- Arduino CLI 0.33.1
- Arduino CLI CMake Wrapper
- Arduino Pico 3.3.0
- Arduino ESP32 2.0.9
- Teensy
- Adafruit board index esptools-0.4.2-winfix
- VS Code with the following extensions (note, auto-updates are disabled)
- Docker
- Git
- A Bash terminal (standard terminal environment for *nix and macOS).
- UDEV Rules for Teensy boards placed in
/etc/udev/rules.d/00-teensy.rules
. See https://www.pjrc.com/teensy/td_download.html
NOTE: To Windows 10 users: Windows Command Prompt will not satisfy this dependency. We recommend installing Ubuntu on WSL2 for Windows 10.
- Clone this repo and change directory into
fprime-workspace-image
. - Run
docker-compose pull
(Note: Linux users may need to prepend this command withsudo
) to pull the published version of the workspace image or rundocker-compose build
to build the image locally.
Once built, the image can be pushed into the Kasm server per Kasm documentation or it can be run locally on port 6901 using docker-compose.
- Starting the image locally: Run
docker-compose up -d
- Stopping the image locally: Run
docker-compose down
When running locally, the workspace can be accessed at https://localhost:6901 with
- User:
kasm_user
- Passwordd:
password