Browse Source

Add firmware update state for PC-Engines APU2

Karsten Böddeker 6 years ago
parent
commit
7af2f8c568
2 changed files with 37 additions and 0 deletions
  1. 29 0
      apu2/init.sls
  2. 8 0
      top.sls

+ 29 - 0
apu2/init.sls

@@ -0,0 +1,29 @@
+#
+# APU2 - Firmware-Update
+#
+
+apu2-flashrom:
+  pkg.latest:
+    - name: flashrom
+
+{% if salt['pkg.version_cmp'](salt['pkg.version']('flashrom'), '0.9.9') >= 0 %}
+apu2-read-firmware:
+  cmd.run:
+    - name: flashrom --programmer internal --read /tmp/apu2-firmware.rom
+    - creates: /tmp/apu2-firmware.rom
+    - require:
+      - pkg: apu2-flashrom
+
+apu2-copy-firmware:
+  file.managed:
+    - name: /tmp/apu2-firmware.rom
+    - source: salt://apu2/apu2-firmware.rom
+    - require:
+      - cmd: apu2-read-firmware
+
+apu2-write-firmware:
+  cmd.wait:
+    - name: flashrom --programmer internal --write /tmp/apu2-firmware.rom
+    - watch:
+      - file: apu2-copy-firmware
+{% endif %}

+ 8 - 0
top.sls

@@ -97,3 +97,11 @@ base:
   nodes:{{ grains['id'] }}:roles:yanic:
     - match: pillar
     - yanic
+
+#
+# Grains
+#
+  # apu2
+  productname:apu2:
+    - match: grain
+    - apu2