Trying to build on ARM


Not too bad so far, average 721mb RAM use, 26k blocks. But it’s going to take me a while no matter what because I live in a rural area with embarrassingly slow internet speeds.

It has 4GB of RAM, (3.79 free with LXDE desktop) so hopefully it won’t choke on the big blocks.


If you have another node (I’m guessing you do), use ‘zcash-cli addnode’ & you can slurp blocks from that… should speed it up.


I came home to find that the node had stopped at 49K blocks and had no connections. :neutral_face: I’m not sure what happened but the entire board lost internet sometime last night or early this morning.

So I re-booted the router and the board and now everything is back to normal… so far…

I could just copy the blockchain from one of my other nodes, but I was hoping to find out what a new user would experience if doing this for the first time.


Think ‘addnode’ will preserve the 'new user experience, it’ll just use a faster/local node as one of its sources.

Copying the blocks is cheating! :roll_eyes:


I also got my first prototype case done:

It’s a little rough because I turned the feedrate way up just to get it done. I’ve concluded that I have to make the walls thinner 2.5mm instead of 3mm, I need to add an opening for the heatsink along with adjusting some hole sizes. Then I can make a bottom cover.

It’s been getting hotter than I expected during sync, I would be afraid to run it without a heatsink or with the heatsink covered.


And it is synced on my side ! :slight_smile:


Should be able to run a small fan maybe?


That’s impressive. I’m having some issues on my Odroid C2 running out of memory at around 173k blocks.

2019-03-27 15:59:57 Pre-allocating up to position 0x1100000 in rev00037.dat
2019-03-27 16:00:06 Error: Out of memory. Terminating.

Are you doing anything extra over and above running Armbian? I am using the stable release as I built on Debian Stretch which cured the dependency issues when building on say Ubuntu 18.04.

Welcome to ARMBIAN 5.75 stable Debian GNU/Linux 9 (stretch) 4.19.20-meson64

Are you using any additional swap or zram over what is preconfigured?


I use a 16gb emmc module instead of an sdcard and gave it an extra 2gb SWAP space on the emmc. It’s much faster than the sd card…
It never went above using 1,2gb of swap space…

I use an old external HDD that has its own power supply hooked to USB and holds the /zcash folder.

Beside this, it’s also used as AFP and DLNA server.
Everything runs smoothly so far.

I am tempted to start again with an image of ubuntu server.
I had troubles building keybase and after that attempt, everything became very slow, with only 2 connections… Then after a reboot, everything went back to normal.
I’d even say that it somehow speeded up the sync. the last ~150k blocks went very fast.

For the moment, I’ll have it running for a while, see how it goes…


Thanks for that, that’s helpful. I’m using EMMC too so it shouldn’t be that. I only have 1GB of zram that was pre-configured (so that might just not be enough). I think I’ll try 2GB of swap and retry.

My Raspberry Pi nodes are running incredibly smoothly so it’s just the initial sync that’s the major constraint :+1:

1 Like

Yeah, I have a very small 30mm fan I can use, I’m holding off until the initial sync is complete then I will be able to disconnect it to fiddle with the case design. Maybe just mounting the fan firing upwards and drawing air through the sides would be enough.


Aaarrrghhh… Pi3B+ sync died again :unamused:

Plan C - starting over, 8Gb swapfile on the SD card, SD card overclocked, using NAS storage instead of the external USB drive.


The zram somehow wasn’t being used by the zcashd process… That’s at least what I thought I could see via “top” command before zcashd crashed…
Maybe because it is split in 4 different entities?

Before the odroid C2, I had an old fitpc2 with 4gb of RAM. That was enough to have it running. So I guess a total of 4GB of ram is what is needed…


Woo! :star_struck: Finally synced. Had a couple hiccups like a power outage and keep dropping connection due to my crummy internet but it’s complete.

At the big blocks (350,000 or so) it used a peak of 2.3GB of RAM to crunch through.


So now, next challenge: How to update to 2.0.4? :slight_smile: Should we cross compile and over write the files? Or can we use the update command line tool?


Yes. You’ll need to rebase #3505 on master and then cross compile and simply replace the binaries.

If you mean updating via the package manager then this isn’t supported.


I just wrote this post summarising the current state now that support has been merged into master. Any suggestions/errors/omissions are welcome :smile:


Nice, I was just thinking about this. My little node has been running for over a month now without any issues :blush:


My attempts to sync mainnet on a Pi3B+ have failed (so far). Probably just the usual power supply issues, its right on the limit with an external USB drive.

I’d like to be sure it can verify a large/full block, eventually we’ll get some of those & could be a problem - 1Gb ain’t much.

Haven’t given up yet, just busy with other stuff.


I’ve a couple of Pi nodes that have now been running over a month uninterrupted (one on testnet and one on mainnet). I’ll have a check to see if there have been any large/full blocks during that period :thinking:

I’m just completing the sync on the Odroid C2 (60k blocks to go) and it’s slow going.