Guid for customize Volumio image

Hi all!
In this thread:
distorted-audio-samplerate-dac-not-being-set-correctly-t11347.html

I faced with the fact that in order to achieve the goal, I need to compile a new kernel, with changes made to it.
I`m very happy with volumio, but for full happiness ))) I need this patch…
So I started to search Google for how I can do this and faced with a complete misunderstanding of this issue :blush: :frowning:

So… I decided to ask for help here on the forum. Maybe someone who will be so kind will be able to tell me the main directions for action, so that I can make patch to the current kernel used in the Volumio and compile my own ISO with all over stuff of current Volumio version(all features, optimizations etc. In one word, an exact copy of the current version of Volumio, with the only difference: one single kernel patch will be applied).

I am a pretty confident PC user and have a basic knowledge of Linux and terminal.
I can use VirtualBox.
I can start my PC with Live Ubuntu (or else x86 LiveCD) or even can install some linux distro to HDD.
When all will be done, I need a ISO for Raspberry PI.
I`m just don’t know where to start ((((

I will be very grateful for any help or hint!
Thanks.

This is the doc on how to create your own image with your own kernel.
volumio.github.io/docs/Porting_ … ction.html

And this is the source of our build system:
github.com/volumio/Build

Oh… Its shame for me! I dont look to documents… sorry and many thanks for helping and for Volumio! ))

Hmm…
I think I dont need to porting anything… Its mean what the process must be little easy or no? :confused: Or edit kernel its equal to porting?

In windows, I create VirtualBox machine and install Ubuntu Desktop 16.04.
Then I instal with sudo apt install all requirements that described in readme:

and then I run this command:

./build.sh -b arm -d pi -v 2.0 -l reponame

Hmm… I dont understand that is reponame?
At finish of command execution I get this:

Creating docker layer sudo: docker: command not found
Its critical error?..
In mnt folder I have:
kernel_current.tar and folder Volumio with subfolder rootfs and all this subfolders:

And looks like in build folder, I ready have an img :open_mouth:

I have downloaded kernel-source from here:
github.com/volumio/raspberrypi-linux
and I edit file what I need. There I must now place the sources for they`ll be applied to new img?

Thanks!

I try to compile kernel from scratch with this:
raspberrypi.org/documentati … uilding.md
(as source I use kernel source from Volumio git)and replace kernel.img on SD card, but with no luck ((
What I shall to do?

So… One week without sleep I asked on many forums, many “developers” and ordinary users… Nobody, except two great mans(Igor_A developer of APlayer and mister pelwell from GitHub), didn’t even try to help me… With this world something wrong???.. :astonished:

But… in the end, having gone a rather long way, I found a way out!

First. I check the kernel version of my current Volumio:

In browser go to http://volumio.local/dev/ and enable ssh
login: volumio
pass: volumio
In ssh run:
uname -r
Answear will display my kernel (in my case it):
4.14.92-v7+

Then I need to build my new kernel from scratch…
Here:
raspberrypi.org/documentati … uilding.md
only one right guid for doing this(of cause its only for Raspberry Pi platform)…
I must perform this guid step by step very carefully, except couple things, before start to build new kernel(make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage modules dtbs)
1)I need to fix the problematic library like it described here:
mailman.alsa-project.org/piperma … 79103.html
2)It is also necessary to pay attention to what version of the kernel I will build. How to choose kernel version for build, I can read here:
github.com/Hexxeh/rpi-firmware/ … -458872811
3)For build only one sound-usb module, I need to use comand like this:
make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules

Then my kernel build will be ready, I need to replace /lib/modules/[kurrent_kernel_version]/kernel/sound/usb/snd-usb-audio.ko with [kurrent_kernel_version]/kernel/sound/usb/snd-usb-audio.ko from modules folder of my kernel build…
For this ofcause I`ll need to root permissions.
Whats all folks…

Now its work like a charm!!!
if someone needs to fix the work of E-MU 0404 USB in Volumio, and can`t rebuild kernel from sources, please contact me, we’ll figure something out!

@taravasya
I mentioned in the beginning that we do not do the RPi kernel ourselves, so there is no reason to complain here that you do not get any help from the community, this is out of our hands.

To make things a little worse, any next update from Volumio may (and probably wil) break the work you did. You will have to rebuild the .ko file for every new kernel version in Volumio because the .ko module is version dependent.

Yes… We can long-long time talk about what we CANT do and what we DONT do… but… may be its time to think about what we CAN do?
Only on your forum, there are at least four different topics with the same problem(E-MU 0404 USB). We can say, in a some sense, this is the most common topic on your forum… )))
Anyway I did not ask to compile a new kernel for me. I`m only asked to help me figure out how to do this. And as you can see in my previous post, the description of this contained a dozen and a half lines. In your last post, you wrote almost half of the required amount of text … but it was a text about nothing. :nerd:
And yes… I know what its version depending… but who care about versions if my favorite DAC does not work with any of them ?