https://github.com/converged-computing/flux-lima
Flux Framework running in a LIMA (Linux Virtual Machine) with eBPF stuffs installed for learning!
https://github.com/converged-computing/flux-lima
Last synced: 5 months ago
JSON representation
Flux Framework running in a LIMA (Linux Virtual Machine) with eBPF stuffs installed for learning!
- Host: GitHub
- URL: https://github.com/converged-computing/flux-lima
- Owner: converged-computing
- Created: 2023-11-19T06:16:21.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2025-05-13T05:53:41.000Z (about 1 year ago)
- Last Synced: 2025-09-10T05:36:53.758Z (9 months ago)
- Language: Shell
- Size: 141 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Flux Lima
I want to install Flux alongside [Lima](https://lima-vm.io) with tools for tracing (e.g., eBPF) so we can start to see what Flux is doing under the hood!
## Install
### Lima
To install I did:
```console
VERSION=$(curl -fsSL https://api.github.com/repos/lima-vm/lima/releases/latest | jq -r .tag_name)
wget "https://github.com/lima-vm/lima/releases/download/${VERSION}/lima-${VERSION:1}-$(uname -s)-$(uname -m).tar.gz"
tar -xzvf lima-0.18.0-Linux-x86_64.tar.gz
```
This extracts the bin and share in the present working directory to add to the path.
```bash
export PATH=$PWD/bin:$PATH
```
**Note** that you need [QEMU](https://itsfoss.com/qemu-ubuntu/) installed!
And note there are instructions for other platforms [here](https://lima-vm.io/docs/installation/)
### Virtio FSD
For having a filesystem that is available on provision we are going to use virtiofsd, but we can't use the default that ships with QEMU (it doesn't work). Instead we will install a rust variant. Note that you'll need the [rust version](https://gitlab.com/virtio-fs/virtiofsd) of virtiofsd for this to work (the old C version with QEMU did not work for me).
```bash
# This is in the PWD
git clone https://gitlab.com/virtio-fs/virtiofsd
cd virtiofsd
sudo apt install libcap-ng-dev libseccomp-dev
```
Then build with cargo.
```bash
cargo build --release
```
Then I replaced it.
```bash
sudo mv /usr/lib/qemu/virtiofsd /usr/lib/qemu/virtiofsd-c
sudo mv virtiofsd/target/release/virtiofsd /usr/lib/qemu/virtiofsd
```
I also did:
```bash
sudo usermod -aG kvm $USER
```
You can then copy assets into `/tmp/lima` and the VMs that are using that mount will have access there on
startup.
## Recipes
The following recipes are included:
- [flux-ebpf](flux-ebpf): Flux installed alongside eBPF for testing / fun.
- [usernetes](usernetes): Flux installed and then running usernetes as a job.