cross-compile getting started
-
so let's say i want to compile some package, i need alsa sound drivers, when i run madplay some.mp3 i get
MPEG Audio Decoder 0.15.2 (beta) - Copyright (C) 2000-2004 Robert Leslie et al.
audio: /dev/dsp: No such device or addressor to compile libasound2-dev or for start any other package, what's the process to compile step by step?
teach me how to do this and i'll host or contribute all packages i compile
-
@Igor-Neuhold For example, to compile
kmod-usb-audio
package, here's what you do:- Setup the cross-compile environment as outlined in the wiki
- Use
make menuconfig
and selectkmod-usb-audio
, it is under Kernel Modules > Audio Support - Exit out of
menuconfig
and save settings - Run
make
to initiate the compilation process (First-time compile will take a while because it needs to build the toolchain, etc) - Once the build process is completed, go into
bin/ar71xx/packages
. That's where all the compiled packages can be found. In the case ofkmod-usb-audio
, you should be able to find it under thebase
directory. - To install the files you just need to download the
.ipk
file and install it on the Omega withopkg
.
-
thanks, i'm compiling it now, do you have a repository where we can upload packages for omega or should i just upload it on my server and post a link?
also how do you add package that is not listed in menuconfig? for example i would like to add alsa package, i found few on other openwrt repos but can't use them. Do i download source and if i do, where do i put it?
-
opkg install kmod-usb-audio_4.1.13-1_ar71xx.ipk
Multiple packages (kmod-usb-audio and kmod-usb-audio) providing same name marked HOLD or PREFER. Using latest.
Installing kmod-usb-audio (4.1.13-1) to root...
Multiple packages (kmod-usb-core and kmod-usb-core) providing same name marked HOLD or PREFER. Using latest.
Multiple packages (kmod-input-core and kmod-input-core) providing same name marked HOLD or PREFER. Using latest.
Collected errors:- satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-audio:
- kernel (= 4.1.13-1-f20acdb789387285e1d949db8d2fb118) * kernel (= 3.18.20-1-7bed08fa9c06eb8089e82c200340ec66) *
- opkg_install_cmd: Cannot install package kmod-usb-audio.
how do i set the right kernel? I have no idea why 4.1 is used
-
using --force-depends now throws this:
Configuring kmod-usb-audio.
failed to find a module named snd-usbmidi-lib
failed to find a module named snd-usb-audio
-
Hi @Igor-Neuhold, you were probably using the development branch of OpenWRT. Can you try compiling with the stable/release branch of OpenWRT? The git repository is here: git://git.openwrt.org/15.05/openwrt.git.
Please let me know if that works.
-
I had success with compiling the packages for omega.
Here you can find kmod-sound-core_3.18.23-1_ar71xx.ipk and kmod-usb-audio_3.18.23-1_ar71xx.ipk.
Install them with
opkg --force-depends install kmod-sound-core
opkg --force-depends install kmod-usb-audio
-
@Thomas-Jones I get this:
Installing kmod-usb-audio (3.18.23-1) to root...
Configuring kmod-usb-audio.
failed to find dependency input-core
failed to find dependency input-core
failed to find dependency input-core
4 modules could not be probed- snd
- snd-rawmidi
- snd-seq-device
- snd-usbmidi-lib
failed to find dependency input-core
failed to find dependency input-core
failed to find dependency input-core
failed to find dependency input-core
failed to find dependency input-core
failed to find dependency input-core
failed to find dependency input-core
failed to find dependency input-core
failed to find dependency input-core
failed to find dependency input-core
8 modules could not be probed - snd
- snd-hwdep
- snd-pcm
- snd-rawmidi
- snd-seq-device
- snd-timer
- snd-usb-audio
- snd-usbmidi-lib
Collected errors:
- satisfy_dependencies_for: Cannot satisfy the following dependencies for kmod-usb-audio:
- kernel (= 3.18.23-1-735bbd0a915906145eb1b3fec1a6ff8b) *
did you have success with usb sound card audio? I mean, can you play sound with omega
-
Hi,
as I already wrote in this thread, yes I had success and I can hear music via usb audio device.
-
finally some hope
do you know why i get these errors or how to load these modules, can you also upload kmod-input-core?
-
I've uploaded kmod-input-core_3.18.23-1_ar71xx.ipk now in the same dropbox.
Also I've added a small video (sorry for the poor quality), to see onion omega running squeezelite in autostart and playing music
-
Thomas you are my hero, i love you
-
Is it working now for you?
-
yes, and i have been struggling with this for days now, installed a bunch of crap and now i have to figure out how to clean it all up so i can run my node server with mp3 player, you have no idea how good it felt to hear the sound after days of googling, compiling, installing and removing modules.
I just hope I'll be able to return the favour some day
-
Great to hear, that I could help someone.
Which node server do you want to use on the omega?
-
i'm writing my own lightweight server for audio streaming, currently i've made frontend client which decodes mp3 file and send buffer to server, now i'm trying to write that buffer to a file and stream it with madplay on omega. Some future plan is to add sd card or some other data storage so i can queue more files or save songs which finish streaming and add them to some playlist