Use an older USB 2.0 stick, newer ones will most certainly not work.
sudo dd if=debian-11.0.0-powerpc-NETINST-1.iso of=/dev/sda1 status=progress # Or use GNOME Disks, Etcher etc.
syncYou need SSH access, a personal Matrix account, a bot Matrix account, and a server (if self-hosting via Ollama, at least 32 GB of RAM)
Sign into your bot account in Element, go to Settings → Sessions, and delete any stale sessions to avoid E2EE key conflicts.
SSH into the server and create a dedicated nanobot user with passwordless sudo and lingering enabled (so its systemd user services survive logout):
Commercial hosted providers (I recommend using these instead of hosting it yourself, esp. if you're setting this up for someone else):
This pad is heavily based on https://arnowelzel.de/en/nextcloud-talk-high-performance-backend-with-docker - it's probably best to check if there were any changes in that article before you proceede here.
| # Without webcam access | |
| sudo GDK_SCALE=1 qemu-system-x86_64 -enable-kvm -m 4096 -smp $(nproc) -cpu host -device ac97 -audiodev alsa,id=snd0,out.buffer-length=500000,out.period-length=726 -device virtio-mouse-pci -device virtio-keyboard-pci -net nic -net user -device virtio-vga,virgl=on -display gtk,gl=on -hda android-x86.img -cdrom android-x86.iso | |
| # With webcam access (requires sudo; change hostbus=2,hostaddr=4 to match your webcam's USB address). | |
| sudo pulseaudio -D --system | |
| sudo GDK_SCALE=1 qemu-system-x86_64 -enable-kvm -m 4096 -smp $(nproc) -cpu host -device ac97 -audiodev alsa,id=snd0,out.buffer-length=500000,out.period-length=726 -device virtio-mouse-pci -device virtio-keyboard-pci -net nic -net user -device virtio-vga,virgl=on -usb -device usb-ehci,id=ehci -device usb-host,hostbus=2,hostaddr=4 -display gtk,gl=on -hda android-x86.img -cdrom android-x86.iso | |
| # More information on changing things like the screen resolution: See https://web.archive.org/web/20210117124628/https://linuxhint.com/android_qem |
| #!/bin/bash | |
| # flatpak-builder | |
| ssh -p 22220 -t pojntfx@localhost "cd ~/Projects/sessions && flatpak-builder --user --force-clean --disable-rofiles-fuse --repo=repo builddir --install com.pojtinger.felicitas.Sessions.json --disable-updates && flatpak build-bundle repo sessions.flatpak com.pojtinger.felicitas.Sessions" && scp -P 22220 pojntfx@localhost:/home/pojntfx/Projects/sessions/sessions.flatpak /tmp/sessions.flatpak && flatpak install -u -y /tmp/sessions.flatpak && flatpak run com.pojtinger.felicitas.Sessions | |
| # Foundry | |
| ssh -p 22220 -t pojntfx@localhost "cd ~/Projects/sessions && foundry export" && scp -P 22220 pojntfx@localhost:/home/pojntfx/Projects/sessions/.foundry/cache/flatpak/staging/x86_64-main/com.pojtinger.felicitas.Sessions-x86_64.flatpak /tmp/sessions.flatpak && flatpak install -u -y /tmp/sessions.flatpak && flatpak run com.pojtinger.felicitas.Sessions | |
| # Go (static binary) | |
| ssh -p 22220 -t pojntfx@localhost "cd ~/Projects/portal && go build -o /tmp/usb ./cmd/usb" && scp -P 22220 pojntfx@local |
| #!/bin/bash | |
| set -ex | |
| GOOS=darwin GOARCH=arm64 go build -x -o /tmp/sessions -ldflags="-X 'main.LocaleDir=/Users/pojntfx/Projects/sessions/po' -X 'main.SchemaDir=/Users/pojntfx/Projects/sessions/assets/resources'" . && scp /tmp/sessions pojntfx@[2001:569:7bcc:d80:98:6876:d203:c3b9]:/tmp/sessions && ssh -tt pojntfx@2001:569:7bcc:d80:98:6876:d203:c3b9 'codesign -s - /tmp/sessions && /tmp/sessions' |
| #!/bin/bash | |
| # Install native dependencies | |
| sudo dnf update -y | |
| sudo dnf install -y curl wine | |
| # Install MSYS2 | |
| curl -L -o /tmp/msys2.exe 'https://github.com/msys2/msys2-installer/releases/download/2021-11-30/msys2-base-x86_64-20211130.sfx.exe' | |
| wine64 /tmp/msys2.exe x -y -oC:/ |
| #!/bin/bash | |
| sudo podman rm -f tailscaled | |
| # If you want to store the Tailscale secrets on the TPM, add --device=/dev/tpm0 to the Podman flags below | |
| sudo podman run -d \ | |
| --name=tailscaled \ | |
| --restart=always \ | |
| -v tailscale-data:/var/lib/tailscale \ | |
| -v /dev/net/tun:/dev/net/tun \ | |
| -v /run:/run \ |
| #!/bin/bash | |
| make -C files/boot-keys clean | |
| make -C files/boot-keys IMPORT_MODE=local | |
| bst --no-strict build gnomeos/live-image.bst | |
| bst workspace open freedesktop-sdk.bst:components/linux.bst --directory ../linux/ |