Initial support for Debian
This commit is contained in:
50
tasks/install-debian-cuda-repo.yml
Normal file
50
tasks/install-debian-cuda-repo.yml
Normal file
@@ -0,0 +1,50 @@
|
||||
- name: add contrib & non-free repository
|
||||
replace:
|
||||
dest: /etc/apt/sources.list
|
||||
regexp: '^(deb(?!.* contrib).*)'
|
||||
replace: '\1 contrib non-free'
|
||||
|
||||
- name: remove old signing key
|
||||
apt_key:
|
||||
id: "{{ old_nvidia_driver_debian_cuda_repo_gpgkey_id }}"
|
||||
state: absent
|
||||
environment: "{{proxy_env if proxy_env is defined else {}}}"
|
||||
when: nvidia_driver_add_repos | bool
|
||||
|
||||
- name: add CUDA keyring
|
||||
apt:
|
||||
deb: "{{ nvidia_driver_debian_cuda_keyring_url }}"
|
||||
state: "present"
|
||||
environment: "{{proxy_env if proxy_env is defined else {}}}"
|
||||
when: nvidia_driver_add_repos | bool
|
||||
|
||||
- name: force an apt update
|
||||
apt:
|
||||
update_cache: true
|
||||
changed_when: false
|
||||
|
||||
- name: ensure kmod is installed
|
||||
apt:
|
||||
name: "kmod"
|
||||
state: "present"
|
||||
|
||||
- name: blacklist nouveau
|
||||
kernel_blacklist:
|
||||
name: nouveau
|
||||
state: present
|
||||
|
||||
- name: install Linux headers and non-free firmware
|
||||
apt:
|
||||
name:
|
||||
- linux-headers-{{ ansible_kernel }}
|
||||
- firmware-misc-nonfree
|
||||
state: present
|
||||
|
||||
- name: install driver packages
|
||||
apt:
|
||||
name: "{{ nvidia_driver_package_version | ternary(nvidia_driver_debian_cuda_package+'='+nvidia_driver_package_version, nvidia_driver_debian_cuda_package) }}"
|
||||
state: "{{ nvidia_driver_package_state }}"
|
||||
autoremove: "{{ nvidia_driver_package_state == 'absent' }}"
|
||||
purge: "{{ nvidia_driver_package_state == 'absent' }}"
|
||||
register: install_driver
|
||||
environment: "{{proxy_env if proxy_env is defined else {}}}"
|
||||
35
tasks/install-debian.yml
Normal file
35
tasks/install-debian.yml
Normal file
@@ -0,0 +1,35 @@
|
||||
---
|
||||
- name: add contrib & non-free repository
|
||||
replace:
|
||||
dest: /etc/apt/sources.list
|
||||
regexp: '^(deb(?!.* contrib).*)'
|
||||
replace: '\1 contrib non-free'
|
||||
|
||||
- name: update apt
|
||||
become: yes
|
||||
apt:
|
||||
update_cache: yes
|
||||
|
||||
- name: install Linux headers and non-free firmware
|
||||
apt:
|
||||
name:
|
||||
- linux-headers-{{ ansible_kernel }}
|
||||
- firmware-misc-nonfree
|
||||
state: present
|
||||
|
||||
- name: install driver packages
|
||||
apt:
|
||||
name: "{{ nvidia_driver_package_version | ternary(item+'='+nvidia_driver_package_version, item) }}"
|
||||
state: "{{ nvidia_driver_package_state }}"
|
||||
autoremove: "{{ nvidia_driver_package_state == 'absent' }}"
|
||||
purge: "{{ nvidia_driver_package_state == 'absent' }}"
|
||||
loop: "{{ nvidia_driver_debian_packages }}"
|
||||
register: install_driver
|
||||
environment: "{{proxy_env if proxy_env is defined else {}}}"
|
||||
|
||||
- name: install tesla drivers
|
||||
apt:
|
||||
state: present
|
||||
name: "{{ nvidia_driver_debian_tesla_package }}"
|
||||
register: install_driver
|
||||
when: nvidia_driver_debian_install_tesla_driver == true
|
||||
@@ -5,6 +5,14 @@
|
||||
state: absent
|
||||
ignore_errors: true
|
||||
|
||||
- name: debian install tasks (debian repos)
|
||||
include_tasks: install-debian.yml
|
||||
when: ansible_distribution == "Debian" and (not nvidia_driver_debian_install_from_cuda_repo)
|
||||
|
||||
- name: debian install tasks (CUDA repos)
|
||||
include_tasks: install-debian.yml
|
||||
when: ansible_distribution == "Debian" and nvidia_driver_debian_install_from_cuda_repo
|
||||
|
||||
- name: ubuntu install tasks (canonical repos)
|
||||
include_tasks: install-ubuntu.yml
|
||||
when: ansible_distribution == 'Ubuntu' and (not nvidia_driver_ubuntu_install_from_cuda_repo)
|
||||
|
||||
Reference in New Issue
Block a user