# Specific to Raspberry Pi - name: Install udev rule /etc/udev/rules.d/92-rtc-i2c.rules from template, to transfer hwclock to system clock at dev creation, if rtc_id is defined and rtc_id != "none" (root:root, 0644 by default) template: src: 92-rtc-i2c.rules dest: /etc/udev/rules.d/92-rtc-i2c.rules #owner: root #group: root #mode: 0644 when: rtc_id is defined and rtc_id != "none" # RTC requires a change to the device tree (and reboot) - name: Enable i2c-rtc device (with "dtoverlay=i2c-rtc,{{ rtc_id }}=on" in /boot/config.txt, requires reboot!) if rtc_id is defined and rtc_id != "none" and is_raspbian lineinfile: path: /boot/config.txt line: "dtoverlay=i2c-rtc,{{ rtc_id }}=on" state: present when: rtc_id is defined and rtc_id != "none" and is_raspbian - name: Enable i2c-rtc device (with "dtoverlay=i2c-rtc,{{ rtc_id }}=on" in /boot/firmware/config.txt, requires reboot!) if rtc_id is defined and rtc_id != "none" and is_ubuntu lineinfile: path: /boot/firmware/usercfg.txt line: "dtoverlay=i2c-rtc,{{ rtc_id }}=on" state: present when: rtc_id is defined and rtc_id != "none" and is_ubuntu # CLARIF: Ubuntu runs increasingly well on RPi hardware, starting in 2020 especially #- name: Enable bluetooth in /boot/firmware/syscfg.txt on Ubuntu (needs reboot) # lineinfile: # path: /boot/firmware/syscfg.txt # regexp: '^include*' # line: 'include btcfg.txt' # when: is_ubuntu - name: '2021-07-27: SEE ALSO ~4 networking packages LATER installed by https://github.com/iiab/iiab/blob/master/roles/2-common/tasks/packages.yml' meta: noop - name: '2021-07-27: SEE ALSO 4-5 networking packages LATER installed by https://github.com/iiab/iiab/blob/master/roles/2-common/tasks/network.yml' meta: noop # 2021-07-27 explanation from @jvonau: The 3 BELOW (iw, rfkill, wireless-tools) # are provided by RasPiOS. Ubuntu|Debian on the other hand are hit or miss: # desktops might have some/all 3 preinstalled, while servers tend not to have # these present at all, but are needed to be installed if you want to take full # advantage of WiFi on Ubuntu and friends -- but it's only enforced on RPi # hardware where we know in advance of the likelihood of WiFi being present. # 2022-03-15: This section is effectively now useless on RasPiOS (but apparently # serves a purpose on Ubuntu on RPi, where it installs dphys-swapfile and # fake-hwclock). Still: @jvonau's above explanation of other OS's / other HW # suggest this code should possibly move in future, to helps others too? - name: 'Install packages: dphys-swapfile, fake-hwclock, iw, rfkill, wireless-tools' package: name: - dphys-swapfile # 2021-03-15: For Ubuntu on RPi? RasPiOS installs this regardless -- autogenerate and use a swap file - fake-hwclock # 2021-03-15: For Ubuntu on RPi? RasPiOS installs this regardless -- save/restore system clock on machines without working RTC hardware - iw # 2021-07-27: RasPiOS installs this regardless -- configure Linux wireless devices -- hard dependence for ap0 creation, SEE https://github.com/iiab/iiab/blob/master/roles/network/templates/hostapd/iiab-clone-wifi.service.j2 - rfkill # 2021-07-27: RasPiOS installs this regardless -- enable & disable wireless devices - wireless-tools # 2021-07-27: RasPiOS installs this regardless -- manipulate Linux Wireless Extensions state: present - name: Increase swap file size (to CONF_SWAPSIZE={{ pi_swap_file_size }} in /etc/dphys-swapfile) as kalite pip download fails lineinfile: path: /etc/dphys-swapfile regexp: "^CONF_SWAPSIZE" line: "CONF_SWAPSIZE={{ pi_swap_file_size }}" - name: Restart swap service "dphys-swapfile" #command: /etc/init.d/dphys-swapfile restart systemd: # Had been...a rare/legacy service that was NOT systemd name: dphys-swapfile state: restarted