diff options
| author | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-21 11:09:36 -0400 |
|---|---|---|
| committer | Arthur Hanson Rasmusson <arthur@vgpu.io> | 2026-09-21 11:09:36 -0400 |
| commit | ad1f7a6a3cd262cc084673ec5cf0c561328ec7c7 (patch) | |
| tree | e3369e40b8f36345911091b542021a4899bb474d /scripts | |
| parent | 0ca41da65d675b624fb6389da1f488a24ea416e1 (diff) | |
| download | open-iov-ad1f7a6a3cd262cc084673ec5cf0c561328ec7c7.tar.gz open-iov-ad1f7a6a3cd262cc084673ec5cf0c561328ec7c7.zip | |
Make repo fully path-portable and add reproducible installer
- install.sh: one-command fresh-Ubuntu reproduction (deps, NVIDIA clone
+ patch, GSP firmware fetch from linux-firmware.git with objcopy
.fwimage extraction + MD5 verify, ordered build, host config, load,
mdev creation). Wrapper-neutral: works with libvirt/raw QEMU.
- patches/nvidia: regenerated path-independent patch (KBUILD_EXTRA_SYMBOLS
resolved via $(src)/$(CURDIR) relative to the NVIDIA tree).
- scripts/stack_manager.sh and helper scripts auto-detect repo root
(OPEN_IOV_ROOT override); no hardcoded developer paths anywhere.
- firmware analysis scripts use script-relative paths (also fixes stale
firmware/570-GSP references); docs/wiki updated to $OPEN_IOV_ROOT.
- .github/workflows/ci.yml updated for standalone repo layout; firmware
fetched from linux-firmware in CI.
- Untrack remaining kbuild artifacts (Module.symvers, modules.order,
*.o.d); gitignore them.
- STATE.md: live project state, limitations, fixed/open bugs.
- README.md: rewritten for clone-and-run reproducibility.
Diffstat (limited to 'scripts')
| -rwxr-xr-x | scripts/auto-opencode-setup.sh | 8 | ||||
| -rwxr-xr-x | scripts/build_nvidia_openrm.sh | 2 | ||||
| -rwxr-xr-x | scripts/load_vgpu_stack.sh | 2 | ||||
| -rwxr-xr-x | scripts/stack_manager.sh | 2 | ||||
| -rwxr-xr-x | scripts/unload_vgpu_stack.sh | 2 |
5 files changed, 10 insertions, 6 deletions
diff --git a/scripts/auto-opencode-setup.sh b/scripts/auto-opencode-setup.sh index 3f98eac..4126d3d 100755 --- a/scripts/auto-opencode-setup.sh +++ b/scripts/auto-opencode-setup.sh @@ -71,7 +71,7 @@ command -v opencode &>/dev/null || exit 0 [[ -n "$TMUX" ]] && exit 0 # Target directory -TARGET_DIR="$OPEN_IOV_ROOT/.." +TARGET_DIR="__OPEN_IOV_PARENT__" # Session name SESSION_NAME="auto-opencode" @@ -103,6 +103,10 @@ sleep 1 exec tmux attach-session -t "$SESSION_NAME" SCRIPTEOF + # Bake in the repo parent dir (resolved at setup time) + local repo_parent + repo_parent="$(cd "$(dirname "${BASH_SOURCE[0]}")/../.." && pwd)" + sed -i "s|__OPEN_IOV_PARENT__|$repo_parent|g" "$AUTO_OPENCODE_SCRIPT" chmod +x "$AUTO_OPENCODE_SCRIPT" log_ok "Created auto-opencode script: $AUTO_OPENCODE_SCRIPT" } @@ -115,7 +119,7 @@ setup_graphical_autologin() { sudo tee /etc/gdm3/custom.conf > /dev/null <<EOF [daemon] AutomaticLoginEnable=true -AutomaticLogin=rmcore +AutomaticLogin=${USER} WaylandEnable=false [security] diff --git a/scripts/build_nvidia_openrm.sh b/scripts/build_nvidia_openrm.sh index dfcbe59..89e058b 100755 --- a/scripts/build_nvidia_openrm.sh +++ b/scripts/build_nvidia_openrm.sh @@ -4,7 +4,7 @@ set -e -OPEN_IOV_ROOT="$OPEN_IOV_ROOT" +OPEN_IOV_ROOT="${OPEN_IOV_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}" NVIDIA_OPENRM_DIR="$OPEN_IOV_ROOT/nvidia-open-gpu-kernel-modules" KERNEL_DIR="$OPEN_IOV_ROOT/kernel" SYMVERS_FILE="$KERNEL_DIR/Module.symvers" diff --git a/scripts/load_vgpu_stack.sh b/scripts/load_vgpu_stack.sh index 5e7d6fd..fcabb06 100755 --- a/scripts/load_vgpu_stack.sh +++ b/scripts/load_vgpu_stack.sh @@ -6,7 +6,7 @@ set -euo pipefail FIRMWARE_NAME="${1:-gsp-570.144.fwimage.bin}" -BASE_DIR="$OPEN_IOV_ROOT" +BASE_DIR="${OPEN_IOV_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}" NVIDIA_KO="$BASE_DIR/nvidia-open-gpu-kernel-modules/kernel-open/nvidia.ko" VFIO_KO="$BASE_DIR/kernel/open-iov-vfio.ko" FIRMWARE_PATH="$BASE_DIR/firmware/57X-GSP/570.144/$FIRMWARE_NAME" diff --git a/scripts/stack_manager.sh b/scripts/stack_manager.sh index fe0a73a..c4685da 100755 --- a/scripts/stack_manager.sh +++ b/scripts/stack_manager.sh @@ -4,7 +4,7 @@ set -euo pipefail -BASE_DIR="$OPEN_IOV_ROOT" +BASE_DIR="${OPEN_IOV_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}" NVIDIA_KO="$BASE_DIR/nvidia-open-gpu-kernel-modules/kernel-open/nvidia.ko" VFIO_KO="$BASE_DIR/kernel/open-iov-vfio.ko" FIRMWARE_PATH="$BASE_DIR/firmware/57X-GSP/570.144/gsp-570.144.fwimage.bin" diff --git a/scripts/unload_vgpu_stack.sh b/scripts/unload_vgpu_stack.sh index 4f57b86..e02474a 100755 --- a/scripts/unload_vgpu_stack.sh +++ b/scripts/unload_vgpu_stack.sh @@ -3,7 +3,7 @@ set -euo pipefail -BASE_DIR="$OPEN_IOV_ROOT" +BASE_DIR="${OPEN_IOV_ROOT:-$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)}" echo "==========================================" echo "Unloading vGPU Driver Stack" |
