Pages:
Author

Topic: [Guide] Futurebit Apollo BTC Custom Linux Install - Base (Read 781 times)

member
Activity: 199
Merit: 37
Looks like the armbian version is indeed CLI interface only. Oh well, finally a reason t get into this!

Maybe the Ryobi power supply is to blame, or something else, but the newly built Armbian_22.05.4_Orangepi4-lts_bullseye_current_5.15.48.img.xz does not show up on the HDMI monitor when I try to reboot it.

But, after connecting the cable between Orange Pi 4 and ASICs, it does boot up and asks for login and password.

So, here I am, the fan is howling although the miner is stone-cold and that command-prompt is blinking at me...

ROTFLMAO

I'm making progress!
member
Activity: 199
Merit: 37
Now it is downloading updates / upgrades....

And I wonder if this particular armbian OS has a GUI?  Undecided Shocked

So far it's all code gobbledigook, this might be my first foray into GUI-less computing, wish me luck!   Grin


Meanwhile, the Apollo ASIC board is hashing away happily.

I disconnected the Orange Pi 4 from the ASICs and powered it up using some gear I found within arm's reach.....

I knew this dumb power supply would come in handy one day:  https://www.bunnings.com.au/ryobi-one-18v-usb-power-adapter-skin-only_p6210800
It has a 2.1A and a 1A 5V USB outlet and so far, things seem to work with 2.1A.
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
Looks like the armbian version is indeed CLI interface only. Oh well, finally a reason t get into this!
I thought it did have a GUI, to be honest.

On https://www.armbian.com/orange-pi-4/ you find all supported versions, like 'Bullseye CLI', 'Bullseye Minimal' (minimalistic GUI without a lot of bloat), and different versions of Jammy with and without graphical desktop.

I'm not sure about your power supply situation; you probably want to have around 15W of power output so the Orange Pi runs stable; worst-case, just connect the hashboard and power it up through the Futurebit enclosure (12V power supply).
member
Activity: 199
Merit: 37
Download page: https://www.armbian.com/orange-pi-4/
Direct link: https://redirect.armbian.com/orangepi4/Bullseye_current (Armbian 22.05 Bullseye - May 28, 2022)

