diff options
author | Lars Wirzenius <liw@liw.fi> | 2023-08-12 10:54:55 +0300 |
---|---|---|
committer | Lars Wirzenius <liw@liw.fi> | 2023-08-12 11:18:23 +0300 |
commit | 01b875bb0f5ca7ef7ffac402685c5f6ba61366c4 (patch) | |
tree | 351bce8e22fd874405b446251264db25efc49bad | |
parent | 88598723ae12bfe03b04b063803d7b5eec6656d0 (diff) | |
download | v-i-01b875bb0f5ca7ef7ffac402685c5f6ba61366c4.tar.gz |
feat: install wifi support on target system
Install iwd and wifi firmware on target system. Copy wifi credentials
from installer to target.
Sponsored-by: author
-rw-r--r-- | installer-ansible.yml | 4 | ||||
-rw-r--r-- | std.yml | 40 | ||||
-rwxr-xr-x | v-i | 1 |
3 files changed, 40 insertions, 5 deletions
diff --git a/installer-ansible.yml b/installer-ansible.yml index f1b4a68..e924f06 100644 --- a/installer-ansible.yml +++ b/installer-ansible.yml @@ -1,8 +1,4 @@ # Ansible playbook to install stuff for v-i. -# TODO: -# - maybe install iwlwifi firmware? -# - install liw-openpgp.pub and a gpg config to use my Yubikey - - hosts: image tasks: @@ -116,7 +116,30 @@ name: ifupdown state: absent - - name: "configure networkd" + - name: "enable the non-free-firmware component on bookworm" + when: debian_release != "bullseye" + apt_repository: + repo: "deb http://deb.debian.org/debian {{ debian_release}} non-free-firmware" + state: present + update_cache: yes + + - name: "install iwd and firmware for wifi" + apt: + name: + - firmware-brcm80211 + - firmware-iwlwifi + - firmware-libertas + - firmware-misc-nonfree + - firmware-realtek + - firmware-ti-connectivity + - iwd + + - name: "enable iwd" + systemd: + name: iwd + enabled: yes + + - name: "configure networkd for Ethernet" copy: content: | [Match] @@ -126,6 +149,21 @@ DHCP=yes dest: /etc/systemd/network/external.network + - name: "configure networkd for wireless" + copy: + content: | + [Match] + Name=wlan* + + [Network] + DHCP=yes + dest: /etc/systemd/network/wireless.network + + - name: "copy wireless credentials from host to target" + copy: + src: /var/lib/iwd/ + dest: /var/lib/iwd/ + - name: "enable networkd" systemd: name: systemd-networkd @@ -549,6 +549,7 @@ def main(): log(f"reading Ansible vars from {filename}") with open(filename) as f: vars_dict = yaml.safe_load(f) + vars_dict["debian_release"] = system.debian_release ansible_vars.update(vars_dict) ansible_vars_json = json.dumps(ansible_vars, indent=4) log(f"ansible_vars:\n{ansible_vars_json}") |