mirror of
https://github.com/iiab/iiab.git
synced 2025-03-09 15:40:17 +00:00
Merge pull request #3139 from holta/wifi-hw
1-prep/tasks/hardware.yml: Cleaner modularization & assoc fixups
This commit is contained in:
commit
6dc49caa5e
10 changed files with 84 additions and 68 deletions
|
@ -1,27 +1,9 @@
|
|||
- name: Install packages 'parted' and 'cloud-guest-utils' (so /usr/bin/growpart is available for expanding rootfs partition during boot)
|
||||
package:
|
||||
name:
|
||||
- parted # 2022-03-15: RasPiOS and Ubuntu install this regardless -- so rarely nec but just in case.
|
||||
- cloud-guest-utils # 2022-03-15: For growpart command -- though RasPiOS currently doesn't need this, as raspi-config's do_expand_rootfs() instead uses fdisk. Ubuntu pre-installs cloud-guest-utils, for use with cloud-init.
|
||||
state: present
|
||||
|
||||
- name: "Install from templates: /usr/sbin/iiab-expand-rootfs, /etc/systemd/system/iiab-expand-rootfs.service"
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: "{{ item.mode }}"
|
||||
with_items:
|
||||
- { src: 'iiab-expand-rootfs', dest: '/usr/sbin/', mode: '0755' }
|
||||
- { src: 'iiab-expand-rootfs.service', dest: '/etc/systemd/system/', mode: '0644' }
|
||||
|
||||
- name: Enable /etc/systemd/system/iiab-expand-rootfs.service
|
||||
systemd:
|
||||
name: iiab-expand-rootfs
|
||||
enabled: yes
|
||||
- include_tasks: install-expand-rootfs.yml
|
||||
|
||||
|
||||
## DISCOVER PLATFORMS ######
|
||||
# Put conditional actions for hardware platforms here
|
||||
# Conditional hardware actions below:
|
||||
|
||||
- include_tasks: internal-wifi.yml
|
||||
|
||||
- include_tasks: raspberry_pi.yml
|
||||
when: first_run and rpi_model != "none"
|
||||
|
|
20
roles/1-prep/tasks/install-expand-rootfs.yml
Normal file
20
roles/1-prep/tasks/install-expand-rootfs.yml
Normal file
|
@ -0,0 +1,20 @@
|
|||
- name: Install packages 'parted' and 'cloud-guest-utils' (for /usr/bin/growpart, though raspi-config uses fdisk)
|
||||
package:
|
||||
name:
|
||||
- parted # 2022-03-15: RasPiOS and Ubuntu install this regardless -- so rarely nec, but just in case.
|
||||
- cloud-guest-utils # 2022-03-15: For growpart command -- though RasPiOS currently doesn't need this, as raspi-config's do_expand_rootfs() instead uses fdisk. Ubuntu pre-installs cloud-guest-utils, for use with cloud-init.
|
||||
state: present
|
||||
|
||||
- name: "Install from templates: /usr/sbin/iiab-expand-rootfs, /etc/systemd/system/iiab-expand-rootfs.service"
|
||||
template:
|
||||
src: "{{ item.src }}"
|
||||
dest: "{{ item.dest }}"
|
||||
mode: "{{ item.mode }}"
|
||||
with_items:
|
||||
- { src: 'iiab-expand-rootfs', dest: '/usr/sbin/', mode: '0755' }
|
||||
- { src: 'iiab-expand-rootfs.service', dest: '/etc/systemd/system/', mode: '0644' }
|
||||
|
||||
- name: Enable iiab-expand-rootfs.service
|
||||
systemd:
|
||||
name: iiab-expand-rootfs
|
||||
enabled: yes
|
32
roles/1-prep/tasks/internal-wifi.yml
Normal file
32
roles/1-prep/tasks/internal-wifi.yml
Normal file
|
@ -0,0 +1,32 @@
|
|||
- name: "Look for any WiFi devices present: ls -la /sys/class/net/*/phy80211 | cut -d/ -f5"
|
||||
shell: ls -la /sys/class/net/*/phy80211 | cut -d/ -f5
|
||||
register: wifi_devices
|
||||
ignore_errors: True
|
||||
changed_when: False
|
||||
|
||||
- name: "Set internal_wifi: True, if output (from above) shows device(s) here: {{ wifi_devices.stdout_lines }}"
|
||||
set_fact:
|
||||
internal_wifi: True
|
||||
when: wifi_devices is defined and wifi_devices.stdout_lines | length > 0
|
||||
# when: wifi_devices is defined and wifi_devices.stdout | trim != ""
|
||||
|
||||
# 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.
|
||||
|
||||
- name: Install packages {iw, rfkill, wireless-tools} if internal_wifi ({{ internal_wifi }}) is defined
|
||||
package:
|
||||
name:
|
||||
- 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
|
||||
when: internal_wifi is defined
|
||||
|
||||
- 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
|
|
@ -4,9 +4,6 @@
|
|||
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)
|
||||
|
@ -24,43 +21,14 @@
|
|||
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'
|
||||
- name: 'Install packages: fake-hwclock, dphys-swapfile'
|
||||
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
|
||||
- fake-hwclock # 2021-03-15: Missing on Ubuntu etc. RasPiOS installs this regardless -- to save/restore system clock on machines w/o working RTC (above).
|
||||
- dphys-swapfile # 2021-03-15: Missing on Ubuntu etc. RasPiOS installs this regardless -- to autogenerate and use a swap file (below).
|
||||
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
|
||||
|
@ -72,3 +40,11 @@
|
|||
systemd: # Had been...a rare/legacy service that was NOT systemd
|
||||
name: dphys-swapfile
|
||||
state: restarted
|
||||
|
||||
|
||||
#- 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
|
||||
|
|
|
@ -5,7 +5,9 @@ Description=Root Filesystem Auto-Expander
|
|||
Environment=TERM=linux
|
||||
Type=oneshot
|
||||
ExecStart=/usr/sbin/iiab-expand-rootfs
|
||||
StandardError=syslog
|
||||
# "Standard output type syslog is obsolete"
|
||||
# StandardError=syslog
|
||||
# WHEREAS StandardError=journal is the default, per https://www.freedesktop.org/software/systemd/man/systemd.exec.html#StandardOutput=
|
||||
RemainAfterExit=no
|
||||
|
||||
[Install]
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
- name: '2021-07-27: SEE ALSO ~3 networking packages EARLIER installed by https://github.com/iiab/iiab/blob/master/roles/1-prep/tasks/raspberry_pi.yml'
|
||||
- name: '2021-07-27: SEE ALSO ~3 networking packages EARLIER installed by https://github.com/iiab/iiab/blob/master/roles/1-prep/tasks/internal-wifi.yml'
|
||||
meta: noop
|
||||
|
||||
- name: '2021-07-27: SEE ALSO ~4 networking packages EARLIER installed by https://github.com/iiab/iiab/blob/master/roles/2-common/tasks/packages.yml'
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
- name: '2021-07-27: SEE ALSO ~3 networking packages EARLIER installed by https://github.com/iiab/iiab/blob/master/roles/1-prep/tasks/raspberry_pi.yml'
|
||||
- name: '2021-07-27: SEE ALSO ~3 networking packages EARLIER installed by https://github.com/iiab/iiab/blob/master/roles/1-prep/tasks/internal-wifi.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'
|
||||
|
|
|
@ -1,6 +0,0 @@
|
|||
- name: "Install text mode packages, useful during remote access: screen, lynx"
|
||||
package:
|
||||
name:
|
||||
- lynx
|
||||
- screen
|
||||
state: present
|
6
roles/iiab-admin/tasks/access.yml.unused
Normal file
6
roles/iiab-admin/tasks/access.yml.unused
Normal file
|
@ -0,0 +1,6 @@
|
|||
- name: "Install text-mode packages, useful during remote access: lynx, screen"
|
||||
package:
|
||||
name:
|
||||
- lynx
|
||||
- screen
|
||||
state: present
|
|
@ -2,8 +2,12 @@
|
|||
# https://github.com/iiab/iiab/blob/master/roles/iiab-admin/README.rst
|
||||
|
||||
|
||||
- name: Install lynx, screen
|
||||
include_tasks: access.yml
|
||||
- name: "Install text-mode packages, useful during remote access: lynx, screen"
|
||||
package:
|
||||
name:
|
||||
- lynx
|
||||
- screen
|
||||
state: present
|
||||
|
||||
- name: Install sudo & /etc/sudoers with logging to /var/log/sudo.log
|
||||
include_tasks: sudo-prereqs.yml
|
||||
|
|
Loading…
Add table
Reference in a new issue