Burn on a new microSD card with 16GB or more using dd or BalenaEtcher (https://www.balena.io/etcher/).
The first boot of this microSD will require to plug in a HDMI monitor and a USB keyboard to create an admin (you can use something else, I just assume this name from here on forward) account and set your locale.

Otherwise just update the whole thing and proceed with miner and / or node install guides, linked above.
Code:
sudo apt update && sudo apt upgrade -y
Trying to follow the instructions, I found that I have to follow them very exactly!

I'm only getting some success when using the same armbian version that n0nce used ( Armbian_22.05.4_Orangepi4-lts_bullseye_current_5.15.48.img.xz )

I tried Armbian_22.11.1_Orangepi4_jammy_current_5.15.80_xfce_desktop.img.xz and Armbian_22.08.2_Orangepi4_jammy_current_5.15.69.img.xz  , but neither of them seem to be able to use the WiFi on the Orange Pi4.

For some reason I also cannot get dd to burn a valid image to SD card, but Etcher worked for all attempted versions.

After finding that the later versions of Armbian do not find the WiFi on the Orange Pi4 , I also tried the ubuntu-22.04.1-desktop-amd64.iso , Etcher reported a successful etch onto the SD card (64GB), but no signs of life on the HDMI monitor when I try to boot it.

So I went back to n0nce's instructions and downloaded the exact armbian version that n0nce used, and it does find the WiFi spontaneously during the first boot.

Now it is downloading updates / upgrades....

And I wonder if this particular armbian OS has a GUI?  Undecided Shocked

So far it's all code gobbledigook, this might be my first foray into GUI-less computing, wish me luck!   Grin




Now it is downloading updates / upgrades....

And I wonder if this particular armbian OS has a GUI?  Undecided Shocked

So far it's all code gobbledigook, this might be my first foray into GUI-less computing, wish me luck!   Grin


Meanwhile, the Apollo ASIC board is hashing away happily.

I disconnected the Orange Pi 4 from the ASICs and powered it up using some gear I found within arm's reach.....

I knew this dumb power supply would come in handy one day:  https://www.bunnings.com.au/ryobi-one-18v-usb-power-adapter-skin-only_p6210800
It has a 2.1A and a 1A 5V USB outlet and so far, things seem to work with 2.1A.




Looks like the armbian version is indeed CLI interface only. Oh well, finally a reason t get into this!

Maybe the Ryobi power supply is to blame, or something else, but the newly built Armbian_22.05.4_Orangepi4-lts_bullseye_current_5.15.48.img.xz does not show up on the HDMI monitor when I try to reboot it.

But, after connecting the cable between Orange Pi 4 and ASICs, it does boot up and asks for login and password.

So, here I am, the fan is howling although the miner is stone-cold and that command-prompt is blinking at me...

ROTFLMAO

I'm making progress!

[moderator's note: consecutive posts merged]
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
Have a look in /boot/dtb/rockchip directory.
Thank you n0nce!
I found it and did the diff, but still none the wiser.
Have to give up at this point and be happy with the fact that I learned lots while trying to do this.
You're welcome; that's how I felt, after going down that rabbit hole, too. Tongue

It has to be safer to run armbian OS with maintenance and updates and that dtb file, than running armbian without updates and that dtb file!  Cheesy
Exactly my point.
member
Activity: 199
Merit: 37
Have a look in /boot/dtb/rockchip directory.
Thank you n0nce!

I found it and did the diff, but still none the wiser.

Have to give up at this point and be happy with the fact that I learned lots while trying to do this.

It has to be safer to run armbian OS with maintenance and updates and that dtb file, than running armbian without updates and that dtb file!  Cheesy
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
But where do I find the .dtb file? Have not seached on armbian yet, but a search on Ubuntu does not find any .dtb files except for the ones I have been playing with.
Have a look in /boot/dtb/rockchip directory.
Otherwise, you can do a full system search like this:

Code:
find / -name *.dtb
member
Activity: 199
Merit: 37
Do we know the exact ASIC chips name, or something else that could help search for the Apollo related part of the code?
I would take the stock DTB file from your Armbian install, get the DTS from that and diff it, however if I remember correctly, I've already done that and the diff was also huge. Probably since my Armbian was different from the Armbian they used when they created Futurebit OS.

I was hoping to diff the files somehow, but had no idea how easy that is!

Code:
/tmp$ diff tm2p.dts tmp.dts
3,4d2
< // I added this !
<

But where do I find the .dtb file? Have not seached on armbian yet, but a search on Ubuntu does not find any .dtb files except for the ones I have been playing with.
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
Do we know the exact ASIC chips name, or something else that could help search for the Apollo related part of the code?
I would take the stock DTB file from your Armbian install, get the DTS from that and diff it, however if I remember correctly, I've already done that and the diff was also huge. Probably since my Armbian was different from the Armbian they used when they created Futurebit OS.
member
Activity: 199
Merit: 37
No, that's correct! DTB files are just device trees, though. But I'd prefer to provide just a diff between stock Armbian and the Futurebit DTS (device tree specification), such that it can be applied to any future stock Armbian DTS.
You can decompile the DTB to DTS and read that, they're huge files though and I didn't manually check it, just extracted from Futurebit OS release. So I can't say for certain whether they can (or are) problematic. I highly doubt that, but still wanted to add this disclaimer just in case.

I followed instructions here https://michlstechblog.info/blog/linux-decompile-show-a-device-tree-binary-file-dtb/ and am able to read the resulting .dts file.

But, understanding it is a different matter!

Seems to me that the .dtb file only runs once at bootup, but I'm clueless.

However. in the spirit of 'Don't trust, verify' I read through the whole thing and I tried to search for something giving me a hint as to which part of the code is the part needed for the Apollo. I suppose somewhere in the long file are the instructions for how to communicate with the ASIC hashboard.

Do we know the exact ASIC chips name, or something else that could help search for the Apollo related part of the code?
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
But do I not need the extra power supply to power up the Orange Pi in order to install the GPIO setup?
No, no, power always works through GPIO; just the OS needs to learn to communicate over other GPIO pins to the board.

Or will it be powered automatically, just by by virtue of being plugged into that cable, and the GPIO setup just 'teaches' it how to communicate with the ASIC board?
Exactly, that's perfectly right.
member
Activity: 199
Merit: 37
I just don't see why you would want to do that, if using this one simple step you can save around 50 bucks in cables and power supplies. Wink

Put that way, it makes sense!

But do I not need the extra power supply to power up the Orange Pi in order to install the GPIO setup?

I can put Armbian on the SD card, but 'teaching' it to communicate through that cable to the ASIC board in the Apollo requires that the Orange Pi OS is up and running.

Or will it be powered automatically, just by by virtue of being plugged into that cable, and the GPIO setup just 'teaches' it how to communicate with the ASIC board?
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
2) There are still software vulnerabilities involved when following the instructions.
Just wondering, which software has vulnerabilities if we're following n0nce guide? AFAIK there aren't any CVE recently discovered on Bitcoin Core or Core Lightning, while Armbian is actively developed (since the latest version is 22.11).
Maybe he meant that 'stock Futurebit OS' has some security issues. So in 'following the instructions' the 'instructions' could be the official Futurebit instructions.
There's something to that; apt updates still seem to break the kernel modifications that they have in place to connect to the hashboard. Maybe they also just break the device tree. At least that's the only thing I needed to get the hashboard recognized in stock Armbian.

Therefore, users of Futurebit OS are advised not to update; potentially running outdated and insecure packages. This can be resolved by following my guide, which installs everything on its latest version through apt.

Sorry to cause confusion and maybe concern for some readers. My fault for not really fully understanding the instructions, no doubt.

The stuff I picked up as potentially concerning was this: https://bitcointalksearch.org/topic/m.60310493
Quote
Attention: As of now, you need to actually get the apolloapi repo instead, since it handles the authentication to the web UI. Also the project(s) require a very old, potentially insecure version of NodeJS; namely NodeJS 9.x - use at your own risk. Do note that you can mine and run your nodes without any web UI at all..
I don't really know what that means, but I figured you highlighted it in red for some reason.
In short; the dashboard might not work. Cheesy But it's not really required to run Bitcoin Core and mine. I didn't need it, myself at least. No security risks here, though.

The other one is this: https://bitcointalksearch.org/topic/m.60310485
Quote
[5] Download the DTS file that comes with the 'Apollo OS'. Yes, this is a binary file I'm providing, but the apollo miner binary is, too, and I'm trying to figure out a better way for this as we speak.
With this one I am even more uncertain if I understand it correctly.
What I thought (while reading the instructions diagonally) this sentence means is this:

'This is a binary file' = no-one can tell what is in it, i.e. no source code provided and therefore we have to trust n0nce and/or jstefanop that the content is not malicious.
I probably misunderstood that one completely, my apologies, I'm not trying to accuse anyone of bad intentions.  Smiley
No, that's correct! DTB files are just device trees, though. But I'd prefer to provide just a diff between stock Armbian and the Futurebit DTS (device tree specification), such that it can be applied to any future stock Armbian DTS.
You can decompile the DTB to DTS and read that, they're huge files though and I didn't manually check it, just extracted from Futurebit OS release. So I can't say for certain whether they can (or are) problematic. I highly doubt that, but still wanted to add this disclaimer just in case.
member
Activity: 199
Merit: 37
2) There are still software vulnerabilities involved when following the instructions.
No; there are no known software vulnerabilities when following my instructions! Cheesy Not sure how you came to such conclusion.


