208 lines
6.3 KiB
YAML
Raw Normal View History

---
# Install OpenCL drivers.
## Step 0/3: Dependencies ##
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Variables
set_fact:
amdgpu_cron_job: AMDGPU - Need To Finish Installation
amdgpu_cron_cmd: "{{ root_home.stdout }}/scm.sh"
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Install Dependencies
2021-02-11 18:08:57 -06:00
package:
name:
- dkms
- mesa-common-dev
- clinfo
2021-02-11 18:08:57 -06:00
state: present
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Set GRUB Timer
lineinfile:
path: /etc/default/grub
regexp: '^GRUB_TIMEOUT='
line: 'GRUB_TIMEOUT=3'
state: present
backup: yes
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Remove Previous Run's Cron Job
cron:
user: root
name: "{{ amdgpu_cron_job }}"
state: absent
# Tests
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Check If GA Kernel Installed
shell: 'uname --kernel-release | grep 5.4.0-65-generic'
register: ga_kernel
ignore_errors: yes
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Check If HWE Kernel Installed
shell: 'apt search linux-image-5.8.0-* | grep -c installed'
register: hwe_kernel
ignore_errors: yes
2021-03-28 09:47:54 -05:00
#- name: Miner | Driver | AMDGPU | Check If All Driver Installed
# shell: 'which amdgpu-uninstall'
# register: amdgpu_install
# ignore_errors: yes
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Check If Pro Driver Installed
shell: 'which amdgpu-pro-uninstall'
register: amdgpu_install
ignore_errors: yes
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | DEBUG
debug:
var: "{{ item }}"
loop:
- ga_kernel
- hwe_kernel
- amdgpu_install
## Step 1/3: Get Correct Kernel ##
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Install Recommended GA Kernel
shell: apt install --install-recommends linux-generic
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Install Specific GA Kernel For Booting
package:
2021-02-13 18:52:42 -06:00
name:
- linux-headers-5.4.0-65
- linux-headers-5.4.0-65-generic
- linux-headers-generic
- linux-image-generic
- linux-modules-extra-5.4.0-65-generic
state: present
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Prepare GRUB To Boot GA Kernel
lineinfile:
path: /etc/default/grub
regexp: '^GRUB_DEFAULT='
line: 'GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 5.4.0-65-generic"'
state: present
backup: yes
2021-02-13 07:25:15 -06:00
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Update GRUB
2021-02-13 07:28:45 -06:00
shell: update-grub
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Prepare Cron Job To SCM
cron:
user: root
name: "{{ amdgpu_cron_job }}"
special_time: reboot
2021-02-13 07:31:16 -06:00
job: "{{ amdgpu_cron_cmd }}"
state: present
disabled: no
2021-02-13 07:25:15 -06:00
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Reboot To GA Kernel
shell: reboot
2021-02-13 07:25:15 -06:00
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
- pause:
prompt: "Rebooting to GA kernel! Please hold."
2021-02-13 07:25:15 -06:00
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and ga_kernel.failed
## Step 2/3: Remove Incorrect Kernels ##
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Remove Bad Kernels
shell: "apt remove --purge linux-generic-hwe-20.04 \
linux-oem-20.04 \
linux-hwe-* \
linux-oem-* \
linux-modules-5.1* \
linux-modules-5.8.0-* \
linux-modules-5.6.0-*"
2021-02-13 07:25:15 -06:00
when: amdgpu_install.failed and hwe_kernel.stdout != "0"
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Update + Clean System
shell: "apt update; apt dist-upgrade -y; apt autoremove -y"
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and "1" == "0"
# This is to ensure we can test adding `apt install --install-recommends linux-generic` later
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Boot Default Kernel
lineinfile:
path: /etc/default/grub
regexp: '^GRUB_DEFAULT='
line: 'GRUB_DEFAULT=0'
state: present
backup: yes
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and "1" == "0"
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Update GRUB
2021-02-13 07:28:45 -06:00
shell: update-grub
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and "1" == "0"
2021-02-13 07:28:45 -06:00
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Prepare Cron Job To SCM
cron:
user: root
name: "{{ amdgpu_cron_job }}"
special_time: reboot
2021-02-13 07:31:16 -06:00
job: "{{ amdgpu_cron_cmd }}"
state: present
disabled: no
when: amdgpu_install.failed and hwe_kernel.stdout != "0" and "1" == "0"
# This reboot may not be necessary.
2021-03-28 09:47:54 -05:00
#- name: Miner | Driver | AMDGPU | Reboot To Ensure GA Is 0
# shell: reboot
# when: amdgpu_install.failed and hwe_kernel.stdout != "0"
#
#- pause:
# prompt: "Rebooting to clear kernels! Please hold."
# when: amdgpu_install.failed and hwe_kernel.stdout != "0"
2021-02-11 12:12:52 -06:00
## Step 3/3: Install AMD PRO Driver ##
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Download Driver
2021-02-15 10:23:23 -06:00
shell: 'scp ling@leet:InstallFiles/Drivers/amdgpu-pro-20.45-1188099-ubuntu-20.04.tar.xz {{ root_home.stdout }}/Downloads/'
when: amdgpu_install.failed
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Extract Tarball
2021-02-15 10:23:23 -06:00
shell: 'cd {{ root_home.stdout }}/Downloads; tar -xvf amdgpu-pro-20.45-1188099-ubuntu-20.04.tar.xz'
when: amdgpu_install.failed
2021-02-12 06:40:56 -06:00
## Only one driver set can exist at a time! ##
2021-03-28 09:47:54 -05:00
#- name: Miner | Driver | AMDGPU | Install AMDGPU All Driver
2021-02-15 10:23:23 -06:00
# shell: 'cd {{ root_home.stdout }}/Downloads/amdgpu-pro-20.45-1188099-ubuntu-20.04; ./amdgpu-install -y'
# when: amdgpu_install.failed
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Install AMDGPU-Pro Driver
2021-02-15 10:23:23 -06:00
shell: 'cd {{ root_home.stdout }}/Downloads/amdgpu-pro-20.45-1188099-ubuntu-20.04; ./amdgpu-pro-install -y --opencl=pal,legacy'
when: amdgpu_install.failed
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Prepare Cron Job To SCM
cron:
user: root
name: "{{ amdgpu_cron_job }}"
special_time: reboot
2021-02-13 07:31:16 -06:00
job: "{{ amdgpu_cron_cmd }}"
state: present
disabled: no
when: amdgpu_install.failed
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Reboot To GA Kernel
shell: reboot
when: amdgpu_install.failed
- pause:
prompt: "Rebooting to use driver! Please hold."
when: amdgpu_install.failed
2021-02-12 06:40:56 -06:00
## We're done! ##
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Test Driver
2021-03-28 08:56:36 -05:00
shell: clinfo -l
register: clinfo
2021-03-28 09:47:54 -05:00
- name: Miner | Driver | AMDGPU | Test Results
debug:
var: clinfo
ignore_errors: yes