Una orden, cualquier sistema
Instalar NeuraCore
NeuraCore se instala mediante el gestor de software que su ordenador ya utiliza, así que se actualiza junto con todo lo demás. Elija su sistema abajo y copie la línea en un terminal.
Versión actual: 1.0.0
Antes de instalar: qué es NeuraCore
Este software no es proporcionado ni respaldado por Linden Lab, los creadores de Second Life. NeuraCore es un visor de terceros independiente. No está afiliado a Linden Lab, ni cuenta con su respaldo, ni es un producto oficial. Second Life y Linden Lab son marcas de Linden Research, Inc.
Conviene saberlo antes de instalar
- NeuraCore no dibuja el mundo en 3D. Es un cliente de control sin representación: chat, inventario, apariencia, movimiento y mapa, sin la vista renderizada que ofrece el visor de Linden Lab.
- Puede actuar por su cuenta. Un motor de automatización, un intérprete de Python integrado y un controlador de IA opcional pueden realizar por su avatar las acciones que usted habilite, lo que convierte a ese avatar en un agente con scripts según las reglas de Linden Lab. Declararlo donde esas reglas lo exijan es responsabilidad suya.
- Es software con licencia, no software libre. La licencia se compra en el mundo virtual y va ligada a un avatar; el servicio de licencias recibe qué avatares están conectados para poder aplicarla.
- Se conecta a Second Life y a mallas OpenSimulator, y se identifica ante cada una como NeuraCore.
Asistencia
La asistencia de NeuraCore llega desde el portal de soporte de NeuraCore y el HUD gratuito NeuraCore Support en el mundo virtual. Linden Lab no la presta y no puede diagnosticar NeuraCore. Para un problema de cuenta, pago o plataforma de Second Life, acuda al soporte de Linden Lab.
Privacidad
Lo que NeuraCore recoge, conserva y envía está descrito por completo en el aviso de privacidad, que es además el descargo de responsabilidad que se le pide aceptar la primera vez que lo ejecuta.
LinuxDebian · Ubuntu · Mint · Fedora · Arch · Garuda · Manjaro
Primero, abra un terminal
- Pulse Ctrl+Alt+T. En la mayoría de escritorios eso abre uno directamente.
- Si no ocurre nada, abra el menú de aplicaciones y busque «Terminal», en KDE se llama Konsole, en GNOME Terminal o Consola.
- Aparece una ventana con un indicador de texto. Ahí va la línea de abajo: péguela y pulse Intro.
También necesita curl
La orden de abajo usa un pequeño programa llamado curl para descargar el instalador. La mayoría de los sistemas de escritorio ya lo tienen; un Debian recién instalado a menudo no. Compruébelo escribiendo curl --version, si responde «command not found», instálelo primero:
Debian, Ubuntu, Mint
sudo apt install curlFedora, RHEL
sudo dnf install curlArch, Garuda, Manjaro
sudo pacman -S curlSi prefiere no instalar curl, wget hace lo mismo y está presente más a menudo:
wget -qO- https://download.neuracore.ch/install.sh | sudo shEsto añade el repositorio de software de NeuraCore y su clave de firma, y después instala NeuraCore. La orden averigua por sí sola si su sistema usa apt, dnf o pacman.
curl -fsSL https://download.neuracore.ch/install.sh | sudo sh- Después, NeuraCore es un paquete corriente. Se actualiza cuando se actualiza el resto de su sistema.
- El paquete trae su propia copia de Python, así que da igual qué versión incluya su distribución.
- Se instala en /opt/neuracore y coloca un lanzador en su PATH, de modo que no puede alterar nada de lo que instaló su distribución.
Prefiero ejecutar los pasos yo mismo
La orden de una línea hace exactamente estos pasos. Ejecútelos usted mismo si prefiere no canalizar un script hacia un intérprete: es una preferencia razonable, y esto es lo que hace el script.
Debian, Ubuntu y Mint: añadir la clave, añadir el repositorio, instalar:
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://download.neuracore.ch/neuracore.asc -o /etc/apt/keyrings/neuracore.asc
echo 'deb [signed-by=/etc/apt/keyrings/neuracore.asc] https://download.neuracore.ch/apt stable main' | sudo tee /etc/apt/sources.list.d/neuracore.list
sudo apt update && sudo apt install neuracoreFedora, RHEL, Alma y Rocky:
sudo tee /etc/yum.repos.d/neuracore.repo >/dev/null <<'EOF'
[neuracore]
name=NeuraCore
baseurl=https://download.neuracore.ch/rpm
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://download.neuracore.ch/neuracore.asc
EOF
sudo dnf install neuracoreArch, Garuda, Manjaro y EndeavourOS: la huella figura en la página de la clave enlazada más abajo:
curl -fsSL https://download.neuracore.ch/neuracore.asc -o /tmp/neuracore.asc
sudo pacman-key --add /tmp/neuracore.asc
sudo pacman-key --lsign-key <fingerprint>
printf '\n[neuracore]\nSigLevel = Required DatabaseOptional\nServer = https://download.neuracore.ch/arch\n' | sudo tee -a /etc/pacman.conf
sudo pacman -Sy neuracoreQué necesita
- Un sistema x86 de 64 bits (el de casi todos los ordenadores de sobremesa y portátiles). Una Raspberry Pi, o cualquier otra máquina ARM de 64 bits, tiene su propia tarjeta en esta página.
- Una distribución publicada en 2024 o después: Debian 13, Ubuntu 24.04, Fedora 41, o cualquier Arch, Garuda o Manjaro al día. Las versiones anteriores tienen una biblioteca del sistema demasiado antigua para esta compilación.
- Un escritorio gráfico. NeuraCore no tiene vista 3D, pero es una aplicación con ventanas.
- Unos 200 MB de espacio en disco.
- Acceso de root, una sola vez, para añadir el repositorio.
Publicado para este sistema: 1.0.0
Raspberry PiRaspberry Pi OS 64-bit · Ubuntu · Pi 4 · Pi 5 · Pi 400 · Pi 500 · Pi Zero 2 W
Primero, abra un terminal
- Pulse Ctrl+Alt+T en el escritorio de la Raspberry Pi. Eso abre uno enseguida.
- Si no ocurre nada, abra el menú Raspberry arriba a la izquierda, luego Accesorios y luego Terminal.
- Aparece una ventana con un símbolo de sistema. Ahí va la línea de abajo: péguela y pulse Intro.
Compruebe primero que es el sistema de 64 bits
NeuraCore se publica solo para el Raspberry Pi OS de 64 bits. Escriba uname -m: aarch64 significa que ya está listo, y armv7l o armv6l que está en el sistema de 32 bits, que sigue siendo la descarga predeterminada para las placas antiguas. Reinstale con Raspberry Pi Imager eligiendo la edición de 64 bits, en una Pi 4, 5, 400, 500 o Zero 2 W. También necesita curl, que Raspberry Pi OS instala de serie.
Comprobar la arquitectura
uname -mInstalar curl si falta
sudo apt install curlSi prefiere no instalar curl, wget hace lo mismo:
wget -qO- https://download.neuracore.ch/install-raspberry.sh | sudo shEsto añade el repositorio de software de NeuraCore para ARM de 64 bits y su clave de firma, y después instala NeuraCore. Es un repositorio distinto del que usan los ordenadores de escritorio, así que siempre ofrece la versión que funciona en esta placa.
curl -fsSL https://download.neuracore.ch/install-raspberry.sh | sudo sh- Después NeuraCore es un paquete normal. sudo apt update && sudo apt upgrade lo mantiene al día junto con el resto del sistema.
- El paquete trae su propia copia de Python, así que da igual qué versión incluya Raspberry Pi OS.
- Se instala en /opt/neuracore y coloca un lanzador en su PATH, de modo que no puede alterar nada de lo que instaló Raspberry Pi OS.
- Una Pi sin pantalla también puede ejecutarlo: neuracore --headless lo arranca sin ninguna ventana, que es lo que lo hace útil en una placa escondida detrás de un router.
Prefiero ejecutar los pasos yo mismo
La orden de una línea hace exactamente estos pasos. Ejecútelos usted mismo si prefiere no canalizar un script hacia un intérprete: es una preferencia razonable, y esto es lo que hace el script.
Añadir la clave, añadir el repositorio ARM, instalar:
sudo mkdir -p /etc/apt/keyrings
sudo curl -fsSL https://download.neuracore.ch/neuracore.asc -o /etc/apt/keyrings/neuracore.asc
echo 'deb [arch=arm64 signed-by=/etc/apt/keyrings/neuracore.asc] https://download.neuracore.ch/apt-arm64 stable main' | sudo tee /etc/apt/sources.list.d/neuracore.list
sudo apt update && sudo apt install neuracoreQué necesita
- Una Raspberry Pi 4, 5, 400, 500 o Zero 2 W con el Raspberry Pi OS de 64 bits. Compruébelo con uname -m, que debe responder aarch64.
- Raspberry Pi OS Bookworm o posterior, o Ubuntu 22.04 o posterior para la Raspberry Pi.
- El escritorio de la Raspberry Pi, o nada en absoluto si lo ejecuta con --headless. NeuraCore no dibuja ningún mundo 3D, así que no pide nada al hardware gráfico.
- Unos 200 MB de espacio en la tarjeta o el disco, y 4 GB de memoria van holgados.
- Acceso root, una sola vez, para añadir el repositorio.
Publicado para este sistema: 1.0.0
WindowsWindows 10 · Windows 11
Primero, abra un terminal
- Haga clic derecho en el botón Inicio y elija Terminal. En Windows 10 se llama Windows PowerShell.
- O pulse la tecla Windows, escriba «terminal» y pulse Intro.
- Aparece una ventana con un indicador de texto. Pegue la línea de abajo y pulse Intro.
Este comando de PowerShell descarga y ejecuta nuestro script de instalación. Instala NeuraCore en Program Files y crea accesos directos en el menú Inicio y en el escritorio:
irm https://download.neuracore.ch/install.ps1 | iex- Ejecútelo en PowerShell o Terminal de Windows. Si se requieren permisos de administrador, Windows los solicitará.
- Instala NeuraCore en Program Files y crea accesos directos en el menú Inicio y en el escritorio.
- Para actualizar más adelante, vuelva a ejecutar el mismo comando.
Descarga directa (.zip)
Si prefiere una instalación manual sin ejecutar un script, descargue directamente el archivo zip portable:
- Extraiga el archivo zip en la carpeta que desee, por ejemplo Program Files.
- Ejecute NeuraCore.exe para iniciar la aplicación.
- Cree manualmente un acceso directo en el escritorio o en el menú Inicio si lo desea.
Qué necesita
- Windows 10 versión 1809 o posterior, o Windows 11, de 64 bits.
- Windows PowerShell o Terminal de Windows (incluidos con Windows).
- Unos 200 MB de espacio en disco.
- Permisos de administrador cuando se soliciten para instalar en Program Files.
Publicado para este sistema: 1.0.0
macOSApple silicon · Intel
Primero, abre un terminal
- Pulse Cmd+Espacio, escriba «terminal» y pulse Intro.
- O abra el Finder, luego Aplicaciones, luego Utilidades, luego Terminal.
- Aparece una ventana con un indicador de texto. Pegue la línea de abajo y pulse Intro.
Este comando descarga y ejecuta nuestro script de instalación. Instala NeuraCore en tu carpeta de Aplicaciones y crea un acceso directo de terminal:
curl -fsSL https://download.neuracore.ch/install.sh | sudo sh- Ejecútalo en Terminal. Si se requieren permisos de administrador, macOS te pedirá tu contraseña.
- Actualiza más adelante ejecutando el mismo comando de nuevo.
- NeuraCore está firmado ad hoc pero aún no está notarizado por Apple, por lo que macOS lo pone en cuarentena y rechaza abrirlo. El instalador elimina esa marca de /Applications/NeuraCore.app justo después de instalarlo. Si macOS aún lo rechaza, ejecútalo tú mismo: xattr -dr com.apple.quarantine /Applications/NeuraCore.app
Qué necesita
- macOS 13 (Ventura) o posterior.
- Aproximadamente 200 MB de espacio en disco.
- Permisos de administrador cuando se soliciten para instalar en Aplicaciones.
Publicado para este sistema: 1.0.0
Mantener NeuraCore al día
NeuraCore nunca se reemplaza a sí mismo. Se actualiza mediante el gestor de paquetes o ejecutando de nuevo el script de instalación.
Debian, Ubuntu, Mint, Raspberry Pi OS
sudo apt update && sudo apt upgradeFedora, RHEL
sudo dnf upgradeArch, Garuda, Manjaro
sudo pacman -SyuWindows
irm https://download.neuracore.ch/install.ps1 | iexmacOS
curl -fsSL https://download.neuracore.ch/install.sh | sudo shCuando existe una versión más reciente, NeuraCore lo indica en su barra de estado. Al pulsar ese mensaje se abre una ventana con la orden exacta para el ordenador en el que está.
Desinstalar NeuraCore
NeuraCore se puede eliminar por completo con una sola orden. Nada queda en ejecución y nada más en el equipo se modifica.
Debian, Ubuntu, Mint, Raspberry Pi OS
sudo apt remove neuracoreFedora, RHEL
sudo dnf remove neuracoreArch, Garuda, Manjaro
sudo pacman -R neuracoreWindows
Remove-Item -Recurse -Force "$env:ProgramFiles\NeuraCore"macOS
sudo rm -rf /Applications/NeuraCore.app /usr/local/bin/neuracoreTus propios archivos se conservan deliberadamente: la carpeta NeuraCore en tu directorio de inicio contiene tus avatares, configuraciones y contraseñas cifradas, y desinstalar el programa no los elimina. Elimina esa carpeta tú mismo si no deseas dejar nada. En Linux también puedes eliminar el repositorio de software que añadió el instalador, en /etc/apt/sources.list.d, /etc/yum.repos.d o /etc/pacman.conf.
Comprobar que es auténtico
Todos los paquetes de NeuraCore están firmados, y su gestor de software comprueba esa firma antes de instalar nada. Si un paquete se alterara entre este sitio y su ordenador, la instalación se detendría.
La mitad pública de la clave de firma se publica aquí. Su sistema la importa como parte de la orden de instalación; usted nunca tiene que manejarla, y está disponible para que pueda hacerlo.
Ver la clave de firma
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=oCLH
-----END PGP PUBLIC KEY BLOCK-----
La orden de una línea descarga un script y lo ejecuta. Eso merece leerse antes de ejecutarlo, así que es un archivo sencillo y legible, con comentarios en cada paso.
Leer el script de instalación
#!/bin/sh
#
# NeuraCore installer.
#
# curl -fsSL https://download.neuracore.ch/install.sh | sudo sh
#
# On Linux, this adds the NeuraCore package repository and its signing key,
# then installs NeuraCore from it as an ordinary package.
# On macOS, this downloads the signed application bundle, installs it to
# /Applications, clears the quarantine mark, and symlinks the terminal command.
#
# It is generated by NeuraCoreDeploy and carries this release's signing
# fingerprint. Read it before running it; that is what the pipe into `sh`
# deserves.
set -eu
SITE="https://download.neuracore.ch"
KEY_FINGERPRINT="85D8D6B36EE7AD08922E94405401ED04C8BE02A8"
say() { printf '%s\n' "$*"; }
fail() { printf '%s\n' "$*" >&2; exit 1; }
# Root is needed to install software, and asking for it up front is better than
# failing halfway through with a permission error.
[ "$(id -u)" = "0" ] || fail "Please run this with sudo: curl -fsSL $SITE/install.sh | sudo sh"
OS="$(uname -s)"
if [ "$OS" = "Darwin" ]; then
say "macOS detected. Installing NeuraCore ..."
command -v curl >/dev/null 2>&1 || fail "curl is required to install NeuraCore."
command -v tar >/dev/null 2>&1 || fail "tar is required to unpack NeuraCore."
say "Checking latest release from $SITE/latest.json ..."
LATEST_JSON=$(curl -fsSL "$SITE/latest.json" 2>/dev/null || true)
TARBALL_PATH=$(printf '%s\n' "$LATEST_JSON" | grep -o 'files/[^"]*macos[^"]*\.tar\.gz' | head -n 1 || true)
if [ -z "$TARBALL_PATH" ]; then
VERSION=$(printf '%s\n' "$LATEST_JSON" | grep -o '"version"[[:space:]]*:[[:space:]]*"[^"]*"' | head -n 1 | cut -d'"' -f4 || true)
if [ -n "$VERSION" ]; then
TARBALL_PATH="files/$VERSION/NeuraCore-$VERSION-macos.tar.gz"
fi
fi
if [ -z "$TARBALL_PATH" ]; then
for V in 2.0.0 1.0.1 1.0.0; do
if curl -fsI "$SITE/files/$V/NeuraCore-$V-macos.tar.gz" 2>/dev/null | grep -q "200 OK"; then
TARBALL_PATH="files/$V/NeuraCore-$V-macos.tar.gz"
break
fi
done
fi
[ -n "$TARBALL_PATH" ] || fail "Could not locate a macOS release archive on $SITE."
DOWNLOAD_URL="$SITE/$TARBALL_PATH"
TMPDIR=$(mktemp -d /tmp/neuracore.XXXXXX)
trap 'rm -rf "$TMPDIR"' EXIT INT TERM
say "Downloading $DOWNLOAD_URL ..."
curl -fsSL "$DOWNLOAD_URL" -o "$TMPDIR/macos.tar.gz" || fail "Failed to download NeuraCore from $DOWNLOAD_URL"
say "Extracting archive ..."
tar -xzf "$TMPDIR/macos.tar.gz" -C "$TMPDIR" || fail "Failed to extract NeuraCore archive."
APP_SRC=""
if [ -d "$TMPDIR/neuracore/NeuraCore.app" ]; then
APP_SRC="$TMPDIR/neuracore/NeuraCore.app"
elif [ -d "$TMPDIR/NeuraCore.app" ]; then
APP_SRC="$TMPDIR/NeuraCore.app"
fi
[ -n "$APP_SRC" ] || fail "Archive does not contain NeuraCore.app."
say "Installing NeuraCore.app to /Applications ..."
rm -rf /Applications/NeuraCore.app
cp -R "$APP_SRC" /Applications/
say "Clearing quarantine mark ..."
xattr -dr com.apple.quarantine /Applications/NeuraCore.app 2>/dev/null || true
say "Linking terminal command to /usr/local/bin/neuracore ..."
mkdir -p /usr/local/bin
ln -sf /Applications/NeuraCore.app/Contents/MacOS/neuracore /usr/local/bin/neuracore
say ""
say "NeuraCore is installed. Start it from your Applications folder, Launchpad, Spotlight, or run: neuracore"
say "To upgrade later, run this installer command again."
exit 0
fi
# Linux package manager detection
if command -v apt-get >/dev/null 2>&1; then
say "Debian or Ubuntu detected. Adding the NeuraCore repository ..."
# Which of the two apt repositories this machine belongs to. They are
# separate roots because an apt suite's Release file names the
# architectures it serves, so one root per architecture is the only
# arrangement in which publishing for one cannot break the other. A
# Raspberry Pi pasting the generic command lands here, and has to be sent
# to its own root or apt finds the repository and no installable package
# in it.
APT_ROOT="apt"
DPKG_ARCH=$(dpkg --print-architecture 2>/dev/null || echo unknown)
case "$DPKG_ARCH" in
arm64) APT_ROOT="apt-arm64" ;;
amd64) APT_ROOT="apt" ;;
armhf|armel)
fail "NeuraCore needs a 64-bit system, and this one is running a 32-bit ($DPKG_ARCH) Debian. On a Raspberry Pi, install the 64-bit Raspberry Pi OS and run this again."
;;
*)
say "This machine reports the $DPKG_ARCH architecture, which NeuraCore is not published for. Trying the 64-bit x86 repository; see $SITE if apt finds no package."
;;
esac
mkdir -p /etc/apt/keyrings
# The armoured key is used directly. apt has read `signed-by` keyrings in
# this form since 2.4 (Debian 12, Ubuntu 22.04), and it keeps the key out of
# the deprecated system-wide trusted set, where it would have been trusted
# for every repository on the machine rather than only this one.
curl -fsSL "$SITE/neuracore.asc" -o /etc/apt/keyrings/neuracore.asc
chmod 0644 /etc/apt/keyrings/neuracore.asc
printf '%s\n' \
"deb [signed-by=/etc/apt/keyrings/neuracore.asc] $SITE/$APT_ROOT stable main" \
> /etc/apt/sources.list.d/neuracore.list
apt-get update
apt-get install -y neuracore
elif command -v dnf >/dev/null 2>&1; then
say "Fedora or RHEL detected. Adding the NeuraCore repository ..."
# `repo_gpgcheck=1` verifies the repository metadata as well as the package.
# Without it dnf checks only the package signature, and an attacker who could
# replace the metadata could hide an upgrade rather than forge one.
cat > /etc/yum.repos.d/neuracore.repo <<REPO
[neuracore]
name=NeuraCore
baseurl=$SITE/rpm
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=$SITE/neuracore.asc
metadata_expire=300
REPO
dnf install -y neuracore
elif command -v pacman >/dev/null 2>&1; then
say "Arch detected. Adding the NeuraCore repository ..."
curl -fsSL "$SITE/neuracore.asc" -o /tmp/neuracore.asc
pacman-key --add /tmp/neuracore.asc
# Locally signing the key is what moves it from "known" to "trusted".
# Without this step pacman imports the key and then refuses every package
# signed with it, reporting them as being from an unknown trust source.
pacman-key --lsign-key "$KEY_FINGERPRINT"
rm -f /tmp/neuracore.asc
if ! grep -q '^\[neuracore\]' /etc/pacman.conf; then
cat >> /etc/pacman.conf <<REPO
[neuracore]
SigLevel = Required DatabaseOptional
Server = $SITE/arch
REPO
fi
pacman -Sy --noconfirm neuracore
else
fail "This system has none of apt, dnf or pacman. See $SITE for the other ways to install NeuraCore."
fi
say ""
say "NeuraCore is installed. Start it from your applications menu, or run: neuracore"
say "It will upgrade with the rest of your system from now on."
La Raspberry Pi se instala con un script propio, porque añade un repositorio distinto y comprueba que el sistema sea el de 64 bits. Está aquí entero por la misma razón.
Leer el script de instalación de Raspberry Pi
#!/bin/sh
#
# NeuraCore installer for the Raspberry Pi.
#
# curl -fsSL https://download.neuracore.ch/install-raspberry.sh | sudo sh
#
# This adds the NeuraCore package repository for 64-bit ARM and its signing
# key, then installs NeuraCore from it as an ordinary package. Afterwards
# `sudo apt update && sudo apt upgrade` keeps it current along with the rest of
# the system, and nothing here ever replaces a file behind apt's back.
#
# It is generated by NeuraCoreDeploy and carries this release's signing
# fingerprint. Read it before running it; that is what the pipe into `sh`
# deserves.
set -eu
SITE="https://download.neuracore.ch"
KEY_FINGERPRINT="85D8D6B36EE7AD08922E94405401ED04C8BE02A8"
say() { printf '%s\n' "$*"; }
fail() { printf '%s\n' "$*" >&2; exit 1; }
# Root is needed to install software, and asking for it up front is better than
# failing halfway through with a permission error.
[ "$(id -u)" = "0" ] || fail "Please run this with sudo: curl -fsSL $SITE/install-raspberry.sh | sudo sh"
command -v apt-get >/dev/null 2>&1 || fail "This does not look like Raspberry Pi OS or any other Debian system: apt-get is not here. See $SITE for the other ways to install NeuraCore."
command -v curl >/dev/null 2>&1 || fail "curl is required to fetch the signing key: sudo apt install curl"
# What the firmware calls this board. Present on every Raspberry Pi and absent
# on an ordinary PC, so it is reported when it is there and skipped when it is
# not, rather than being required.
if [ -r /proc/device-tree/model ]; then
MODEL=$(tr -d '\0' < /proc/device-tree/model)
say "Installing NeuraCore on: $MODEL"
fi
# The architecture, which is what decides whether there is a package at all.
# A 32-bit Raspberry Pi OS is the common case worth answering properly: it is
# the default download on the Raspberry Pi site for older boards, it runs
# perfectly well, and NeuraCore is not published for it. apt on its own would
# say only that there is no installation candidate.
DPKG_ARCH=$(dpkg --print-architecture 2>/dev/null || echo unknown)
case "$DPKG_ARCH" in
arm64)
;;
armhf|armel)
fail "This Raspberry Pi is running the 32-bit ($DPKG_ARCH) Raspberry Pi OS, and NeuraCore is published only for the 64-bit one. Check with: uname -m . A Pi 3, 4, 5, 400, 500 or Zero 2 W can run the 64-bit system; reinstall it with Raspberry Pi Imager, choosing the 64-bit edition, and run this again."
;;
amd64)
fail "This is a 64-bit x86 machine rather than a Raspberry Pi, so it wants the ordinary installer: curl -fsSL $SITE/install.sh | sudo sh"
;;
*)
fail "This machine reports the $DPKG_ARCH architecture, and NeuraCore is published for arm64 and amd64 only. See $SITE."
;;
esac
say "Adding the NeuraCore repository for 64-bit ARM ..."
mkdir -p /etc/apt/keyrings
# The armoured key is used directly. apt has read `signed-by` keyrings in this
# form since 2.4, which is every Raspberry Pi OS from Bookworm on, and it keeps
# the key out of the deprecated system-wide trusted set where it would have
# been trusted for every repository on the machine rather than only this one.
curl -fsSL "$SITE/neuracore.asc" -o /etc/apt/keyrings/neuracore.asc
chmod 0644 /etc/apt/keyrings/neuracore.asc
# Its own repository root, not the x86 one. An apt suite's Release file names
# the architectures it serves, so the two releases are served from two roots
# and a publication of either cannot disturb the other.
printf '%s\n' \
"deb [arch=arm64 signed-by=/etc/apt/keyrings/neuracore.asc] $SITE/apt-arm64 stable main" \
> /etc/apt/sources.list.d/neuracore.list
apt-get update
apt-get install -y neuracore
say ""
say "NeuraCore is installed. Start it from your applications menu, or run: neuracore"
say "It will upgrade with the rest of your system from now on."
say "The signing key this repository is verified against is $KEY_FINGERPRINT."