Page 5 of 6

Volumio 2 on NanoPi NEO

PostPosted: Sat Nov 18 2017 12:19
by gkkpch
Yes, that was the problem. Now I have a working image to compare with.
I'll try to build my own version with armv7
But of course, I may not succeed either :roll:

Volumio 2 on NanoPi NEO

PostPosted: Sat Nov 18 2017 12:43
by nikkov
A few days ago I received the purchased NanoPi Neo and NanoPi Neo Air and built image for NanoPi Neo too.
Images for NanoPi NEO (armv7) and corrected NanoPi NEO2 (armv8) may be downloaded from: https://drive.google.com/drive/folders/ ... sp=sharing

Volumio 2 on NanoPi NEO

PostPosted: Tue Nov 21 2017 14:32
by nikkov
Just for information, I successfully built armv7 image for Nanopi-NEO2 with nodejs and modules which was builded on board.

Volumio 2 on NanoPi NEO

PostPosted: Thu Nov 23 2017 02:40
by nikkov
gkkpch wrote:not seen the node issue with your "undefined instruction", but I did have a serious issue trying to run node js on Rock64 which is also arm64.
node js on Rock64 failed while emulating the CP15 Barrier instruction, I had to switch that off in rc.local.
Just wonder if you also have issues with obsolete armv7 cpu instructions, just showing slightly different, need to check this (and look at your kernel config).
Did you look for an armv8 specific node js compile yet? Perhaps that is an option too...

You are right. I enabled CP15 Barrier emulation and node successfully work. But I have many warning about CP15 emulation and I'm not sure that is right decision.

Volumio 2 on NanoPi NEO

PostPosted: Sun Nov 26 2017 02:19
by gkkpch
nikkov wrote:
gkkpch wrote:not seen the node issue with your "undefined instruction", but I did have a serious issue trying to run node js on Rock64 which is also arm64.
node js on Rock64 failed while emulating the CP15 Barrier instruction, I had to switch that off in rc.local.
Just wonder if you also have issues with obsolete armv7 cpu instructions, just showing slightly different, need to check this (and look at your kernel config).
Did you look for an armv8 specific node js compile yet? Perhaps that is an option too...

You are right. I enabled CP15 Barrier emulation and node successfully work. But I have many warning about CP15 emulation and I'm not sure that is right decision.


But I don't quite get it, can you send the kernel config? I'm curious what exactly you enabled.
I had to add support for obsolete armv7 instructions on Rock64, then disabled the CP15 Barrier emulation instruction in rc.local

On Rock64 I added
Code: Select all
echo "#!/bin/sh
sysctl abi.cp15_barrier=2
" > /usr/local/bin/rock64-init.sh
chmod +x /usr/local/bin/rock64-init.sh

echo "#!/bin/sh -e
/usr/local/bin/rock64-init.sh
exit 0" > /etc/rc.local

to the config part of the build script.

Volumio 2 on NanoPi NEO

PostPosted: Sun Nov 26 2017 04:29
by nikkov
gkkpch wrote:But I don't quite get it, can you send the kernel config? I'm curious what exactly you enabled.
I had to add support for obsolete armv7 instructions on Rock64, then disabled the CP15 Barrier emulation instruction in rc.local

On Rock64 I added
Code: Select all
echo "#!/bin/sh
sysctl abi.cp15_barrier=2
" > /usr/local/bin/rock64-init.sh
chmod +x /usr/local/bin/rock64-init.sh

echo "#!/bin/sh -e
/usr/local/bin/rock64-init.sh
exit 0" > /etc/rc.local

to the config part of the build script.


My config
config.zip
(31.31 KiB) Downloaded 142 times

Code: Select all
CONFIG_ARMV8_DEPRECATED=y
CONFIG_CP15_BARRIER_EMULATION=y

And your scenario works with this kernel. I added sysctl abi.cp15_barrier=2 and nodejs works without warnings.
But if I'll set only "CONFIG_ARMV8_DEPRECATED=y" nodejs reports about "undefined instruction"

Volumio 2 on NanoPi NEO

PostPosted: Sun Nov 26 2017 15:44
by gkkpch
yes, I found that a little confusing too.
But, what do you think? Can we do without armv8 now?
I know you put a lot of extra work in it, but with armv7 you could make it a supported board.

A little off-topic, I also worked with Nanopi A64 the last couple of weeks.
There is a working image now with legacy kernel 3.10.105 (similar but not the same as the pine64 image).
But lack of documentation leaves me with an unstable image (shutdown & reboot issues).
So, not good enough yet, but support is supposed to be in mainline 4.14.
Tried it already, but have not managed to get it to boot properly, it will start from SD but then fails to detect mmc0blk0 while loading the kernel.
Device tree issues???

Volumio 2 on NanoPi NEO

PostPosted: Mon Nov 27 2017 02:47
by nikkov
gkkpch wrote:yes, I found that a little confusing too.
But, what do you think? Can we do without armv8 now?
I know you put a lot of extra work in it, but with armv7 you could make it a supported board.

I'm not worried about my work with armv8 support and at this stage armv7 image seems is more preferable. But the requirement only of specific versions nodejs, modules and plugins may limit porting Volumio to new boards.

gkkpch wrote:A little off-topic, I also worked with Nanopi A64 the last couple of weeks.
There is a working image now with legacy kernel 3.10.105 (similar but not the same as the pine64 image).
But lack of documentation leaves me with an unstable image (shutdown & reboot issues).
So, not good enough yet, but support is supposed to be in mainline 4.14.
Tried it already, but have not managed to get it to boot properly, it will start from SD but then fails to detect mmc0blk0 while loading the kernel.
Device tree issues???

Yes, support for A64 is not complete yet and simplest way just is wait next kernel version

Volumio 2 on NanoPi NEO

PostPosted: Sat Dec 02 2017 08:04
by nikkov
I built universal image for nanopi-neo and nanopi-neo-air. You can download image from: https://drive.google.com/drive/folders/ ... sp=sharing and use this image for both boards.

Volumio 2 on NanoPi NEO

PostPosted: Fri Jan 26 2018 11:42
by nicko500
Hi Nikkov,

I tested your Nanopi Neo2 image with our 9028DAC and it's working fine.
Thanks you much for this great work ! 8-)