--- - hosts: pi gather_facts: no tasks: ## LCD STUFF - name: Enable i2c on boot/config.txt lineinfile: dest: /boot/config.txt regexp: "^#?dtparam=i2c_arm=" line: "dtparam=i2c_arm=on" insertafter: EOF state: present - name: Enable i2c module lineinfile: dest: /etc/modules-load.d/raspberrypi.conf regexp: "^#?i2c" line: "i2c-dev" insertafter: EOF state: present - name: Copy systemd unit files ansible.builtin.copy: src: files/display.service dest: /etc/systemd/system/ owner: root group: root mode: 0644 register: display_service tags: display - name: Reload systemd ansible.builtin.systemd: daemon_reload: yes when: display_service.changed tags: display - name: Enable display service ansible.builtin.systemd: name: display enabled: yes state: started tags: display ## Now the most important part: PPS - name: Add PPS tools package: name: pps-tools state: present - name: PPS on GPIO lineinfile: dest: /boot/config.txt regexp: "^dtoverlay=pps-gpio" line: "dtoverlay=pps-gpio,gpiopin=18" state: present ## Lower ethernet latency of smsc95xx - name: Configure options in /boot/cmdline.txt replace: path: /boot/cmdline.txt regexp: '^([\w](?!.*\b{{ item }}\b).*)$' replace: '\1 {{ item }}' with_items: - smsc95xx.turbo_mode=N tags: smsc95xx ## Enable UART for the GPS module - name: Enable UART lineinfile: dest: /boot/config.txt regexp: "^#?enable_uart=" line: "enable_uart=1" insertafter: EOF state: present # - name: Disable bluetooth XXX makes it really laggy # lineinfile: # dest: /boot/config.txt # regexp: "^dtoverlay=pi3-disable-bt" # line: "dtoverlay=pi3-disable-bt" # state: present - name: Disable serial-getty@ttyS0 systemd: name: serial-getty@ttyS0 enabled: no state: stopped - name: copy gpsd config files ansible.builtin.copy: src: files/gpsd dest: /etc/default/gpsd owner: root group: root mode: 0644 tags: gpsd - name: start and enable gpsd systemd: name: gpsd enabled: yes state: started tags: gpsd - hosts: all tasks: - name: Disable systemd LLMNR lineinfile: dest: /etc/systemd/resolved.conf regexp: "^#?LLMNR=" line: "LLMNR=no" insertafter: EOF state: present register: resolved_conf - name: Restart systemd-resolved systemd: name: systemd-resolved state: restarted when: resolved_conf.changed - name: Install chrony package: name: chrony state: present notify: restart chrony - name: Configure chrony template: src: files/chrony.conf.j2 dest: /etc/chrony.conf owner: root group: root mode: 0644 notify: restart chrony tags: chrony - name: Enable chrony service: name: chronyd enabled: yes state: started handlers: - name: restart chrony service: name: chronyd state: restarted