Skip to content

VK-specific binary and resource index

Paths are absolute on the Mini. Under the research root, prepend firmware/live. All listed executables are AArch64 ELF unless identified as scripts. Most VK C++ binaries are stripped PIEs using glog/gflags and an internal event loop.

Core agent and UX

Device path Purpose Important dependencies/evidence Chapter
/usr/bin/voice-agent Setup, local KWS, cloud speech, media, input, LED/display, calls integration PulseAudio/ALSA, FFmpeg, Opus/FLAC, FFTW, mbedTLS/OpenSSL, gRPC, TFLite Voice agent
/usr/bin/voice-agent.sh Memory-tuned launcher Shell wrapper Voice agent
/usr/bin/check-factory-reset Five-second volume chord, reset animation/audio input evdev, /dev/is31fl32xx, /dev/topleds, PulseAudio Reset animation
/usr/share/voice-agent/model.bin Local wake-word model 1,224,560-byte TFLite TFL3 model Voice activation
/usr/share/voice-agent/reference.pcm Shared float reference for audio processing/ADSSS 161,600 samples at 16 kHz Setup playback
/usr/share/voice-agent/led/*.json 97 RGB/display animations 30 brightness or 12/13 RGB entries per frame Display, LEDs
/usr/share/voice-agent/*.{opus,flac,mp3} Voice, onboarding, call, media, and reset prompts FFmpeg/Opus/FLAC decoders Buttons, Calls

OTA and identity

Device path Purpose Important dependencies/evidence Chapter
/usr/bin/fwupdater Firmware check/download/install orchestration session JSON, HTTPS, SWUpdate, boot slots Firmware updater
/usr/bin/swupdate Signed image installer libswupdate, public key Update flow
/usr/bin/swupdate.sh Manual inactive-slot wrapper /proc/cmdline, boot-control Update flow
/usr/bin/self-check.sh 300-second update acceptance and rollback Wi-Fi, fwupdater, voice-agent, boot-control Update flow
/usr/lib/libswupdate.so.0.1 SWUpdate implementation Shared library Firmware updater
/etc/swupdate-public.pem OTA verification key Public key, not secret Update flow
/usr/bin/boot-control A/B slot flags Bootloader message Startup
/usr/bin/devinfo Serial/model/version/device-state reader unifykeys, /data/fwlabel Device identity
/usr/bin/devinfo-set Hardware identity writer unifykeys; not executed Device identity
/usr/bin/unifykey Raw key read/write shell utility /sys/class/unifykeys/*; writes not executed Device identity

Monitoring, calls, and synchronization

Device path Purpose Important dependencies/evidence Chapter
/usr/bin/telemetryd Event/crash/log/audio telemetry server /tmp/telemetry.sock, HTTP/TLS, PulseAudio Telemetry
/usr/bin/sysmon CPU/memory/thermal/network/light monitoring procfs/sysfs, WPA, telemetry client Sysmon
/usr/bin/okcall.lzma VK/OK WebRTC call service /tmp/okcall.sock, Pulse call/call_src Calls
/usr/bin/tgclient.lzma TDLib client spawned by voice-agent inherited IPC FD, /data/voice-agent/tdlib Telegram
/usr/bin/stereoctl Stereo discovery, Snapcast, volume Avahi, TCP 20101, /tmp/stereoctl.sock Stereo
/usr/bin/ntp-ibb-volume-syncer Pulse-to-ALSA volume synchronization Pulse subscription, ALSA mixer Volume sync
/usr/bin/btctl Bluetooth control integration BlueZ; live S99 says voice-agent controls it Network services

Boot scripts with VK behavior

Path Role
/etc/datamount, S02datamount.sh UBI data attach/mount/recovery
S03factory-reset.sh Marker-driven data cleanup
/etc/overlaymount, S04overlaymount.sh Upper/work overlay and pivot_root
S60check-factory-reset.sh Volume chord and reboot trigger
S89usbgadget.sh RNDIS/FunctionFS ADB gadget setup
S95telemetry.sh, S96stereoctl.sh, S97okcall.sh, S97voice-agent.sh, S98selfcheck.sh, S99sysmon.sh Service startup

See startup for ordering and evidence manifest for stock versus live-only provenance.

Third-party live-only binaries

/usr/lib/capsula-root/{supervisor,dropbearmulti,sftp-server,busybox} and its shell tools are not stock VK files. They are indexed separately in network services and must not be used as evidence of factory remote-access behavior.