creating a Banana PI Image

Hi,

This is my first post on this forum.

I’m interested also to run Volumio on my Banana Pi (I’ve receive my board few days ago). I’ve already tested Volumio on a Raspberry Pi. But for one of my projects. I need a little more of one RaspPi.

I think the Cubietruck image is a good candidate to test on Banana Pi. This two HW have same SoC (A20). But the HW interface is not the same and the GPIO, I2C and Sata may not work with this image.

If nobody already build an image for the Banana Pi. I’ll try to build my own image. I plan to merge the RaspPi image of Volumio with the Raspbian image distributed by the Banana Pi (http://www.lemaker.org/content-9-38-1.html).
Following these documentations :
http://wiki.lemaker.org/index.php?title=Building_u-boot,_script.bin_and_linux-kernel
http://wiki.lemaker.org/index.php?title=Kernel_drivers_porting_and_configuration
http://wiki.lemaker.org/index.php?title=Banana_Pi_Fex_Configuration
https://github.com/volumio/Docs/blob/master/porting.rst

But the documentation of Volumio is too light. I wish to know the config of the kernel and the patchs apply on it. And, if the kernel is a Real-Time kernel. Can you give me these informations? Do you have a Test Process to check the build, the efficient and quality of the playback?

I’ve read the documentation of the custom build of the MPD, quick view of the WebUI SourceCode (a Node.Js app could release the CPU usage I think), the Orion Tsunamp script and some config files. But I don’t understand well yet the extent of changes made on the official Raspbian Img to create the Volumio Img. And I don’t know if the rebuild of the kernel and the bootloader is all we have need?

Sorry for this brief reply, I will assist you in doing that later if you need more help:

1- Banana PI has different SOC than Rasbperry PI, than it uses ARMV7 binaries instead of ARMV6 found on pi.
2- To create your own image you can use the Volumio RootFS for Armv7:
repo.volumio.org/Rootfs/VolumioRootFS1.4.tar.gz
3- All you have to do is unpack it into a properly prepared SD Card for Banana PI (assume you prepare U-BOOT and partition table…)
4- Copy kernel in /boot (uImage or what you have)
5- Copy modules /lib/modules
6- Copy firmwares in /lib/firmwares
7- Verify that you don’t need particular udev rules (/etc/udev/rules.d) for your platform
8- Verify wether you need some modules to be loaded at startup (write their name into /etc/modules)

I developed Volumio and its Filesystem to be easily portable across different platforms, you shouldn’t encounter difficulties. If you do drop me a mail or a line here.

Hi!

Thanks! :wink:

Sure! I’ve begun to build a img with the ARMv7 RootFS today. My first img boot the kernel. I see two Tux on my screen! (on HDMI) But anything else :frowning: no log, no launch sequence. I’ve probably forgotten something.

I’ll create a github repos for the build script and config soon.

But for the moment I can share this Beta version. If someone wants to throw a glance.
http://we.tl/Mgq587eSiA

I’ve just created a Git repos for the build script : https://github.com/StudioKris/bananapi-img-generator

Hi,

I’ve build a new Beta version of a Volumio img for the BananaPi board. You can get the Beta 0.3 here : http://we.tl/8rYd1ovw5K

This image boot and launch the RootFS of Volumio. I couldn’t test any more for the moment ( I’ve forgot some stuff at home -_- ).

I need volunteers to test this beta before creating a R.C of the img.

Great! I am away from home so cannot give you feedbacks but kudos for creating this… And The script! I definetely encourage people with a banana pi to try it. A hint could be posting into banana of community to raise the attention on it…

Great, I’ve got to test this image out.

The current version fail to launching Nginx :

nginx: [emerg] mkdir() "/var/lib/nginx/body" failed (2: No such file or directory)

The folder “/var/lib/nginx” is missing in the RootFS. The RootFS on Git Repos is up-to-date ?
I will use the RootFS from a already build Volumio img for testing.

Here is a newest version of the img. Based on the CubieTruck RootFS.
http://we.tl/iWjbSdH4Ma
That works better. But:

  • My I2S DAC (HifIBerry like) and my TP-Link Wifi dongle are not recognized for the moment.
  • The Custom Network settings (Static, not DHCP) break the Ethernet link.

I continue the tests.

Hi,
I’m really interested by this adaptation of Volumi to the Banana Pi.
I just installed the Raspbian distribution on my Banana Pi. MPD works great (no clicks, no pocs, even at 24/96 it works like a charm), but maybe Volumio could be even better, and more optimized !
@Kris: I tried to download your img, but the file is not available anymore in wetransfer… I would appreciate to get it !

Now news about this project? Too bad, I would be so glad… :cry:

Hi,

I would be interested, too. Any news?

Bye,
Markus

I am using Volumio on my Banana Pi, and it works pretty well. I hope Michelangelo Guarise will create a proper image for it, but until then, this works (for me anyway). I decided to try the “Banana” because the “Raspberry” has noisy USB ports. The Banana Pi seems equally noisy, so not a solution there I guess. However, it is more responsive (quicker) at updating the GUI, has fewer music dropouts, and has several more ports like the handy SATA connector.

  1. Don’t buy a Banana Pi, buy a Banana Pro. It is a little more expensive, but with a I2s interface, built in WiFi, and better support. Buy a good power power supply also, 5V @ 2 Amps (at least). If you already have a Banana Pi this procedure works on it too.
  2. Find someone, (yourself?) who has Volumio standard running on an ordinary Raspberry Pi. Borrow the SD card, and copy the /etc/mpd.conf file to a USB drive, or your computer.
  3. Download “Bananian Linux” http://dl.bananian.org/releases/bananian-latest.zip and install it on your Banana Pi SD card. Boot your Banana Pi with this Bananian Linux.
    4.If you have video attached be sure to watch for the IP address assigned by DHCP to your Banana Pi’s network interface, otherwise scan your network to locate the IP address. https://www.softperfect.com/download/freeware/netscan.zip
  4. Do EVERYTHING in this instruction: http://typingoutloud.org/raspberry-pi-installing-volumio-pibang/ EXCEPT for loading and setting up PiBang Linux. NOTE: my bananian Linux setup did not understand “sudo” so I did everything as root, and did not use sudo, that is; everywhere you see sudo just type the command without sudo (logged in as the root user).
  5. Next, do: apt-get -y install cifs-utils
    7. sudo reboot (or just reboot without sudo, if you are root).
  6. Rename the /etc/mpd.conf file to /etc/mpd.conf.old Then copy the mpd.conf you saved from the Raspberry Pi SD card into the same /etc/ directory as the /etc/mpd.conf.old file you just renamed. I did these two steps with WinSCP http://winscp.net/download/winscp571setup.exe.
  7. Reboot again, Browse to the GUI page and go through all the menu options carefully to setup your Volumio for your system.
  8. The GUI menu “Shutdown” option does not work. I have to SSH into the Banana Pi, login, and type the command poweroff to get it to shutdown. If someone can figure this out, please post the solution.
  9. This is obviously NOT A COOKBOOK instruction, just an outline, so you need to know something about Linux to use it. SSH access is easy and convenient. It is native in most Linux distros, or from a windows machine use “Putty”, http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html
  10. I am not sure what would happen if I just create an image of my SD card, so it can be cloned by anyone, I do not want to do anything that would discourage the DEVs from creating a proper BananaPi image. It is their baby, and a beautiful baby at that! (I am just a hack).

I think the “Turn Off” selection on the Volumio GUI is most likely a ACPI call. I installed ACPI to see if it would fix the GUI “Turn OFF” problem I am having, but so far, no luck. I think I am missing an ACPI script from Volumio. More research is needed I guess. Until then I am still using SSH to poweroff the BananaPi. I also tried doing this with Debian Wheezy (for ARM CPUs) instead of Bananian Linux. Debian Wheezy understands sudo, which makes everything a bit more straightforward. I think Wheezy works even better than Bananian, but it is hard to say because I put Wheezy on a much faster class 10 SD card, which may be all the difference between the two.

Hello jwhitmor,

many thanks for your dedication porting Volumio to Banana Pi (Pro).
Could you please make a short list of features, which are working with your sollution at the moment, please?

How about:

Do you know when there will be a “official” support or a first official porting?

@ Michelangelo: Do you already have a schedule, to do this?

Many thanks and sorry for so many questions :wink:

Best regards,

gymnote

I would be really happy to port Volumio to Banana Pi. If they are willing to donate a board on the project (AKA ship it to me) I think it will be pretty fast to port (as it uses the same SoC as UDOO and Cubox-i). …
I’ll send them a mail now

EDIT: Shame on me, it seems that they are using Allwinner (same as Cubietruck), so no problem for the port. However browsing the whole website, I couldn’t find any mail address or contact info available…
If some of you know how to contact them could you please send the contact via PM please?

have you been successful in contacting lemaker for a banana Pi - or is this still open ?
I think we should rather look for a “banana Pi PRO” because it has S/PDIF support which might be more useful for our purposes + onboard WLAN, also not bad

Hi michelangelo,

I can’t find the function to send you a PM. :question:
If you don’t contact LeMark so far, you can try this mail address. It can be used for product trials: apply@lemaker.org
I found it here: wiki.lemaker.org/Main_Page

chrisma is right, please directly request a Banana PI PRO. It supports also I2S which is not supported by normal version of Banana PI.

BTW: Do you plan to support Banana PI PRO in your eagerly expected Volumio 2 :smiley:

Regards,

gymnote

RC2 of volumio2 is now out - and so I digged out my banana pi pro and gave another try to install Volumio, Volumio2 now

Installing the prerequisites worked out quite well on bananian
apt-get install git python make g++
as well as for nodejs (started with 5.12. first and then upgraded to 6.3.x )

when running “npm install” in the volumio folder lots of things worked well - up to the point where the epoll is going to be compiled - I see this error:

$ npm install

epoll@0.1.19 install /mnt/volumio/volumio/node_modules/epoll
node-gyp rebuild

make: Entering directory `/mnt/volumio/volumio/node_modules/epoll/build’
CXX(target) Release/obj.target/epoll/src/epoll.o
In file included from …/src/epoll.cc:15:0:
…/…/nan/nan.h:43:3: error: #error This version of node/NAN/v8 requires a C++11 compiler
In file included from …/src/epoll.cc:11:0:
/home/volumio/.node-gyp/6.3.0/include/node/v8.h:341:1: error: expected unqualified-id before ‘using’
/home/volumio/.node-gyp/6.3.0/include/node/v8.h:477:1: error: expected unqualified-id before ‘using’
/home/volumio/.node-gyp/6.3.0/include/node/v8.h:871:1: error: expected unqualified-id before ‘using’
In file included from …/…/nan/nan.h:190:0,
… tons of more error messages

Has anybody else come to this point and knows the solution how to overcome this issue ?

Chrisma, now to have Volumio2 for BananaPI, we just need to adapt the build script for it… If you have a kernel and an uboot, it will be fairly easy… If you are willing to do that write me!