nix-bitcoin
nix-bitcoin copied to clipboard
Supported Hardware
Time Horizon: Long term
Description: Compile a list of tested hardware and specific instructions. Choose one hardware platform to focus development on and look into providing plug'n'play versions of that.
Motivation: Focusing on selected hardware will improve UX and reduce development resources in the long term. Having pre-installed, ready-to-use hardware will open nix-bitcoin to a whole new class of users, who need a reasonably secure and fully-featured bitcoin node but lack the knowledge to go through the NixOS install process. Would be most useful in conjunction with https://github.com/jonasnick/nix-bitcoin/issues/38.
Implementation: pcengines apu, Intel NUC, Nodl
I'm running nix-bitcoin (in a VM) on a Gigabyte BACE-3160.
Nice. Would you consider running outside of the VM as a stand-alone device? I'll add it to the README.md under Tested Hardware then.
I'm runing nix-bitcoin on GB-BACE-3150.
Would you consider running outside of the VM as a stand-alone device?
Yes. The BACE-3160 seems to be the same as the BACE-3150 besides a newer CPU generation in the 3160.
Tried and failed to run nix-bitcoin on Intel NUC8i5BEH (with Samsung SSD 860 QVO 1TB and Crucial Ballistix Sport LT 16GB Kit (2 x 8GB) DDR4-2400 SODIMM).
Played a little with NixOS 19.03 and it seems to me that NixOS fails to boot on this computer using the hardened kernel, but works using the vanilla one.
@cypherpunk2140 thanks for the report! That sucks.
I ended up deploying nix-bitcoin on a VM with NixOS (without hardened kernel) as the host, it works fine in the VM. When I have some time I will try to find out what specific option in the hardened kernel profile is making NixOS not boot.
When I have some time I will try to find out what specific option in the hardened kernel profile is making NixOS not boot.
Please do, that would be awesome. I'm running on an apu2c4, which I can highly recommend.
Did anyone test on aarch64 (mainly raspberry pi)?
@kcalvinalvin Not that I know of.
Raspberry pi was out of scope because imo it was way to weak to have fun with it. But perhaps that changed with version 4.
I tested with rp3 but the biggest problem was memory. I’ll give another go with swapon set.
What’s the most demanding software at the moment?
I'm running on an apu2c4, which I can highly recommend.
Thank you, I'll definitively keep it in mind for when I'll get new hardware.
I found out what makes my Intel NUC8i5BEH not boot NixOS 19.03 using the hardened kernel: "page_poison=1".
As a workaround, the following can be added to configuration.nix
when using the hardened kernel profile to boot:
boot.kernelParams = lib.mkOverride 50 [
# Slab/slub sanity checks, redzoning, and poisoning
"slub_debug=FZP"
# Disable slab merging to make certain heap overflow attacks harder
"slab_nomerge"
# Overwrite free'd memory
# This is commented out as it makes Intel NUC8i5BEH not boot
# "page_poison=1"
# Disable legacy virtual syscalls
"vsyscall=none"
# Enable PTI even if CPU claims to be safe from meltdown
"pti=on"
];
I didn't try it yet with nix-bitcoin, just with NixOS 19.03, but chances are this will make nix-bitcoin happy too!
I don't know the security implications. Also, I wonder if this should be reported upstream, to nixpkgs or to kernel.org?
EDIT: FWIW, MemTest86 did not find any errors on the (separately bought) system memory. Also, I started using nix-bitcoin on my machine with the workaround presented here.
Requirement for milestone should be at least one recommended hardware setup, with links and prices.
A recommended hardware setup would be nice. I'd like to try it!
Hardware wise I've been happy with my bare-bone Gigabyte BACE-3160 (not sure if Gigabyte has any new iterations). You'll need RAM (make sure to get the correct one..) and a HDD/SSD too.
I'd like to try it but only have rpi4 ....
There is community support for NixOS on ARM, but I don't know if anyone ever tried running nix-bitcoin on ARM (apparently NixOps now works with ARM too according to https://github.com/illegalprime/nixos-on-arm#nixops-deployments). I might try ARM with krops at some point.
Is trying nix-bitcoin in a VM an option for you too?
There is community support for NixOS on ARM, but I don't know if anyone ever tried running nix-bitcoin on ARM (apparently NixOps now works with ARM too according to https://github.com/illegalprime/nixos-on-arm#nixops-deployments). I might try ARM with krops at some point.
afaik, rpi3 is the only pi that’s officially supported, all others are community supported. I’ve been running NixOS on rpi3 for months now and it’s very stable. Based on what I’ve heard about the recent developments with NixOS on Arm, rpi4 shouldn’t be too bad.
Confirmed, RPI4 8GB works well enough. Tested by running QEMU VM script from the examples.
Confirmed, RPI4 8GB works well enough. Tested by running QEMU VM script from the examples.
Nice. Did you test with 64-bit (aarch64 / arm64) or with 32-bit (armhf)? Should make a big difference given the better memory addressability on 64-bit.
I am running it on physical Pi4 8GB now (no vm or container), but just with electrs and bitcoind. bitcoind uses a constant 18% of memory, electrs transiently uses 8%.
I am running it on physical Pi4 8GB now (no vm or container), but just with electrs and bitcoind. bitcoind uses a constant 18% of memory, electrs transiently uses 8%.
You don't run enough nodes :-p
You mean services?
Hello everyone, I would be interested to know if there is anything against a Raspberry Pi 4? This is officially supported by NixOS and the hardware only differs primarily in terms of how much RAM is installed and which storage is used.
@DocBrown101, Raspberry Pi 4 works fine. See docs/hardware.
@erikarvstedt Yes exactly, but this ticket is still open as there are no examples for it yet, or has it just been forgotten to close?
nix-bitcoin is just a set of NixOS modules, all NixOS installation instructions readily apply to nix-bitcoin. No need for extra docs.