Volumio adding iSCSI support, replacing kernel with recompiled one

Hi all,

Looking for a little guidance here. I installed the latest version of Volumio and I would like to recompile the kernel and add support for my iSCSI DroboPro SAN. I have been following instructions from this website:
How to compile a Linux kernel for the Raspberry Pi 4 on Raspbian - The Tech Journal (stephenwagner.com)

I merged in instructions, to add iSCSI initiator setttings, from this website: RPi iSCSI Initiator - eLinux.org

Once the UI has loaded, navigate to the “Device Drivers” section (enter to navigate between pages, space to change an option), then “SCSI device support”, then “SCSI Transports”. Change the “iSCSI Transport Attributes” option twice (so that it shows a *) to build it into the kernel. Go back a page, hit space for “SCSI low-level drivers” to enable this option, then enter to descend into it, then space twice for a * on “iSCSI Initiator over TCP/IP”.

Once these options are enabled, exit the UI and save changes. To ensure these are set, run:
grep ISCSI .config

This should return the following:

Built the kernel, everything seems to go fine. But when I got to the last step of copying the kernel over to /boot, it said I had run out of space. Collaborating with a friend who knows Linux better than I, he suggested I remove /boot/kernel7.img as there appeared to be three kernel image files. Removing that file, I was able to copy my new kernel from ‘home’ folder over to /boot, now when I boot up Volumio the networking seems unstable. SSH sessions keep crashing after a few seconds of connectivity or they don’t come up.

Does anyone know what the three image files are for? My new kernel is 6.2 MB and I need to just free up a bit of space to fit it on the partition.


The Volumio version for PI supports all PI models and there are several kernel images necessary to achieve that.
But it is not just the need to copy the kernel image, you may also need to install all modules that come with your new kernel. If you don’t, you need to make sure the kernel sources you compile are the exactly (!!) same version as the default volumio install.
I don’t want to sound unpolite, but it seems you do not really know what it needs and what you are doing, are you sure you want to go ahead with this?

Hi gkkpch,

Thanks for the info about the modules and the complexity of what I am trying to do. I am using this as an opportunity to dive deeper into Linux than I have before (hopefully without pulling out too much hair).

I should have mentioned I’m using a Raspberry Pi 4b.

Would you recommend any documents that could help with learning the layout of the files on Volumio distro? I am more familiar with Linux on x86 than ARM.

Another alternative approach I have considered is using another distribution like Ubuntu MATE or Raspbian and add the Volumio Web UI and packages on top of that. I didn’t come across any guides in the forums and the closets links in the forums were pointing to websites that no longer existed (dead link -> typingoutloud.org. )

You cannot use another distro and take parts from Volumio. Volumio comes as an integrated player/OS distro which you cannot simply take apart and te-assemble on Ubuntu or any other distro.
That ‘may’ have been the case in 2014, Volumio since has been completely redesigned and rewritten with different tools and an automated build framework.
It needs more than just a recipe or a guideline.

Using your own kernel without the necessary knowhow is something I would strongly advice not to do and have no urge to support you with it.

In case you are really keen on using iSCSI, use the x86, soon also x86_amd64 edition, to which I added iSCSI support ages ago.