Sorry to cause confusion and maybe concern for some readers. My fault for not really fully understanding the instructions, no doubt.

The stuff I picked up as potentially concerning was this: https://bitcointalksearch.org/topic/m.60310493
[5] Download the DTS file that comes with the 'Apollo OS'. Yes, this is a binary file I'm providing, but the apollo miner binary is, too, and I'm trying to figure out a better way for this as we speak.

With this one I am even more uncertain if I understand it correctly.

What I thought (while reading the instructions diagonally) this sentence means is this:

'This is a binary file' = no-one can tell what is in it, i.e. no source code provided and therefore we have to trust n0nce and/or jstefanop that the content is not malicious.
I probably misunderstood that one completely, my apologies, I'm not trying to accuse anyone of bad intentions.  Smiley
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
Do I understand this correctly when stating it as follows?
Yes; it's mostly correct.

1) The miner and node install instructions are needed so that the Orange Pi can be operated while the cable between Orange Pi  and ASIC board is connected, and the Orange Pi is powered that way.
Exactly: what differentiates my guide from just installing generic Armbian, Bitcoind and Apollo-miner binaries is that the GPIO setup lets you use the hashboard through the internal connection. Saving you an USB cable and a second power supply.

2) There are still software vulnerabilities involved when following the instructions.
No; there are no known software vulnerabilities when following my instructions! Cheesy Not sure how you came to such conclusion.

