Da meine Anleitung für den 25€ Airtunes Client doch einige positive Reaktionen hervorgerufen hat, hier nun eine Anleitung wie ihr so eine Firmware selber erstellen könnt.
So müsst euch nicht darauf verlassen das ich keine Backdoors einbaue oder auf mich warten wenn eine neue Shairport-Sync kommt.
Diese Anleitung sollte auf so ziemlich allen OpenWRT fähigen Geräten funktionieren. Sie sollten bloss mind. 8MB Flash Speicher, mind. 32MB Ram und einen USB Port haben. Die 32 MB Ram stellen auch wirklich das absolute minimum dar. Beim WR710N den ich in meinem Tutorial verwendet habe bleiben höchstens noch 2MB Ram frei wenn Shairport darauf läuft, ohne Swap also eine enge Sache.
Was braucht Ihr um die Firmware zu bauen?
Einen PC mit aktuellem Linux OS, z.B. mit Ubuntu. Ich bevorzuge hier Linux Mint welches auf Ubuntu basiert jedoch meiner Meinung nach einen angenehmeren Desktop bietet. Ihr könnt euch das Linux OS natürlich auch in eine Virtuelle Maschine installieren.
Nun müsst Ihr auf eurem Linux Rechner die Pakete installieren welche für das kompilieren für OpenWRT benötigt werden. Diese Informationen findet Ihr im OpenWRT Wiki. Vergesst bitte auch nicht git und libxml-parser-perl zu installieren.
Anschließend besorgen wir uns mit folgenden Befehlen die aktuelle trunk Version von OpenWRT, fügen die Shairport-Sync quellen hinzu, konfigurieren die Firmware und kompilieren Sie dann.
git clone git://git.openwrt.org/openwrt.git cd openwrt/package/ git clone https://github.com/mikebrady/shairport-sync-for-openwrt.git ./scripts/feeds update -a ./scripts/feeds install -a ./scripts/feeds install libavahi alsa-lib libdaemon libpopt libsoxr alsa-utils
Nun haben wir alle Sources die wir benötigen. Anschließend rufen wir die Menuconfig von OpenWRT auf.
make menuconfig
Hier wählt ihr bitte das passende Target System und Target Profile. Nun aktiviert ihr unter Sound-> Shairport-Sync, sowie unter Kernel Modules -> Sound Support die beiden Module kmod-sound-core sowie kmod-usb-audio.
Nun speichert ihr die Konfiguration ab und verlasst die Menuconfig.
Anschließend startet Ihr das kompilieren mit einem einfachen make.
make
Wenn Ihr z.B. einen Quadcaore CPU im Rechner habt dann könnt Ihr auch ein -j 3 anhängen damit alle Kernel genutzt werden und das kompilieren beschleunigt wird.
Wenn alles gut verläuft dann findet ihr innerhalb des OpenWRT Ordners einen Ordner Namens bin und darin einen Ordner mit dem Namen des Target System. Darin befinden sich dann die passenden Firmware Images.
Das ist jetzt keine Anleitung die Sonderlich ins Detail geht. Im Endeffekt ist es ein wenig eine Gedächtnisstütze für mich falls ich einige Details in einem halben Jahr wieder vergessen habe.
Wenn Ihr fragen habt dann schreibt einfach einen Comment.
Thanks for posting the build details here, but as a OpenWRT novice, could you please explain in more detail the ‚configure the firmware‘ step please.