From b603aa06703141b088d1be8121337eef27458319 Mon Sep 17 00:00:00 2001 From: John Doe Date: Tue, 3 Mar 2026 23:49:57 -0500 Subject: [PATCH] feat: add ROCm runtime installation for Debian in localagi scripts --- ct/localagi.sh | 44 +++++++++++++++++++++++++++++ install/localagi-install.sh | 56 +++++++++++++++++++++++++++++-------- 2 files changed, 89 insertions(+), 11 deletions(-) diff --git a/ct/localagi.sh b/ct/localagi.sh index c84ed92f3..75345b76f 100644 --- a/ct/localagi.sh +++ b/ct/localagi.sh @@ -65,6 +65,46 @@ build_localagi_source() { msg_ok "Built LocalAGI from source" } +install_rocm_runtime_debian() { + if [[ -f /etc/os-release ]]; then + . /etc/os-release + fi + + local rocm_suite="" + case "${VERSION_ID:-}" in + 13*) rocm_suite="noble" ;; + 12*) rocm_suite="jammy" ;; + *) + msg_warn "Unsupported Debian version for automatic ROCm repo setup" + return 1 + ;; + esac + + msg_info "Configuring ROCm apt repositories (${rocm_suite})" + mkdir -p /etc/apt/keyrings + if ! curl -fsSL https://repo.radeon.com/rocm/rocm.gpg.key | gpg --dearmor -o /etc/apt/keyrings/rocm.gpg; then + msg_warn "Failed to add ROCm apt signing key" + return 1 + fi + + cat </etc/apt/sources.list.d/rocm.list +deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/7.2 ${rocm_suite} main +deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/graphics/7.2/ubuntu ${rocm_suite} main +EOF + + cat </etc/apt/preferences.d/rocm-pin-600 +Package: * +Pin: release o=repo.radeon.com +Pin-Priority: 600 +EOF + + msg_info "Installing ROCm runtime packages" + $STD apt update || return 1 + $STD apt install -y rocm || return 1 + ldconfig || true + msg_ok "Installed ROCm runtime packages" +} + function update_script() { header_info check_container_storage @@ -105,6 +145,10 @@ function update_script() { exit fi + if [[ "${BACKEND}" == "rocm7.2" ]]; then + install_rocm_runtime_debian || msg_warn "ROCm runtime package installation failed" + fi + NODE_VERSION="24" setup_nodejs GO_VERSION="latest" setup_go if ! command -v bun >/dev/null 2>&1; then diff --git a/install/localagi-install.sh b/install/localagi-install.sh index 664ff4982..33b4c8884 100644 --- a/install/localagi-install.sh +++ b/install/localagi-install.sh @@ -37,17 +37,6 @@ resolve_backend() { echo "$backend" } -set_env_var() { - local env_file="$1" - local key="$2" - local value="$3" - if grep -q "^${key}=" "$env_file"; then - sed -i "s|^${key}=.*|${key}=${value}|" "$env_file" - else - echo "${key}=${value}" >>"$env_file" - fi -} - build_localagi_source() { msg_info "Building LocalAGI from source" cd /opt/localagi/webui/react-ui || return 1 @@ -58,12 +47,53 @@ build_localagi_source() { msg_ok "Built LocalAGI from source" } +install_rocm_runtime_debian() { + if [[ -f /etc/os-release ]]; then + . /etc/os-release + fi + + local rocm_suite="" + case "${VERSION_ID:-}" in + 13*) rocm_suite="noble" ;; + 12*) rocm_suite="jammy" ;; + *) + msg_warn "Unsupported Debian version for automatic ROCm repo setup" + return 1 + ;; + esac + + msg_info "Configuring ROCm apt repositories (${rocm_suite})" + mkdir -p /etc/apt/keyrings + if ! curl -fsSL https://repo.radeon.com/rocm/rocm.gpg.key | gpg --dearmor -o /etc/apt/keyrings/rocm.gpg; then + msg_warn "Failed to add ROCm apt signing key" + return 1 + fi + + cat </etc/apt/sources.list.d/rocm.list +deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/rocm/apt/7.2 ${rocm_suite} main +deb [arch=amd64 signed-by=/etc/apt/keyrings/rocm.gpg] https://repo.radeon.com/graphics/7.2/ubuntu ${rocm_suite} main +EOF + + cat </etc/apt/preferences.d/rocm-pin-600 +Package: * +Pin: release o=repo.radeon.com +Pin-Priority: 600 +EOF + + msg_info "Installing ROCm runtime packages" + $STD apt update || return 1 + $STD apt install -y rocm || return 1 + ldconfig || true + msg_ok "Installed ROCm runtime packages" +} + msg_info "Installing Dependencies" $STD apt install -y \ curl \ ca-certificates \ git \ jq \ + gnupg \ build-essential msg_ok "Installed Dependencies" @@ -83,6 +113,10 @@ msg_ok "Fetched LocalAGI Source" BACKEND="$(resolve_backend)" mkdir -p /opt/localagi/pool +if [[ "${BACKEND}" == "rocm7.2" ]]; then + install_rocm_runtime_debian || msg_warn "ROCm runtime package installation failed" +fi + msg_info "Configuring LocalAGI" cat </opt/localagi/.env LOCALAGI_MODEL=gemma-3-4b-it-qat