3) The Orange Pi 4 could be dis-connected from the ASIC board, turning it into a Standard Apollo with a Orange Pi in the same housing. With a dumb 5V power supply to the USB-C port, the Orange Pi 4 could be powered up and run Armbian OS

4) This is where it gets tricky, potentially: Can the 'separated' Orange Pi 4 be connected via USB to USB micro cable to the ASIC board in the same housing, or does that create some ground loop that could fry things?

5) If I get a new PSU to power the 'separated' ASIC board on 12V and the 'separated' Orange Pi on 5V: Would that 5V supply be 'dumb' enough to provide sufficient power to the separated Orange Pi? And would that put the separated ASIC board and Orange Pi on the same ground connection so that a ground loop is prevented?
Yes; if you skip the GPIO setup, but follow all other steps, that's how you would operate the miner. Hashboard connected using a microUSB to USB-A cable, and a separate power supply for the Orange Pi 4.

This would definitely work and you don't have to worry about ground loops. It will just be a 'Standard Unit' controlled from an Orange Pi 4, that is conveniently sitting in the same enclosure. Electrically, there is no difference whether it sits inside or not.

I just don't see why you would want to do that, if using this one simple step you can save around 50 bucks in cables and power supplies. Wink

6) Can I then just install Bitcoin Core, Electrum, Electrs and a Lightning wallet and whatever else I want into the Armbian OS, keep it updated and secure, and run the 'separated' ASIC board by using the Apollo BTC Standard software in a terminal? https://bitcointalksearch.org/topic/m.57091051

7) And can I then also run additional Standard Apollo units (each in a separate terminal, connected to the same (new) PSU on 12V?
Yes, that's exactly what I've done in my guides. Smiley I labeled each step with what software is installed and the build instructions are mainly taken from the original projects' GitHub pages & modified to run on Armbian. If you're going to do it all manually (without guide), you'll be doing basically the exact same stuff.

Yes, the miner script in my guide supports external standard units, as well. Don't need separate terminals even; the script recognizes and starts up all of them!
member
Activity: 199
Merit: 37
Thanks for writing this guide and the guides for the custom Linux miner and node install!

The miner and node install instructions are above my current skill level, although I could probably follow the instructions without understanding what I am doing.

However, I wonder if there is an alternative approach.

Do I understand this correctly when stating it as follows?

1) The miner and node install instructions are needed so that the Orange Pi can be operated while the cable between Orange Pi  and ASIC board is connected, and the Orange Pi is powered that way.

2) There are still software vulnerabilities involved when following the instructions.

3) The Orange Pi 4 could be dis-connected from the ASIC board, turning it into a Standard Apollo with a Orange Pi in the same housing. With a dumb 5V power supply to the USB-C port, the Orange Pi 4 could be powered up and run Armbian OS

4) This is where it gets tricky, potentially: Can the 'separated' Orange Pi 4 be connected via USB to USB micro cable to the ASIC board in the same housing, or does that create some ground loop that could fry things?

5) If I get a new PSU to power the 'separated' ASIC board on 12V and the 'separated' Orange Pi on 5V: Would that 5V supply be 'dumb' enough to provide sufficient power to the separated Orange Pi? And would that put the separated ASIC board and Orange Pi on the same ground connection so that a ground loop is prevented?

6) Can I then just install Bitcoin Core, Electrum, Electrs and a Lightning wallet and whatever else I want into the Armbian OS, keep it updated and secure, and run the 'separated' ASIC board by using the Apollo BTC Standard software in a terminal? https://bitcointalksearch.org/topic/m.57091051

