aarch64 and arm
It has been 2 weeks. When will you fix aarch64 and arm miners for raspberry ubuntu? come on !
use raspbian OS, works fine with arm release.
use raspbian OS, works fine with arm release.
Thats not a solution for me. i have to use chia GUI also. So I need aarch64.
Duplicate issue. #559
Please note that as of the miner version 1.4.1, the arm64 build (aarch64) is not working. We need to run the arm build (arm32) inside a docker using arm32v7/Ubuntu image to make it work.
-
Install docker:
sudo apt install docker.io -
Pull the docker image (arm32):
sudo docker pull arm32v7/ubuntu -
Create a docker script, for example, hpool_docker.sh. Inside the script, please use this code to bind your local directories to the docker:
docker run -it \
--mount type=bind,source=/media/user/D1,target=/media/user/D1 \
--mount type=bind,source=/media/user/D2,target=/media/user/D2 \
--mount type=bind,source=/media/user/D3,target=/media/user/D3 \
--mount type=bind,source=/home/user/Downloads/hpool,target=/home/user/Downloads/hpool \
arm32v7/ubuntu
-
Run the above script:
sudo sh hpool_docker.sh -
cdto the miner's folder. It's/home/user/Downloads/hpoolfrom the above script. Then, run the miner by./miner.
Please note that:
- The source and target path must correspond to the path in your setup.
- You can mount as many volumes (paths) as much as you want inside a docker, then you can specify the path to your plots in the miner's conf file.
The solution from @kreaninw worked for me, but I made a local docker image to execute it. This has the added benefit of autostarting when the raspberry is restarted or when the program crashes. The steps I did after installing docker were:
- Create the folder structure for the image in hpool_docker and create the Dockerfile
mkdir -p hpool_docker/src
cat > hpool_docker/Dockerfile <<EOL
FROM arm32v7/ubuntu:20.04
WORKDIR /app
COPY src .
CMD ["/app/hpool-chia-miner-linux-arm"]
EOL
- Copy the hpool-miner (arm32) to hpool_docker/src. linux-arm must contain the config.yaml file
cp linux-arm/* hpool_docker/src
- Build the image
cd hpool_docker
docker build -t hpool:v0 .
- Start the container (replace the mount paths with your plots directories)
docker run -td \
--name hpool \
--mount type=bind,source=/mnt/seagate1,target=/mnt/seagate1 \
--mount type=bind,source=/mnt/seagate2,target=/mnt/seagate2 \
--mount type=bind,source=/mnt/seagate3,target=/mnt/seagate3 \
hpool:v0
docker update --restart=always hpool
# Check if hpool is happy and running fine (Ctrl+C to stop)
docker logs -f hpool
It you want to update to a new version, stop it and delete the created image type. Then repeat the build process with the new files.
docker stop hpool
docker rm hpool
docker rmi hpool:v0
The solution from @kreaninw worked for me, but I made a local docker image to execute it. This has the added benefit of autostarting when the raspberry is restarted or when the program crashes. The steps I did after installing docker were:
- Create the folder structure for the image in hpool_docker and create the Dockerfile
mkdir -p hpool_docker/src cat > hpool_docker/Dockerfile <<EOL FROM arm32v7/ubuntu:20.04 WORKDIR /app COPY src . CMD ["/app/hpool-chia-miner-linux-arm"] EOL
- Copy the hpool-miner (arm32) to hpool_docker/src. linux-arm must contain the config.yaml file
cp linux-arm/* hpool_docker/src
- Build the image
cd hpool_docker docker build -t hpool:v0 .
- Start the container (replace the mount paths with your plots directories)
docker run -td \ --name hpool \ --mount type=bind,source=/mnt/seagate1,target=/mnt/seagate1 \ --mount type=bind,source=/mnt/seagate2,target=/mnt/seagate2 \ --mount type=bind,source=/mnt/seagate3,target=/mnt/seagate3 \ hpool:v0 docker update --restart=always hpool # Check if hpool is happy and running fine (Ctrl+C to stop) docker logs -f hpoolIt you want to update to a new version, stop it and delete the created image type. Then repeat the build process with the new files.
docker stop hpool docker rm hpool docker rmi hpool:v0
A very good script. However, from my experience, I don't recommend anyone to use it. Because if the miner crashed and you restart the miner right away while it's still showing online status in the network, your miner will be struck in the HPool system/network forever and your plots will never be signed, thus no revenue.
The correct way to do it is that you will have to wait for the miner to go offline in the network first (around 30 mins) which you can check on the web. And when it's offline, delete the offline miner. Only then, you can start the miner once again.
This has been a problem for a while now, especially when you're trying to add new plots while your miner's still online in the network. You need to shut down the miner, wait for it to be offline, delete it, then start it again. Otherwise, you would have to spend days figuring it out why you have no plots online 😂
Thanks, I never had this issue but it makes sense. I modified my container to start a script and added a 30 minutes sleep unless this is not the first time it is running. In case you want to try:
To create the script to initialize the miner after 30 minutes unless the container was just created.
cat > hpool_docker/src/safe_start.sh <<EOL
#!/bin/sh
if [ -e "/app/.rest" ]; then
echo "Slow start"
sleep 30m
else
echo "Fast start"
touch "/app/.rest"
fi
/app/hpool-chia-miner-linux-arm
EOL
chmod +x hpool_docker/src/safe_start.sh
Modify Dockerfile to start the script:
cat hpool_docker/Dockerfile | sed 's|hpool-chia-miner-linux-arm|safe_start.sh|' > ./.tmp
mv ./.tmp hpool_docker/Dockerfile
Then I just stopped it, built it, and deployed it again.
I will keep an eye on this in case anything weird happens. Feel free to improve it further in case you have any other insight. 🙂
Thanks, I never had this issue but it makes sense. I modified my container to start a script and added a 30 minutes sleep unless this is not the first time it is running. In case you want to try:
To create the script to initialize the miner after 30 minutes unless the container was just created.
cat > hpool_docker/src/safe_start.sh <<EOL #!/bin/sh if [ -e "/app/.rest" ]; then echo "Slow start" sleep 30m else echo "Fast start" touch "/app/.rest" fi /app/hpool-chia-miner-linux-arm EOL chmod +x hpool_docker/src/safe_start.shModify Dockerfile to start the script:
cat hpool_docker/Dockerfile | sed 's|hpool-chia-miner-linux-arm|safe_start.sh|' > ./.tmp mv ./.tmp hpool_docker/DockerfileThen I just stopped it, built it, and deployed it again.
I will keep an eye on this in case anything weird happens. Feel free to improve it further in case you have any other insight. 🙂
It's not always 30 mins. And you will also have to remove the miner on your open miner on HPool website. Therefore I don't know a good way to do this with a local script.
If you look at the issues section in this repo, you will see that it riddles with this issue.
docker run -it
--mount type=bind,source=/media/user/D1,target=/media/user/D1
--mount type=bind,source=/media/user/D2,target=/media/user/D2
--mount type=bind,source=/media/user/D3,target=/media/user/D3
--mount type=bind,source=/home/user/Downloads/hpool,target=/home/user/Downloads/hpool
arm32v7/ubuntu
Thank you for instructions. After executing hpool miner i got following error.
ERRO[2021-10-01T13:28:31Z] connect fail err="x509: certificate signed by unknown authority" f7="{loggers.go,logging.CPrint,156}" f8="{server.go,websocket.(*Server).connect,108}" f9="{server.go,websocket.NewServer,27}" tid=42 url="wss://chiapp-sh01.hpool.com/x-proxynode/ws" ERRO[2021-10-01T13:28:32Z] connect fail
Do you know how to fix this? Thank you!