No-SMP OMAP4 boot path installed to the normal boot partition.
Why
A strange device deserves a second boot.
Google introduced Nexus Q at I/O 2012 as a $299 Android-controlled social streaming device for the living room. The consumer launch was postponed soon after, leaving a small population of preview units and a lot of unused hardware.
This project turns that hardware into a modern embedded Linux audio target, with a path toward a custom Android control app and network music streaming.
Current State
Validated on hardware
armhf rootfs on sparse ext4 userdata.
BCM4330 loads from rootfs firmware and owner calibration.
48 kHz PCM and MP3 playback validated on the internal speaker path.
What Changed
From artifact to bring-up platform.
- Ported a Steelhead device tree for OMAP4, TAS5713, McBSP2, USB gadget, and BCM4330 SDIO.
- Added a Linux 6.6 ASoC machine driver and Steelhead ABE clock quirk for the internal speaker amplifier path.
- Built a Debian loader and minimal rootfs init with USB serial, explicit fastboot recovery, Wi-Fi startup, and Dropbear.
- Moved public Wi-Fi from embedded private blobs to modular `brcmfmac` plus first-boot calibration extraction.
- Validated an opt-in Squeezelite endpoint so Music Assistant can treat the Q as a native network player.
- Connected the original top ring to TAS5713 hardware volume through the front-panel AVR input driver.
- Added an opt-in ADB-compatible debug bridge with root Bash shell and file sync for trusted bring-up networks.
- Documented the ABE DPLL clock fix that removed the Linux 6.6 speaker flutter.
Release
v0.3.0
Flash Debian to userdata, install the Linux 6.6 image to boot, and reboot into a Music Assistant-capable Nexus Q player with local ring volume.
fastboot flash boot nexusq-linux66-omap2plus-nosmp-audio-wifi-public-debian.img
fastboot flash userdata nexusq-debian-trixie-armhf-rootfs.sparse.img
fastboot reboot