7) And can I then also run additional Standard Apollo units (each in a separate terminal, connected to the same (new) PSU on 12V?
newbie
Activity: 17
Merit: 0

[/quote]

The definition of quiet or silent is very dependent on the environment and the person listening to it.

Personally I refer to quiet as being basically inaudible while standing about 1 or 2 meters from it.

At 2600 RPM the stock fan is definitely audible, but for some people that can still be quiet. It can definitely get way louder at 300W+
[/quote]

True.
I did read somewhere they had a fan supply issue for a while.
Not sure if the different fans would have different noise level at same speed.

Definitely quieter than my Antminer R4 with APW7 PSU, which were sold as quiet enough for home mining, but man those are loud  Cheesy
I'm running it outdoor on the balcony it's too annoying loud.

With the Apollo I definitely hear a low fan noise at 1 or 2 meters just like a home ventilator on low.
Not annoying at all

hero member
Activity: 952
Merit: 938
~snip~
I set up my Apollo on Turbo getting about 3 TH, using 200W with the fan running at 2600 RPM.
It's still really quiet.
Maybe the newer batch got a better fan?
~snip~

The definition of quiet or silent is very dependent on the environment and the person listening to it.

Personally I refer to quiet as being basically inaudible while standing about 1 or 2 meters from it.

At 2600 RPM the stock fan is definitely audible, but for some people that can still be quiet. It can definitely get way louder at 300W+
newbie
Activity: 17
Merit: 0
This is the 'Base configuration' for my node and miner install guides for Futurebit Apollo BTC.
@n0nce did you purchase this Futurebit Apollo asic miner or you are just using it to run Bitcoin node?
This is the first time I saw this and it looks like interesting device with decent price, I see that batch 3 is sold out, but they are already working on batch 4.
One problem I have with asic miners is noise they are creating, but this makes almost no noise according to their website (not sure if this is true).

Note that if you just crank up the power with no other fans, it will get loud, but you can customize it so that it runs efficiently and quiet.

I have my Apollo running virtually silent. You can only hear it in the middle of the night when you're very close to it.

The first thing I had to update was the original PSU. That's not too noisy, but I replaced it with a noiseless PSU. Big difference.

The second thing to do is to keep the internal fan running as low as possible. The goal should be to keep it at around 1000-1500 rpm or less for almost no sound. Don't go past 2000rpm because it gets too loud.

To do that I just put a big 120mm Noctua fan on top of the Apollo, running silently through PWM control, helping the internal fan keeping things cool.

I then lowered the power consumption to somewhere in the middle(-brd_ocp 58).

I'm getting about 2.4TH/s at 146W, with virtually no noise.

https://i.imgur.com/f2eH4W3.png


I set up my Apollo on Turbo getting about 3 TH, using 200W with the fan running at 2600 RPM.
It's still really quiet.
Maybe the newer batch got a better fan?
I got mine about a month ago and just got a second one.
One full, one standard. No PSU. Prefer silent PSU.

My plan was to mine solo directly with the node but that's not possible yet.
They're working on it I read.
Only way is ckpool but for not I mine in pool get a bit of money back  Grin
hero member
Activity: 882
Merit: 5814
not your keys, not your coins!
Why not install something like umbrel once you tossed a custom linux build onto the box?  Mine recently arrived---bought the day the Batch 4 announcement came out and even though it's a bit overpay and I could have bought more hashing power, I'm such a BTC newbie I just wanted to get something I could immediately dip my toes into.
Good question; in my honest opinion, they're bloated and thus less maintainable for me. That's why I prefer to start with a fresh, lean Linux distro and install just what I need.
It's also possible that there are no Umbrel / node-in-a-box distributions for this CPU. This is not a Raspberry Pi, but an OrangePi 4 and in fact, Armbian was the only distribution for which I could find a compiled ISO to download.

That said, I can handle a custom linux install, so after improving the base OS and tossing on the Apollo software and other items of your liking, why not toss on the most versatile node software?  Would this cause some type of error?  Seems relatively easy to run the command that would autopull umbrel via curl through bash?
  Huh
I'm not 100% sure that it will install on Armbian, especially Armbian on Orange Pi. But feel free to try! Technically, it's a subset of Debian, so it should work.

Again, newb all around on full nodes and mining.  Have a technical skill set, but no time to dig in and try it myself (have a wife, 6 kids, farm, and a full-time job...who has time for this stuff!?)  Grin
Honestly just quickly try it; flash Armbian, log into it and install Umbrel - would be great if you can report back how it worked out.
Code:
curl -L https://umbrel.sh | bash

I don't have access to my Apollo right now, otherwise I'd try.
Pages:
Jump to: