114 lines
2.7 KiB
YAML

---
# Mine Ethereum with GPU!
## Dependencies ##
- name: Ethminer | Install Dependencies
package:
name:
- build-essential
- dkms
- cmake
- perl
- libdbus-1-dev
- mesa-common-dev
state: present
- name: Ethminer | Add PPA
apt_repository:
repo: ppa:ethereum/ethereum
update_cache: yes
state: present
- name: Ethminer | Install Ethereum
package:
name: ethereum
state: present
## Test ##
- name: Ethminer | Test If Installed
shell: "which ethminer"
register: ethminer_install
ignore_errors: yes
## Download ##
- name: Ethminer | Remove Git Repo
shell: rm -rf ethminer
args:
chdir: "{{ root_home.stdout }}/Downloads"
ignore_errors: yes
when: ethminer_install.failed
- name: Ethminer | Clone Git Repo
shell: git clone https://github.com/ethereum-mining/ethminer.git
args:
chdir: "{{ root_home.stdout }}/Downloads"
when: ethminer_install.failed
- name: Ethminer | Update Repo's Repos
shell: git submodule update --init --recursive
args:
chdir: "{{ root_home.stdout }}/Downloads/ethminer"
when: ethminer_install.failed
- name: Ethminer | Create Build Folder
shell: mkdir -p build
args:
chdir: "{{ root_home.stdout }}/Downloads/ethminer"
when: ethminer_install.failed
- name: Ethminer | Default Flags
set_fact:
opencl_flag: "OFF"
cuda_flag: "OFF"
dbus_flag: "OFF"
sys_opencl_flag: "ON"
- name: Ethminer | Determine OPENCL Flag
set_fact:
opencl_flag: "ON"
sys_opencl_flag: "OFF"
when: amdgpu is defined
- name: Ethminer | Determine CUDA Flag
set_fact:
cuda_flag: "ON"
when: nvidia is defined
- name: Ethminer | Determine DBUS Flag
set_fact:
dbus_flag: "ON"
when: ansible_distribution == "Pop!_OS"
- name: Ethminer | cmake Flags
shell: "cmake .. -DETHASHCL={{ opencl_flag }} \
-DETHASHCUDA={{ cuda_flag }} \
-DAPICORE=ON \
-DBINKERN=ON \
-DETHDBUS={{ dbus_flag }} \
-DUSE_SYS_OPENCL={{ sys_opencl_flag }} \
-DEVBUILD=ON"
args:
chdir: "{{ root_home.stdout }}/Downloads/ethminer/build"
when: ethminer_install.failed
- name: Ethminer | cmake Build
shell: cmake --build .
args:
chdir: "{{ root_home.stdout }}/Downloads/ethminer/build"
when: ethminer_install.failed
- name: Ethminer | make install
shell: make install
args:
chdir: "{{ root_home.stdout }}/Downloads/ethminer/build"
when: ethminer_install.failed
## Personal Script Setup ##
- name: Ethminer | Download Script
shell: "scp ling@leet:InstallFiles/Miners/ethminer/ethminer.sh {{ user_mfn.home }}/""
- name: Ethminer | CHMod Script
shell: "chmod 755 {{ user_mfn.home }}/ethminer.sh"