Dave Jones has proposed merging ~waveform/ubuntu-manual-tests:pi-new-models 
into ubuntu-manual-tests:main.

Requested reviews:
  Ubuntu Testcase Admins (ubuntu-testcase)

For more details, see:
https://code.launchpad.net/~waveform/ubuntu-manual-tests/+git/ubuntu-manual-tests/+merge/480620

Fixed test case example for the Pi server ISO tests, and added new entries for 
new models (Pi 5 16GB, and Pi 500, along with their various boot modes)
-- 
Your team Canonical's Ubuntu QA is subscribed to branch 
ubuntu-manual-tests:main.
diff --git a/definitions/pi_desktop_cases.xml b/definitions/pi_desktop_cases.xml
index c326fc8..1a8d558 100644
--- a/definitions/pi_desktop_cases.xml
+++ b/definitions/pi_desktop_cases.xml
@@ -552,7 +552,7 @@
     <ut:include ref="lock-screen" />
   </ut:case>
 
-  <ut:case id="1818_RaspberryPi 5 8GB Desktop USB">
+  <ut:case id="1818_RaspberryPi 5 8GB Desktop NVMe">
     <ut:define name="model">Raspberry Pi 5 8GB</ut:define>
     <ut:define name="storage">an NVMe drive</ut:define>
     <ut:define name="boot-order">0xf61</ut:define>
@@ -573,4 +573,114 @@
     <ut:include ref="local-video" />
     <ut:include ref="lock-screen" />
   </ut:case>
+
+  <ut:case id="1827_RaspberryPi 5 16GB Desktop SD">
+    <ut:define name="model">Raspberry Pi 5 16GB</ut:define>
+    <ut:define name="storage">an SD card</ut:define>
+    <ut:define name="boot-order">0xf1</ut:define>
+    <ut:include ref="power-led" />
+    <ut:include ref="startup-splash" />
+    <ut:include ref="startup-sound" />
+    <ut:include ref="startup-timezone" />
+    <ut:include ref="startup-identity" />
+    <ut:include ref="flash-kernel" />
+    <ut:include ref="reboot" />
+    <ut:include ref="shutdown" />
+    <ut:include ref="ram-free"><ut:define name="mem">15GB</ut:define></ut:include>
+    <ut:incldue ref="dual-monitor" />
+    <ut:include ref="ethernet"><ut:define name="intf">eth0</ut:define></ut:include>
+    <ut:include ref="wifi"><ut:define name="intf">wlan0</ut:define></ut:include>
+    <ut:include ref="bluetooth" />
+    <ut:include ref="www-video" />
+    <ut:include ref="local-video" />
+    <ut:include ref="lock-screen" />
+  </ut:case>
+
+  <ut:case id="1828_RaspberryPi 5 16GB Desktop USB">
+    <ut:define name="model">Raspberry Pi 5 16GB</ut:define>
+    <ut:define name="storage">a USB3 drive</ut:define>
+    <ut:define name="boot-order">0xf41</ut:define>
+    <ut:include ref="power-led" />
+    <ut:include ref="startup-splash" />
+    <ut:include ref="startup-sound" />
+    <ut:include ref="startup-timezone" />
+    <ut:include ref="startup-identity" />
+    <ut:include ref="flash-kernel" />
+    <ut:include ref="reboot" />
+    <ut:include ref="shutdown" />
+    <ut:include ref="ram-free"><ut:define name="mem">15GB</ut:define></ut:include>
+    <ut:incldue ref="dual-monitor" />
+    <ut:include ref="ethernet"><ut:define name="intf">eth0</ut:define></ut:include>
+    <ut:include ref="wifi"><ut:define name="intf">wlan0</ut:define></ut:include>
+    <ut:include ref="bluetooth" />
+    <ut:include ref="www-video" />
+    <ut:include ref="local-video" />
+    <ut:include ref="lock-screen" />
+  </ut:case>
+
+  <ut:case id="1829_RaspberryPi 5 16GB Desktop NVMe">
+    <ut:define name="model">Raspberry Pi 5 16GB</ut:define>
+    <ut:define name="storage">an NVMe drive</ut:define>
+    <ut:define name="boot-order">0xf61</ut:define>
+    <ut:include ref="power-led" />
+    <ut:include ref="startup-splash" />
+    <ut:include ref="startup-sound" />
+    <ut:include ref="startup-timezone" />
+    <ut:include ref="startup-identity" />
+    <ut:include ref="flash-kernel" />
+    <ut:include ref="reboot" />
+    <ut:include ref="shutdown" />
+    <ut:include ref="ram-free"><ut:define name="mem">15GB</ut:define></ut:include>
+    <ut:incldue ref="dual-monitor" />
+    <ut:include ref="ethernet"><ut:define name="intf">eth0</ut:define></ut:include>
+    <ut:include ref="wifi"><ut:define name="intf">wlan0</ut:define></ut:include>
+    <ut:include ref="bluetooth" />
+    <ut:include ref="www-video" />
+    <ut:include ref="local-video" />
+    <ut:include ref="lock-screen" />
+  </ut:case>
+
+  <ut:case id="1830_RaspberryPi 500 SD">
+    <ut:define name="model">Raspberry Pi 500</ut:define>
+    <ut:define name="storage">an SD card</ut:define>
+    <ut:define name="boot-order">0xf1</ut:define>
+    <ut:include ref="power-led" />
+    <ut:include ref="startup-splash" />
+    <ut:include ref="startup-sound" />
+    <ut:include ref="startup-timezone" />
+    <ut:include ref="startup-identity" />
+    <ut:include ref="flash-kernel" />
+    <ut:include ref="reboot" />
+    <ut:include ref="shutdown" />
+    <ut:include ref="ram-free"><ut:define name="mem">7.6-7.8GB</ut:define></ut:include>
+    <ut:incldue ref="dual-monitor" />
+    <ut:include ref="ethernet"><ut:define name="intf">eth0</ut:define></ut:include>
+    <ut:include ref="wifi"><ut:define name="intf">wlan0</ut:define></ut:include>
+    <ut:include ref="bluetooth" />
+    <ut:include ref="www-video" />
+    <ut:include ref="local-video" />
+    <ut:include ref="lock-screen" />
+  </ut:case>
+
+  <ut:case id="1831_RaspberryPi 500 USB">
+    <ut:define name="model">Raspberry Pi 500</ut:define>
+    <ut:define name="storage">a USB3 drive</ut:define>
+    <ut:define name="boot-order">0xf41</ut:define>
+    <ut:include ref="power-led" />
+    <ut:include ref="startup-splash" />
+    <ut:include ref="startup-sound" />
+    <ut:include ref="startup-timezone" />
+    <ut:include ref="startup-identity" />
+    <ut:include ref="flash-kernel" />
+    <ut:include ref="reboot" />
+    <ut:include ref="shutdown" />
+    <ut:include ref="ram-free"><ut:define name="mem">7.6-7.8GB</ut:define></ut:include>
+    <ut:incldue ref="dual-monitor" />
+    <ut:include ref="ethernet"><ut:define name="intf">eth0</ut:define></ut:include>
+    <ut:include ref="wifi"><ut:define name="intf">wlan0</ut:define></ut:include>
+    <ut:include ref="bluetooth" />
+    <ut:include ref="www-video" />
+    <ut:include ref="local-video" />
+    <ut:include ref="lock-screen" />
+  </ut:case>
 </ut:configuration>
diff --git a/definitions/pi_server_cases.xml b/definitions/pi_server_cases.xml
index 42ac3af..83cbc73 100644
--- a/definitions/pi_server_cases.xml
+++ b/definitions/pi_server_cases.xml
@@ -219,8 +219,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 &quot;Jeff Wayne - War of the
-          Worlds.mp3&quot;</code></li>
+           e.g. <code>ffmpeg &quot;Jeff Wayne - War of the Worlds.mp3&quot;
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -634,4 +634,56 @@
     <ut:include ref="wifi"><ut:define name="intf">wlan0</ut:define></ut:include>
     <ut:include ref="bluetooth" />
   </ut:case>
+
+  <ut:case id="1825_RaspberryPi 5 16GB Post-install">
+    <ut:define name="model">Raspberry Pi 5 16GB</ut:define>
+    <ut:include ref="power-led" />
+    <ut:include ref="running" />
+    <ut:include ref="flash-kernel" />
+    <ut:include ref="reboot" />
+    <ut:include ref="shutdown" />
+    <ut:include ref="ram-free"><ut:define name="mem">15GB</ut:define></ut:include>
+    <ut:include ref="usb-file-transfer" />
+    <ut:include ref="usb-keyboard"><ut:define name="usb">USB2 (black)</ut:define></ut:include>
+    <ut:include ref="usb-keyboard"><ut:define name="usb">USB3 (blue)</ut:define></ut:include>
+    <ut:include ref="audio">
+      <ut:define name="device">an HDMI monitor that supports audio plugged into
+      the HDMI0 output</ut:define>
+      <ut:define name="output">HDMI0 port</ut:define>
+    </ut:include>
+    <ut:include ref="audio">
+      <ut:define name="device">an HDMI monitor that supports audio plugged into
+      the HDMI1 output</ut:define>
+      <ut:define name="output">HDMI1 port</ut:define>
+    </ut:include>
+    <ut:include ref="ethernet"><ut:define name="intf">eth0</ut:define></ut:include>
+    <ut:include ref="wifi"><ut:define name="intf">wlan0</ut:define></ut:include>
+    <ut:include ref="bluetooth" />
+  </ut:case>
+
+  <ut:case id="1826_RaspberryPi 500 Post-install">
+    <ut:define name="model">Raspberry Pi 500</ut:define>
+    <ut:include ref="power-led" />
+    <ut:include ref="running" />
+    <ut:include ref="flash-kernel" />
+    <ut:include ref="reboot" />
+    <ut:include ref="shutdown" />
+    <ut:include ref="ram-free"><ut:define name="mem">7.6-7.8GB</ut:define></ut:include>
+    <ut:include ref="usb-file-transfer" />
+    <ut:include ref="usb-keyboard"><ut:define name="usb">USB2 (black)</ut:define></ut:include>
+    <ut:include ref="usb-keyboard"><ut:define name="usb">USB3 (blue)</ut:define></ut:include>
+    <ut:include ref="audio">
+      <ut:define name="device">an HDMI monitor that supports audio plugged into
+      the HDMI0 output</ut:define>
+      <ut:define name="output">HDMI0 port</ut:define>
+    </ut:include>
+    <ut:include ref="audio">
+      <ut:define name="device">an HDMI monitor that supports audio plugged into
+      the HDMI1 output</ut:define>
+      <ut:define name="output">HDMI1 port</ut:define>
+    </ut:include>
+    <ut:include ref="ethernet"><ut:define name="intf">eth0</ut:define></ut:include>
+    <ut:include ref="wifi"><ut:define name="intf">wlan0</ut:define></ut:include>
+    <ut:include ref="bluetooth" />
+  </ut:case>
 </ut:configuration>
diff --git a/testcases/image/1711_RaspberryPi 4 2GB Post-install b/testcases/image/1711_RaspberryPi 4 2GB Post-install
index a14a58f..ae44408 100644
--- a/testcases/image/1711_RaspberryPi 4 2GB Post-install
+++ b/testcases/image/1711_RaspberryPi 4 2GB Post-install
@@ -118,8 +118,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -144,8 +144,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -169,8 +169,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1719_RaspberryPi 4 4GB Post-install b/testcases/image/1719_RaspberryPi 4 4GB Post-install
index 560d7aa..e9cca8a 100644
--- a/testcases/image/1719_RaspberryPi 4 4GB Post-install
+++ b/testcases/image/1719_RaspberryPi 4 4GB Post-install
@@ -118,8 +118,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -144,8 +144,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -169,8 +169,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1720_RaspberryPi 4 8GB Post-install b/testcases/image/1720_RaspberryPi 4 8GB Post-install
index 473bfcc..5d933ac 100644
--- a/testcases/image/1720_RaspberryPi 4 8GB Post-install
+++ b/testcases/image/1720_RaspberryPi 4 8GB Post-install
@@ -118,8 +118,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -144,8 +144,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -169,8 +169,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1721_RaspberryPi 3B+ Post-install b/testcases/image/1721_RaspberryPi 3B+ Post-install
index 4e3c9d6..8d9d0e0 100644
--- a/testcases/image/1721_RaspberryPi 3B+ Post-install
+++ b/testcases/image/1721_RaspberryPi 3B+ Post-install
@@ -109,8 +109,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -134,8 +134,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1722_RaspberryPi 3B Post-install b/testcases/image/1722_RaspberryPi 3B Post-install
index cf084bd..bcc7dd0 100644
--- a/testcases/image/1722_RaspberryPi 3B Post-install
+++ b/testcases/image/1722_RaspberryPi 3B Post-install
@@ -109,8 +109,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -134,8 +134,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1723_RaspberryPi 3A+ Post-install b/testcases/image/1723_RaspberryPi 3A+ Post-install
index 2269b88..a1d39c0 100644
--- a/testcases/image/1723_RaspberryPi 3A+ Post-install
+++ b/testcases/image/1723_RaspberryPi 3A+ Post-install
@@ -109,8 +109,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -134,8 +134,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1724_RaspberryPi 2 Post-install b/testcases/image/1724_RaspberryPi 2 Post-install
index 8000863..4a98178 100644
--- a/testcases/image/1724_RaspberryPi 2 Post-install
+++ b/testcases/image/1724_RaspberryPi 2 Post-install
@@ -109,8 +109,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -134,8 +134,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1726_RaspberryPi CM3+ Post-install b/testcases/image/1726_RaspberryPi CM3+ Post-install
index c069a71..ed898b5 100644
--- a/testcases/image/1726_RaspberryPi CM3+ Post-install
+++ b/testcases/image/1726_RaspberryPi CM3+ Post-install
@@ -100,8 +100,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1727_RaspberryPi CM3+ Lite Post-install b/testcases/image/1727_RaspberryPi CM3+ Lite Post-install
index 8c65552..ddd3396 100644
--- a/testcases/image/1727_RaspberryPi CM3+ Lite Post-install
+++ b/testcases/image/1727_RaspberryPi CM3+ Lite Post-install
@@ -100,8 +100,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1740_RaspberryPi 400 Post-install b/testcases/image/1740_RaspberryPi 400 Post-install
index 1728bc0..ae6a146 100644
--- a/testcases/image/1740_RaspberryPi 400 Post-install
+++ b/testcases/image/1740_RaspberryPi 400 Post-install
@@ -102,8 +102,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -128,8 +128,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1741_RaspberryPi CM4 2GB Post-install b/testcases/image/1741_RaspberryPi CM4 2GB Post-install
index 13a736d..8322528 100644
--- a/testcases/image/1741_RaspberryPi CM4 2GB Post-install
+++ b/testcases/image/1741_RaspberryPi CM4 2GB Post-install
@@ -93,8 +93,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -119,8 +119,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1742_RaspberryPi CM4 4GB Post-install b/testcases/image/1742_RaspberryPi CM4 4GB Post-install
index 7970c01..b04cf34 100644
--- a/testcases/image/1742_RaspberryPi CM4 4GB Post-install
+++ b/testcases/image/1742_RaspberryPi CM4 4GB Post-install
@@ -93,8 +93,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -119,8 +119,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1745_RaspberryPi 4 4GB Desktop SD b/testcases/image/1745_RaspberryPi 4 4GB Desktop SD
index f7f43a1..f727ec1 100644
--- a/testcases/image/1745_RaspberryPi 4 4GB Desktop SD
+++ b/testcases/image/1745_RaspberryPi 4 4GB Desktop SD
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1746_RaspberryPi 4 8GB Desktop SD b/testcases/image/1746_RaspberryPi 4 8GB Desktop SD
index 0202eb9..b0412c4 100644
--- a/testcases/image/1746_RaspberryPi 4 8GB Desktop SD
+++ b/testcases/image/1746_RaspberryPi 4 8GB Desktop SD
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1747_RaspberryPi 400 Desktop SD b/testcases/image/1747_RaspberryPi 400 Desktop SD
index eafe9c8..50a650d 100644
--- a/testcases/image/1747_RaspberryPi 400 Desktop SD
+++ b/testcases/image/1747_RaspberryPi 400 Desktop SD
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1749_RaspberryPi CM4 4GB Desktop eMMC b/testcases/image/1749_RaspberryPi CM4 4GB Desktop eMMC
index 7a7d75a..d125a56 100644
--- a/testcases/image/1749_RaspberryPi CM4 4GB Desktop eMMC
+++ b/testcases/image/1749_RaspberryPi CM4 4GB Desktop eMMC
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     <p>This test case is to be carried out on a Raspberry Pi Compute Module 4 4GB.</p>
diff --git a/testcases/image/1750_RaspberryPi CM4 8GB Desktop eMMC b/testcases/image/1750_RaspberryPi CM4 8GB Desktop eMMC
index 1888e83..2045625 100644
--- a/testcases/image/1750_RaspberryPi CM4 8GB Desktop eMMC
+++ b/testcases/image/1750_RaspberryPi CM4 8GB Desktop eMMC
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     <p>This test case is to be carried out on a Raspberry Pi Compute Module 4 8GB.</p>
diff --git a/testcases/image/1752_RaspberryPi Zero 2 Post-install b/testcases/image/1752_RaspberryPi Zero 2 Post-install
index cb76175..2d2ac8f 100644
--- a/testcases/image/1752_RaspberryPi Zero 2 Post-install
+++ b/testcases/image/1752_RaspberryPi Zero 2 Post-install
@@ -105,8 +105,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1777_RaspberryPi CM4 8GB Post-install b/testcases/image/1777_RaspberryPi CM4 8GB Post-install
index 8fa1a9b..a590338 100644
--- a/testcases/image/1777_RaspberryPi CM4 8GB Post-install
+++ b/testcases/image/1777_RaspberryPi CM4 8GB Post-install
@@ -93,8 +93,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -119,8 +119,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1791_RaspberryPi 5 4GB Desktop SD b/testcases/image/1791_RaspberryPi 5 4GB Desktop SD
index 7699d6d..d49c130 100644
--- a/testcases/image/1791_RaspberryPi 5 4GB Desktop SD
+++ b/testcases/image/1791_RaspberryPi 5 4GB Desktop SD
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1792_RaspberryPi 5 8GB Desktop SD b/testcases/image/1792_RaspberryPi 5 8GB Desktop SD
index 9430e11..80336b0 100644
--- a/testcases/image/1792_RaspberryPi 5 8GB Desktop SD
+++ b/testcases/image/1792_RaspberryPi 5 8GB Desktop SD
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1793_RaspberryPi 5 4GB Post-install b/testcases/image/1793_RaspberryPi 5 4GB Post-install
index bc2c98b..7fddcdc 100644
--- a/testcases/image/1793_RaspberryPi 5 4GB Post-install
+++ b/testcases/image/1793_RaspberryPi 5 4GB Post-install
@@ -118,8 +118,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -144,8 +144,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1794_RaspberryPi 5 8GB Post-install b/testcases/image/1794_RaspberryPi 5 8GB Post-install
index 6a0a905..3bf99e5 100644
--- a/testcases/image/1794_RaspberryPi 5 8GB Post-install
+++ b/testcases/image/1794_RaspberryPi 5 8GB Post-install
@@ -118,8 +118,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -144,8 +144,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1812_RaspberryPi 4 4GB Desktop USB b/testcases/image/1812_RaspberryPi 4 4GB Desktop USB
index ef95b3d..d1a83f0 100644
--- a/testcases/image/1812_RaspberryPi 4 4GB Desktop USB
+++ b/testcases/image/1812_RaspberryPi 4 4GB Desktop USB
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1813_RaspberryPi 4 8GB Desktop USB b/testcases/image/1813_RaspberryPi 4 8GB Desktop USB
index 0a6df98..a9bfb17 100644
--- a/testcases/image/1813_RaspberryPi 4 8GB Desktop USB
+++ b/testcases/image/1813_RaspberryPi 4 8GB Desktop USB
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1814_RaspberryPi 400 Desktop USB b/testcases/image/1814_RaspberryPi 400 Desktop USB
index 593ea7d..6f3121d 100644
--- a/testcases/image/1814_RaspberryPi 400 Desktop USB
+++ b/testcases/image/1814_RaspberryPi 400 Desktop USB
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1815_RaspberryPi 5 4GB Desktop USB3 b/testcases/image/1815_RaspberryPi 5 4GB Desktop USB3
index a7c0ff3..0b66924 100644
--- a/testcases/image/1815_RaspberryPi 5 4GB Desktop USB3
+++ b/testcases/image/1815_RaspberryPi 5 4GB Desktop USB3
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1816_RaspberryPi 5 4GB Desktop NVMe b/testcases/image/1816_RaspberryPi 5 4GB Desktop NVMe
index 96d110c..f2d65f5 100644
--- a/testcases/image/1816_RaspberryPi 5 4GB Desktop NVMe
+++ b/testcases/image/1816_RaspberryPi 5 4GB Desktop NVMe
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1817_RaspberryPi 5 8GB Desktop USB b/testcases/image/1817_RaspberryPi 5 8GB Desktop USB
index bbd9724..9abc69a 100644
--- a/testcases/image/1817_RaspberryPi 5 8GB Desktop USB
+++ b/testcases/image/1817_RaspberryPi 5 8GB Desktop USB
@@ -1,6 +1,6 @@
 <!-- Please do not edit this file directly; it was generated with the
      tools/test_case_gen script using the following configuration as input:
-     ./definitions/pi_desktop_cases.xml
+     definitions/pi_desktop_cases.xml
 -->
 
     
diff --git a/testcases/image/1818_RaspberryPi 5 8GB Desktop NVMe b/testcases/image/1818_RaspberryPi 5 8GB Desktop NVMe
new file mode 100644
index 0000000..274ac27
--- /dev/null
+++ b/testcases/image/1818_RaspberryPi 5 8GB Desktop NVMe
@@ -0,0 +1,201 @@
+<!-- Please do not edit this file directly; it was generated with the
+     tools/test_case_gen script using the following configuration as input:
+     definitions/pi_desktop_cases.xml
+-->
+
+    
+    <p>This test case is to be carried out on a Raspberry Pi 5 8GB.</p>
+    <p>Follow the installation steps at <a href="https://ubuntu.com/download/iot/installation-media";>
+      IoT installation media</a>, and write the image to an NVMe drive.
+      Then, using <tt>sudo rpi-eeprom-config</tt>, ensure the EEPROM's
+      <tt><a href="https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER";>BOOT_ORDER</a></tt>
+      is set to 0xf61.
+    </p>
+    <dl>
+      
+    
+    <dt>Watch the power LED</dt>
+      <dd>
+        Ensure it turns on at boot time, and stays lit as the kernel starts
+        (when the rainbow screen disappears)
+      </dd>
+  
+    
+    <dt>Watch the boot screen</dt>
+    <dd>Check that the Ubuntu logo, and spinner appear during boot time</dd>
+  
+    
+    <dt>
+      Ensure you have speakers on your monitor or headphones plugged into it
+    </dt>
+    <dd>
+      Check that the Ubuntu start up sound plays through the monitor's audio
+      output before the initial System Configuration appears
+    </dd>
+  
+    
+    <dt>Select your timezone, and click on the Continue button</dt>
+    <dd>The 'Who are you?' screen appears</dd>
+  
+    
+    <dt>
+      Input your initial user details and password
+      <em>admin</em> can not be used - it is a dedicated Linux User
+    </dt>
+    <dd>
+      Name, username and password are accepted. Login options and home folder
+      encryption choices shown
+    </dd>
+    <dd>Continue button becomes available</dd>
+  
+    
+    <dt>
+      Run <code>sudo flash-kernel</code>
+    </dt>
+    <dd>
+      Exit code is clean (0) and no error messages are reported
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Restart..." from that
+      menu, and confirm "Restart" in the dialog that appears
+    </dt> <dd>
+      System reboots successfully to a login prompt
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Power Off..." from
+      that menu, and confirm "Power Off" in the dialog that appears
+    </dt>
+    <dd>
+      System shuts down in a reasonable time (less than a minute)
+    </dd>
+  
+    
+    <dt>
+      Launch Settings from
+      the menu that appears, then "About" in the left panel of the window that
+      appears
+    </dt>
+    <dd>
+      Reported "Memory" is consistent with a Raspberry Pi 5 8GB.
+      It should be in the region of 7.6-7.8GB.
+    </dd>
+  
+    <ns0:incldue ref="dual-monitor"></ns0:incldue>
+    
+    <dt>
+      Check auto-configuration of ethernet
+      <ul>
+        <li>Run <code>ip addr</code></li>
+        <li>Check that a valid IP address is recorded on the eth0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "eth0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure wifi via Network Manager
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the WiFi entry from the menu</li>
+        <li>Select your local WiFi network from the visible networks list</li>
+        <li>Enter the password for your local WiFi network when prompted</li>
+        <li>Wait a few seconds (to allow DHCP to complete), then run <code>ip
+          addr</code></li>
+        <li>Check that a valid IP address is recorded on the wlan0 interface</li>
+        <li>Disconnect ethernet, if any is plugged in</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+        <li>Reconnect ethernet, if it was connected before</li>
+      </ul>
+    </dt>
+    <dd>
+      The "wlan0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure bluetooth and pair a device
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the Bluetooth entry from the menu (you must be on this page
+          for the Pi to be "discoverable")</li>
+        <li>On another Bluetooth device (e.g. an Android phone) make sure it
+          is "discoverable" (e.g. on Android go into Bluetooth
+          settings)</li>
+        <li>Ensure the other device shows up in the "Devices" list
+          on the Bluetooth settings page, then select it</li>
+        <li>Confirm the pincode on both devices</li>
+        <li>Ensure the other device now shows as anything other that "Not
+          Set Up" in the "Devices" list</li>
+        </ul>
+      </dt>
+      <dd>
+        The Bluetooth interface can scan for, and pair with, another device
+      </dd>
+  
+    
+    <dt>
+      Start Firefox and play a YouTube video
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Click on the Firefox icon on the left of the screen</li>
+        <li>Navigate to <a href="https://youtube.com";>YouTube</a></li>
+        <li>Select a video (with audio!) to play</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Download and play BigBuckBunny in the built-in video player
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Start a terminal session</li>
+        <li>Run <code>wget https://archive.org/download/BigBuckBunny_124/Content/big_buck_bunny_720p_surround.mp4</code></li>
+        <li>Once the download has completed, run <code>totem big_buck_bunny_720p_surround.mp4</code></li>
+        <li>The utility may prompt to install codecs; accept the recommendation
+          and install whatever codecs are required</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Press <tt>Super+L</tt> and wait for the lock screen to appear, then
+      fade, then for the monitor to suspend. Move the mouse to wake up the
+      monitor, then enter your password to unlock the desktop.
+    </dt>
+    <dd>
+      Ensure the monitor suspends correctly, that it awakens again correctly,
+      and that the desktop unlocks successfully (without the system hanging).
+    </dd>
+  
+  
+    </dl>
+    <p>If <strong>all</strong> actions produce the expected results listed,
+      please <a href="results#add_result">submit</a> a 'passed' result.</p>
+    <p>If <strong>any</strong> action fails, or produces an unexpected result,
+      please <a href="results#add_result">submit</a> a 'failed' result and <a href="../../buginstructions">file a bug</a>. Please be sure to include
+      the bug number when you <a href="results#add_result">submit</a> your
+      result.</p>
+  
\ No newline at end of file
diff --git a/testcases/image/1824_RaspberryPi 5 2GB Post-install b/testcases/image/1824_RaspberryPi 5 2GB Post-install
index d45707f..bf979d0 100644
--- a/testcases/image/1824_RaspberryPi 5 2GB Post-install
+++ b/testcases/image/1824_RaspberryPi 5 2GB Post-install
@@ -118,8 +118,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
@@ -144,8 +144,8 @@
           <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
           substituting <em>name</em> for the card name found during the
           previous step, and <em>music.mp3</em> for your choice of MP3 file,
-          e.g. <code>mpg321 -o alsa -a hw:0,0 "Jeff Wayne - War of the
-          Worlds.mp3"</code></li>
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
         <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
           wish</li>
         <li>If you cannot hear anything, first check that the mixer's volume is
diff --git a/testcases/image/1825_RaspberryPi 5 16GB Post-install b/testcases/image/1825_RaspberryPi 5 16GB Post-install
new file mode 100644
index 0000000..082e885
--- /dev/null
+++ b/testcases/image/1825_RaspberryPi 5 16GB Post-install
@@ -0,0 +1,239 @@
+<!-- Please do not edit this file directly; it was generated with the
+     tools/test_case_gen script using the following configuration as input:
+     definitions/pi_server_cases.xml
+-->
+
+    
+    <p>This test case is to be carried out on a Raspberry Pi 5 16GB.</p>
+    <p>Follow the installation steps at <a href="https://ubuntu.com/download/iot/installation-media";>
+      IoT installation media</a>
+    </p>
+    <dl>
+      
+    
+    <dt>
+      After powering on the machine, look at the power LED
+    </dt>
+    <dd>
+      The power LED illuminates and stays illuminated while the kernel continues
+      to boot. 
+    </dd>
+  
+    
+    <dt>
+      After logging in, run <code>systemctl status</code>, and look at the
+      "State:" reported at the top of the output
+    </dt>
+    <dd>
+      State should be reported as "running". In particular, it should
+      <em>not</em> read "degraded".
+    </dd>
+  
+    
+    <dt>
+      Run <code>sudo flash-kernel</code>
+    </dt>
+    <dd>
+      Exit code is clean (0) and no error messages are reported
+    </dd>
+  
+    
+    <dt>
+      Run <code>sudo reboot</code>
+    </dt>
+    <dd>
+      System reboots successfully to a login prompt
+    </dd>
+  
+    
+    <dt>
+      Run <code>sudo shutdown -h now</code>
+    </dt>
+    <dd>
+      System shuts down in a reasonable time (less than a minute)
+    </dd>
+  
+    
+    <dt>
+      Check output of <code>free -h</code>
+    </dt>
+    <dd>
+      Reported "Mem" under "total" is consistent with a
+      Raspberry Pi 5 16GB. It should be in the region of 15GB.
+    </dd>
+  
+    
+    <dt>
+      Perform a large (300-600MB) file copy to USB storage
+      <ul>
+        <li>Generate a large (500MB) file: <code>dd if=/dev/urandom of=rubbish
+          bs=1M count=500</code></li>
+        <li>Insert a USB stick (appropriately sized) into a spare USB port</li>
+        <li>Make a mount directory: <code>sudo mkdir /mnt/stick</code></li>
+        <li>Mount the stick: <code>sudo mount /dev/sda1 /mnt/stick</code>
+          (modify mount-point as necessary; check <code>sudo dmesg</code>
+          output if unsure)</li>
+        <li>Copy the file: <code>sudo cp rubbish /mnt/stick/</code></li>
+        <li>Unmount the stick: <code>sudo umount /mnt/stick</code></li>
+        <li>Remove the stick from the USB port</li>
+        <li>Re-insert the stick into the USB port</li>
+        <li>Re-mount the stick: <code>sudo mount /dev/sda1 /mnt/stick</code>
+          (again, adjust mount-point as necessary)</li>
+        <li>Compare the copied file to that on the stick: <code>cmp rubbish
+          /mnt/stick/rubbish</code></li>
+      </ul>
+    </dt>
+    <dd>
+      <code>cmp</code> returns 0 and outputs nothing, indicating the files are
+      identical
+    </dd>
+  
+    
+    <dt>
+      Connect a USB keyboard to one of the USB2 (black) ports
+    </dt>
+    <dd>
+      Verify that keys typed on the keyboard appear on the console
+    </dd>
+  
+    
+    <dt>
+      Connect a USB keyboard to one of the USB3 (blue) ports
+    </dt>
+    <dd>
+      Verify that keys typed on the keyboard appear on the console
+    </dd>
+  
+    
+    <dt>
+      With an HDMI monitor that supports audio plugged into
+      the HDMI0 output, and an available MP3 file:
+      <ul>
+        <li>Install ffmpeg and amixer with <code>sudo apt install ffmpeg
+          alsa-utils</code></li>
+        <li>Find the correct card name for the HDMI0 port:
+          <code>cat /proc/asound/cards</code> and note the name in [brackets]
+          for the HDMI0 port</li>
+        <li>Attempt to play your MP3 file with: <code>ffmpeg -i
+          <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
+          substituting <em>name</em> for the card name found during the
+          previous step, and <em>music.mp3</em> for your choice of MP3 file,
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
+        <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
+          wish</li>
+        <li>If you cannot hear anything, first check that the mixer's volume is
+          not set too low; run <code>alsamixer</code>, and adjust the volume
+          (<tt>J</tt> for down, <tt>K</tt> for up) before exiting
+          (<tt>Esc</tt>) and retrying playback</li>
+      </ul>
+    </dt>
+    <dd>Audio can be heard through the device</dd>
+  
+    
+    <dt>
+      With an HDMI monitor that supports audio plugged into
+      the HDMI1 output, and an available MP3 file:
+      <ul>
+        <li>Install ffmpeg and amixer with <code>sudo apt install ffmpeg
+          alsa-utils</code></li>
+        <li>Find the correct card name for the HDMI1 port:
+          <code>cat /proc/asound/cards</code> and note the name in [brackets]
+          for the HDMI1 port</li>
+        <li>Attempt to play your MP3 file with: <code>ffmpeg -i
+          <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
+          substituting <em>name</em> for the card name found during the
+          previous step, and <em>music.mp3</em> for your choice of MP3 file,
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
+        <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
+          wish</li>
+        <li>If you cannot hear anything, first check that the mixer's volume is
+          not set too low; run <code>alsamixer</code>, and adjust the volume
+          (<tt>J</tt> for down, <tt>K</tt> for up) before exiting
+          (<tt>Esc</tt>) and retrying playback</li>
+      </ul>
+    </dt>
+    <dd>Audio can be heard through the device</dd>
+  
+    
+    <dt>
+      Check auto-configuration of ethernet
+      <ul>
+        <li>Run <code>ip addr</code></li>
+        <li>Check that a valid IP address is recorded on the eth0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "eth0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure wifi via netplan
+      <ul>
+        <li>Place the following in <code>/etc/netplan/wifi.yaml</code>
+        (substituting the SSID and password as necessary):</li>
+        <li><pre>
+      network:
+        version: 2
+          wifis:
+            wlan0:
+              dhcp4: true
+              access-points:
+                my-ssid-here:
+                  password: my-password-here</pre>
+        </li>
+        <li>Run <code>sudo netplan apply</code></li>
+        <li>Wait a few seconds (to allow DHCP to complete), then run <code>ip
+          addr</code></li>
+        <li>Check that a valid IP address is recorded on the wlan0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "wlan0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure bluetooth, scan for, and pair, a device
+      <ul>
+        <li>Install bluez with <code>sudo apt install bluez</code></li>
+        <li>Run <code>sudo bluetoothctl</code></li>
+        <li>Check bluetoothctl prints <code>Agent registered</code></li>
+        <li>Check the MAC address looks "real" (not some obviously blank
+          value like AA:AA:AA:AA:AA:AA)</li>
+        <li>Run <code>scan on</code></li>
+        <li>Make some other Bluetooth device visible for pairing (e.g. go into
+          Bluetooth settings on your Android phone)</li>
+        <li>Verify the other Bluetooth device appears in console output</li>
+          <li>Run <code>pair XX:XX:XX:XX:XX:XX</code>
+          where XX:XX:XX:XX:XX:XX is the other device's MAC address, as it
+          appears in scan output
+        </li>
+        <li>Verify the passcode on both devices</li>
+        <li>Check output includes "Pairing successful"</li>
+        <li>Disable scanning with <code>scan off</code></li>
+        <li>Exit tool with <code>quit</code></li>
+      </ul>
+    </dt>
+    <dd>
+      The Bluetooth interface should have a valid MAC address (not
+      AA:AA:AA:AA:AA:AA), can see and pair with another Bluetooth device.
+    </dd>
+  
+  
+    </dl>
+    <p>If <strong>all</strong> actions produce the expected results listed,
+      please <a href="results#add_result">submit</a> a 'passed' result.</p>
+    <p>If <strong>any</strong> action fails, or produces an unexpected result,
+      please <a href="results#add_result">submit</a> a 'failed' result and <a href="../../buginstructions">file a bug</a>. Please be sure to include
+      the bug number when you <a href="results#add_result">submit</a> your
+      result.</p>
+  
\ No newline at end of file
diff --git a/testcases/image/1826_RaspberryPi 500 Post-install b/testcases/image/1826_RaspberryPi 500 Post-install
new file mode 100644
index 0000000..3c65bfc
--- /dev/null
+++ b/testcases/image/1826_RaspberryPi 500 Post-install
@@ -0,0 +1,239 @@
+<!-- Please do not edit this file directly; it was generated with the
+     tools/test_case_gen script using the following configuration as input:
+     definitions/pi_server_cases.xml
+-->
+
+    
+    <p>This test case is to be carried out on a Raspberry Pi 500.</p>
+    <p>Follow the installation steps at <a href="https://ubuntu.com/download/iot/installation-media";>
+      IoT installation media</a>
+    </p>
+    <dl>
+      
+    
+    <dt>
+      After powering on the machine, look at the power LED
+    </dt>
+    <dd>
+      The power LED illuminates and stays illuminated while the kernel continues
+      to boot. 
+    </dd>
+  
+    
+    <dt>
+      After logging in, run <code>systemctl status</code>, and look at the
+      "State:" reported at the top of the output
+    </dt>
+    <dd>
+      State should be reported as "running". In particular, it should
+      <em>not</em> read "degraded".
+    </dd>
+  
+    
+    <dt>
+      Run <code>sudo flash-kernel</code>
+    </dt>
+    <dd>
+      Exit code is clean (0) and no error messages are reported
+    </dd>
+  
+    
+    <dt>
+      Run <code>sudo reboot</code>
+    </dt>
+    <dd>
+      System reboots successfully to a login prompt
+    </dd>
+  
+    
+    <dt>
+      Run <code>sudo shutdown -h now</code>
+    </dt>
+    <dd>
+      System shuts down in a reasonable time (less than a minute)
+    </dd>
+  
+    
+    <dt>
+      Check output of <code>free -h</code>
+    </dt>
+    <dd>
+      Reported "Mem" under "total" is consistent with a
+      Raspberry Pi 500. It should be in the region of 7.6-7.8GB.
+    </dd>
+  
+    
+    <dt>
+      Perform a large (300-600MB) file copy to USB storage
+      <ul>
+        <li>Generate a large (500MB) file: <code>dd if=/dev/urandom of=rubbish
+          bs=1M count=500</code></li>
+        <li>Insert a USB stick (appropriately sized) into a spare USB port</li>
+        <li>Make a mount directory: <code>sudo mkdir /mnt/stick</code></li>
+        <li>Mount the stick: <code>sudo mount /dev/sda1 /mnt/stick</code>
+          (modify mount-point as necessary; check <code>sudo dmesg</code>
+          output if unsure)</li>
+        <li>Copy the file: <code>sudo cp rubbish /mnt/stick/</code></li>
+        <li>Unmount the stick: <code>sudo umount /mnt/stick</code></li>
+        <li>Remove the stick from the USB port</li>
+        <li>Re-insert the stick into the USB port</li>
+        <li>Re-mount the stick: <code>sudo mount /dev/sda1 /mnt/stick</code>
+          (again, adjust mount-point as necessary)</li>
+        <li>Compare the copied file to that on the stick: <code>cmp rubbish
+          /mnt/stick/rubbish</code></li>
+      </ul>
+    </dt>
+    <dd>
+      <code>cmp</code> returns 0 and outputs nothing, indicating the files are
+      identical
+    </dd>
+  
+    
+    <dt>
+      Connect a USB keyboard to one of the USB2 (black) ports
+    </dt>
+    <dd>
+      Verify that keys typed on the keyboard appear on the console
+    </dd>
+  
+    
+    <dt>
+      Connect a USB keyboard to one of the USB3 (blue) ports
+    </dt>
+    <dd>
+      Verify that keys typed on the keyboard appear on the console
+    </dd>
+  
+    
+    <dt>
+      With an HDMI monitor that supports audio plugged into
+      the HDMI0 output, and an available MP3 file:
+      <ul>
+        <li>Install ffmpeg and amixer with <code>sudo apt install ffmpeg
+          alsa-utils</code></li>
+        <li>Find the correct card name for the HDMI0 port:
+          <code>cat /proc/asound/cards</code> and note the name in [brackets]
+          for the HDMI0 port</li>
+        <li>Attempt to play your MP3 file with: <code>ffmpeg -i
+          <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
+          substituting <em>name</em> for the card name found during the
+          previous step, and <em>music.mp3</em> for your choice of MP3 file,
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
+        <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
+          wish</li>
+        <li>If you cannot hear anything, first check that the mixer's volume is
+          not set too low; run <code>alsamixer</code>, and adjust the volume
+          (<tt>J</tt> for down, <tt>K</tt> for up) before exiting
+          (<tt>Esc</tt>) and retrying playback</li>
+      </ul>
+    </dt>
+    <dd>Audio can be heard through the device</dd>
+  
+    
+    <dt>
+      With an HDMI monitor that supports audio plugged into
+      the HDMI1 output, and an available MP3 file:
+      <ul>
+        <li>Install ffmpeg and amixer with <code>sudo apt install ffmpeg
+          alsa-utils</code></li>
+        <li>Find the correct card name for the HDMI1 port:
+          <code>cat /proc/asound/cards</code> and note the name in [brackets]
+          for the HDMI1 port</li>
+        <li>Attempt to play your MP3 file with: <code>ffmpeg -i
+          <em>music.mp3</em> -f alsa default:CARD=<em>name</em></code>
+          substituting <em>name</em> for the card name found during the
+          previous step, and <em>music.mp3</em> for your choice of MP3 file,
+           e.g. <code>ffmpeg "Jeff Wayne - War of the Worlds.mp3"
+          -f alsa default:CARD=vc4hdmi0</code></li>
+        <li>Use <tt>Ctrl+C</tt> or <tt>q</tt> to end playback early, if you
+          wish</li>
+        <li>If you cannot hear anything, first check that the mixer's volume is
+          not set too low; run <code>alsamixer</code>, and adjust the volume
+          (<tt>J</tt> for down, <tt>K</tt> for up) before exiting
+          (<tt>Esc</tt>) and retrying playback</li>
+      </ul>
+    </dt>
+    <dd>Audio can be heard through the device</dd>
+  
+    
+    <dt>
+      Check auto-configuration of ethernet
+      <ul>
+        <li>Run <code>ip addr</code></li>
+        <li>Check that a valid IP address is recorded on the eth0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "eth0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure wifi via netplan
+      <ul>
+        <li>Place the following in <code>/etc/netplan/wifi.yaml</code>
+        (substituting the SSID and password as necessary):</li>
+        <li><pre>
+      network:
+        version: 2
+          wifis:
+            wlan0:
+              dhcp4: true
+              access-points:
+                my-ssid-here:
+                  password: my-password-here</pre>
+        </li>
+        <li>Run <code>sudo netplan apply</code></li>
+        <li>Wait a few seconds (to allow DHCP to complete), then run <code>ip
+          addr</code></li>
+        <li>Check that a valid IP address is recorded on the wlan0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "wlan0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure bluetooth, scan for, and pair, a device
+      <ul>
+        <li>Install bluez with <code>sudo apt install bluez</code></li>
+        <li>Run <code>sudo bluetoothctl</code></li>
+        <li>Check bluetoothctl prints <code>Agent registered</code></li>
+        <li>Check the MAC address looks "real" (not some obviously blank
+          value like AA:AA:AA:AA:AA:AA)</li>
+        <li>Run <code>scan on</code></li>
+        <li>Make some other Bluetooth device visible for pairing (e.g. go into
+          Bluetooth settings on your Android phone)</li>
+        <li>Verify the other Bluetooth device appears in console output</li>
+          <li>Run <code>pair XX:XX:XX:XX:XX:XX</code>
+          where XX:XX:XX:XX:XX:XX is the other device's MAC address, as it
+          appears in scan output
+        </li>
+        <li>Verify the passcode on both devices</li>
+        <li>Check output includes "Pairing successful"</li>
+        <li>Disable scanning with <code>scan off</code></li>
+        <li>Exit tool with <code>quit</code></li>
+      </ul>
+    </dt>
+    <dd>
+      The Bluetooth interface should have a valid MAC address (not
+      AA:AA:AA:AA:AA:AA), can see and pair with another Bluetooth device.
+    </dd>
+  
+  
+    </dl>
+    <p>If <strong>all</strong> actions produce the expected results listed,
+      please <a href="results#add_result">submit</a> a 'passed' result.</p>
+    <p>If <strong>any</strong> action fails, or produces an unexpected result,
+      please <a href="results#add_result">submit</a> a 'failed' result and <a href="../../buginstructions">file a bug</a>. Please be sure to include
+      the bug number when you <a href="results#add_result">submit</a> your
+      result.</p>
+  
\ No newline at end of file
diff --git a/testcases/image/1827_RaspberryPi 5 16GB Desktop SD b/testcases/image/1827_RaspberryPi 5 16GB Desktop SD
new file mode 100644
index 0000000..6e88b3a
--- /dev/null
+++ b/testcases/image/1827_RaspberryPi 5 16GB Desktop SD
@@ -0,0 +1,201 @@
+<!-- Please do not edit this file directly; it was generated with the
+     tools/test_case_gen script using the following configuration as input:
+     definitions/pi_desktop_cases.xml
+-->
+
+    
+    <p>This test case is to be carried out on a Raspberry Pi 5 16GB.</p>
+    <p>Follow the installation steps at <a href="https://ubuntu.com/download/iot/installation-media";>
+      IoT installation media</a>, and write the image to an SD card.
+      Then, using <tt>sudo rpi-eeprom-config</tt>, ensure the EEPROM's
+      <tt><a href="https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER";>BOOT_ORDER</a></tt>
+      is set to 0xf1.
+    </p>
+    <dl>
+      
+    
+    <dt>Watch the power LED</dt>
+      <dd>
+        Ensure it turns on at boot time, and stays lit as the kernel starts
+        (when the rainbow screen disappears)
+      </dd>
+  
+    
+    <dt>Watch the boot screen</dt>
+    <dd>Check that the Ubuntu logo, and spinner appear during boot time</dd>
+  
+    
+    <dt>
+      Ensure you have speakers on your monitor or headphones plugged into it
+    </dt>
+    <dd>
+      Check that the Ubuntu start up sound plays through the monitor's audio
+      output before the initial System Configuration appears
+    </dd>
+  
+    
+    <dt>Select your timezone, and click on the Continue button</dt>
+    <dd>The 'Who are you?' screen appears</dd>
+  
+    
+    <dt>
+      Input your initial user details and password
+      <em>admin</em> can not be used - it is a dedicated Linux User
+    </dt>
+    <dd>
+      Name, username and password are accepted. Login options and home folder
+      encryption choices shown
+    </dd>
+    <dd>Continue button becomes available</dd>
+  
+    
+    <dt>
+      Run <code>sudo flash-kernel</code>
+    </dt>
+    <dd>
+      Exit code is clean (0) and no error messages are reported
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Restart..." from that
+      menu, and confirm "Restart" in the dialog that appears
+    </dt> <dd>
+      System reboots successfully to a login prompt
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Power Off..." from
+      that menu, and confirm "Power Off" in the dialog that appears
+    </dt>
+    <dd>
+      System shuts down in a reasonable time (less than a minute)
+    </dd>
+  
+    
+    <dt>
+      Launch Settings from
+      the menu that appears, then "About" in the left panel of the window that
+      appears
+    </dt>
+    <dd>
+      Reported "Memory" is consistent with a Raspberry Pi 5 16GB.
+      It should be in the region of 15GB.
+    </dd>
+  
+    <ns0:incldue ref="dual-monitor"></ns0:incldue>
+    
+    <dt>
+      Check auto-configuration of ethernet
+      <ul>
+        <li>Run <code>ip addr</code></li>
+        <li>Check that a valid IP address is recorded on the eth0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "eth0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure wifi via Network Manager
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the WiFi entry from the menu</li>
+        <li>Select your local WiFi network from the visible networks list</li>
+        <li>Enter the password for your local WiFi network when prompted</li>
+        <li>Wait a few seconds (to allow DHCP to complete), then run <code>ip
+          addr</code></li>
+        <li>Check that a valid IP address is recorded on the wlan0 interface</li>
+        <li>Disconnect ethernet, if any is plugged in</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+        <li>Reconnect ethernet, if it was connected before</li>
+      </ul>
+    </dt>
+    <dd>
+      The "wlan0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure bluetooth and pair a device
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the Bluetooth entry from the menu (you must be on this page
+          for the Pi to be "discoverable")</li>
+        <li>On another Bluetooth device (e.g. an Android phone) make sure it
+          is "discoverable" (e.g. on Android go into Bluetooth
+          settings)</li>
+        <li>Ensure the other device shows up in the "Devices" list
+          on the Bluetooth settings page, then select it</li>
+        <li>Confirm the pincode on both devices</li>
+        <li>Ensure the other device now shows as anything other that "Not
+          Set Up" in the "Devices" list</li>
+        </ul>
+      </dt>
+      <dd>
+        The Bluetooth interface can scan for, and pair with, another device
+      </dd>
+  
+    
+    <dt>
+      Start Firefox and play a YouTube video
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Click on the Firefox icon on the left of the screen</li>
+        <li>Navigate to <a href="https://youtube.com";>YouTube</a></li>
+        <li>Select a video (with audio!) to play</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Download and play BigBuckBunny in the built-in video player
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Start a terminal session</li>
+        <li>Run <code>wget https://archive.org/download/BigBuckBunny_124/Content/big_buck_bunny_720p_surround.mp4</code></li>
+        <li>Once the download has completed, run <code>totem big_buck_bunny_720p_surround.mp4</code></li>
+        <li>The utility may prompt to install codecs; accept the recommendation
+          and install whatever codecs are required</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Press <tt>Super+L</tt> and wait for the lock screen to appear, then
+      fade, then for the monitor to suspend. Move the mouse to wake up the
+      monitor, then enter your password to unlock the desktop.
+    </dt>
+    <dd>
+      Ensure the monitor suspends correctly, that it awakens again correctly,
+      and that the desktop unlocks successfully (without the system hanging).
+    </dd>
+  
+  
+    </dl>
+    <p>If <strong>all</strong> actions produce the expected results listed,
+      please <a href="results#add_result">submit</a> a 'passed' result.</p>
+    <p>If <strong>any</strong> action fails, or produces an unexpected result,
+      please <a href="results#add_result">submit</a> a 'failed' result and <a href="../../buginstructions">file a bug</a>. Please be sure to include
+      the bug number when you <a href="results#add_result">submit</a> your
+      result.</p>
+  
\ No newline at end of file
diff --git a/testcases/image/1828_RaspberryPi 5 16GB Desktop USB b/testcases/image/1828_RaspberryPi 5 16GB Desktop USB
new file mode 100644
index 0000000..f991e91
--- /dev/null
+++ b/testcases/image/1828_RaspberryPi 5 16GB Desktop USB
@@ -0,0 +1,201 @@
+<!-- Please do not edit this file directly; it was generated with the
+     tools/test_case_gen script using the following configuration as input:
+     definitions/pi_desktop_cases.xml
+-->
+
+    
+    <p>This test case is to be carried out on a Raspberry Pi 5 16GB.</p>
+    <p>Follow the installation steps at <a href="https://ubuntu.com/download/iot/installation-media";>
+      IoT installation media</a>, and write the image to a USB3 drive.
+      Then, using <tt>sudo rpi-eeprom-config</tt>, ensure the EEPROM's
+      <tt><a href="https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER";>BOOT_ORDER</a></tt>
+      is set to 0xf41.
+    </p>
+    <dl>
+      
+    
+    <dt>Watch the power LED</dt>
+      <dd>
+        Ensure it turns on at boot time, and stays lit as the kernel starts
+        (when the rainbow screen disappears)
+      </dd>
+  
+    
+    <dt>Watch the boot screen</dt>
+    <dd>Check that the Ubuntu logo, and spinner appear during boot time</dd>
+  
+    
+    <dt>
+      Ensure you have speakers on your monitor or headphones plugged into it
+    </dt>
+    <dd>
+      Check that the Ubuntu start up sound plays through the monitor's audio
+      output before the initial System Configuration appears
+    </dd>
+  
+    
+    <dt>Select your timezone, and click on the Continue button</dt>
+    <dd>The 'Who are you?' screen appears</dd>
+  
+    
+    <dt>
+      Input your initial user details and password
+      <em>admin</em> can not be used - it is a dedicated Linux User
+    </dt>
+    <dd>
+      Name, username and password are accepted. Login options and home folder
+      encryption choices shown
+    </dd>
+    <dd>Continue button becomes available</dd>
+  
+    
+    <dt>
+      Run <code>sudo flash-kernel</code>
+    </dt>
+    <dd>
+      Exit code is clean (0) and no error messages are reported
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Restart..." from that
+      menu, and confirm "Restart" in the dialog that appears
+    </dt> <dd>
+      System reboots successfully to a login prompt
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Power Off..." from
+      that menu, and confirm "Power Off" in the dialog that appears
+    </dt>
+    <dd>
+      System shuts down in a reasonable time (less than a minute)
+    </dd>
+  
+    
+    <dt>
+      Launch Settings from
+      the menu that appears, then "About" in the left panel of the window that
+      appears
+    </dt>
+    <dd>
+      Reported "Memory" is consistent with a Raspberry Pi 5 16GB.
+      It should be in the region of 15GB.
+    </dd>
+  
+    <ns0:incldue ref="dual-monitor"></ns0:incldue>
+    
+    <dt>
+      Check auto-configuration of ethernet
+      <ul>
+        <li>Run <code>ip addr</code></li>
+        <li>Check that a valid IP address is recorded on the eth0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "eth0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure wifi via Network Manager
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the WiFi entry from the menu</li>
+        <li>Select your local WiFi network from the visible networks list</li>
+        <li>Enter the password for your local WiFi network when prompted</li>
+        <li>Wait a few seconds (to allow DHCP to complete), then run <code>ip
+          addr</code></li>
+        <li>Check that a valid IP address is recorded on the wlan0 interface</li>
+        <li>Disconnect ethernet, if any is plugged in</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+        <li>Reconnect ethernet, if it was connected before</li>
+      </ul>
+    </dt>
+    <dd>
+      The "wlan0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure bluetooth and pair a device
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the Bluetooth entry from the menu (you must be on this page
+          for the Pi to be "discoverable")</li>
+        <li>On another Bluetooth device (e.g. an Android phone) make sure it
+          is "discoverable" (e.g. on Android go into Bluetooth
+          settings)</li>
+        <li>Ensure the other device shows up in the "Devices" list
+          on the Bluetooth settings page, then select it</li>
+        <li>Confirm the pincode on both devices</li>
+        <li>Ensure the other device now shows as anything other that "Not
+          Set Up" in the "Devices" list</li>
+        </ul>
+      </dt>
+      <dd>
+        The Bluetooth interface can scan for, and pair with, another device
+      </dd>
+  
+    
+    <dt>
+      Start Firefox and play a YouTube video
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Click on the Firefox icon on the left of the screen</li>
+        <li>Navigate to <a href="https://youtube.com";>YouTube</a></li>
+        <li>Select a video (with audio!) to play</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Download and play BigBuckBunny in the built-in video player
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Start a terminal session</li>
+        <li>Run <code>wget https://archive.org/download/BigBuckBunny_124/Content/big_buck_bunny_720p_surround.mp4</code></li>
+        <li>Once the download has completed, run <code>totem big_buck_bunny_720p_surround.mp4</code></li>
+        <li>The utility may prompt to install codecs; accept the recommendation
+          and install whatever codecs are required</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Press <tt>Super+L</tt> and wait for the lock screen to appear, then
+      fade, then for the monitor to suspend. Move the mouse to wake up the
+      monitor, then enter your password to unlock the desktop.
+    </dt>
+    <dd>
+      Ensure the monitor suspends correctly, that it awakens again correctly,
+      and that the desktop unlocks successfully (without the system hanging).
+    </dd>
+  
+  
+    </dl>
+    <p>If <strong>all</strong> actions produce the expected results listed,
+      please <a href="results#add_result">submit</a> a 'passed' result.</p>
+    <p>If <strong>any</strong> action fails, or produces an unexpected result,
+      please <a href="results#add_result">submit</a> a 'failed' result and <a href="../../buginstructions">file a bug</a>. Please be sure to include
+      the bug number when you <a href="results#add_result">submit</a> your
+      result.</p>
+  
\ No newline at end of file
diff --git a/testcases/image/1829_RaspberryPi 5 16GB Desktop NVMe b/testcases/image/1829_RaspberryPi 5 16GB Desktop NVMe
new file mode 100644
index 0000000..097ab58
--- /dev/null
+++ b/testcases/image/1829_RaspberryPi 5 16GB Desktop NVMe
@@ -0,0 +1,201 @@
+<!-- Please do not edit this file directly; it was generated with the
+     tools/test_case_gen script using the following configuration as input:
+     definitions/pi_desktop_cases.xml
+-->
+
+    
+    <p>This test case is to be carried out on a Raspberry Pi 5 16GB.</p>
+    <p>Follow the installation steps at <a href="https://ubuntu.com/download/iot/installation-media";>
+      IoT installation media</a>, and write the image to an NVMe drive.
+      Then, using <tt>sudo rpi-eeprom-config</tt>, ensure the EEPROM's
+      <tt><a href="https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER";>BOOT_ORDER</a></tt>
+      is set to 0xf61.
+    </p>
+    <dl>
+      
+    
+    <dt>Watch the power LED</dt>
+      <dd>
+        Ensure it turns on at boot time, and stays lit as the kernel starts
+        (when the rainbow screen disappears)
+      </dd>
+  
+    
+    <dt>Watch the boot screen</dt>
+    <dd>Check that the Ubuntu logo, and spinner appear during boot time</dd>
+  
+    
+    <dt>
+      Ensure you have speakers on your monitor or headphones plugged into it
+    </dt>
+    <dd>
+      Check that the Ubuntu start up sound plays through the monitor's audio
+      output before the initial System Configuration appears
+    </dd>
+  
+    
+    <dt>Select your timezone, and click on the Continue button</dt>
+    <dd>The 'Who are you?' screen appears</dd>
+  
+    
+    <dt>
+      Input your initial user details and password
+      <em>admin</em> can not be used - it is a dedicated Linux User
+    </dt>
+    <dd>
+      Name, username and password are accepted. Login options and home folder
+      encryption choices shown
+    </dd>
+    <dd>Continue button becomes available</dd>
+  
+    
+    <dt>
+      Run <code>sudo flash-kernel</code>
+    </dt>
+    <dd>
+      Exit code is clean (0) and no error messages are reported
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Restart..." from that
+      menu, and confirm "Restart" in the dialog that appears
+    </dt> <dd>
+      System reboots successfully to a login prompt
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Power Off..." from
+      that menu, and confirm "Power Off" in the dialog that appears
+    </dt>
+    <dd>
+      System shuts down in a reasonable time (less than a minute)
+    </dd>
+  
+    
+    <dt>
+      Launch Settings from
+      the menu that appears, then "About" in the left panel of the window that
+      appears
+    </dt>
+    <dd>
+      Reported "Memory" is consistent with a Raspberry Pi 5 16GB.
+      It should be in the region of 15GB.
+    </dd>
+  
+    <ns0:incldue ref="dual-monitor"></ns0:incldue>
+    
+    <dt>
+      Check auto-configuration of ethernet
+      <ul>
+        <li>Run <code>ip addr</code></li>
+        <li>Check that a valid IP address is recorded on the eth0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "eth0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure wifi via Network Manager
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the WiFi entry from the menu</li>
+        <li>Select your local WiFi network from the visible networks list</li>
+        <li>Enter the password for your local WiFi network when prompted</li>
+        <li>Wait a few seconds (to allow DHCP to complete), then run <code>ip
+          addr</code></li>
+        <li>Check that a valid IP address is recorded on the wlan0 interface</li>
+        <li>Disconnect ethernet, if any is plugged in</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+        <li>Reconnect ethernet, if it was connected before</li>
+      </ul>
+    </dt>
+    <dd>
+      The "wlan0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure bluetooth and pair a device
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the Bluetooth entry from the menu (you must be on this page
+          for the Pi to be "discoverable")</li>
+        <li>On another Bluetooth device (e.g. an Android phone) make sure it
+          is "discoverable" (e.g. on Android go into Bluetooth
+          settings)</li>
+        <li>Ensure the other device shows up in the "Devices" list
+          on the Bluetooth settings page, then select it</li>
+        <li>Confirm the pincode on both devices</li>
+        <li>Ensure the other device now shows as anything other that "Not
+          Set Up" in the "Devices" list</li>
+        </ul>
+      </dt>
+      <dd>
+        The Bluetooth interface can scan for, and pair with, another device
+      </dd>
+  
+    
+    <dt>
+      Start Firefox and play a YouTube video
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Click on the Firefox icon on the left of the screen</li>
+        <li>Navigate to <a href="https://youtube.com";>YouTube</a></li>
+        <li>Select a video (with audio!) to play</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Download and play BigBuckBunny in the built-in video player
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Start a terminal session</li>
+        <li>Run <code>wget https://archive.org/download/BigBuckBunny_124/Content/big_buck_bunny_720p_surround.mp4</code></li>
+        <li>Once the download has completed, run <code>totem big_buck_bunny_720p_surround.mp4</code></li>
+        <li>The utility may prompt to install codecs; accept the recommendation
+          and install whatever codecs are required</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Press <tt>Super+L</tt> and wait for the lock screen to appear, then
+      fade, then for the monitor to suspend. Move the mouse to wake up the
+      monitor, then enter your password to unlock the desktop.
+    </dt>
+    <dd>
+      Ensure the monitor suspends correctly, that it awakens again correctly,
+      and that the desktop unlocks successfully (without the system hanging).
+    </dd>
+  
+  
+    </dl>
+    <p>If <strong>all</strong> actions produce the expected results listed,
+      please <a href="results#add_result">submit</a> a 'passed' result.</p>
+    <p>If <strong>any</strong> action fails, or produces an unexpected result,
+      please <a href="results#add_result">submit</a> a 'failed' result and <a href="../../buginstructions">file a bug</a>. Please be sure to include
+      the bug number when you <a href="results#add_result">submit</a> your
+      result.</p>
+  
\ No newline at end of file
diff --git a/testcases/image/1830_RaspberryPi 500 SD b/testcases/image/1830_RaspberryPi 500 SD
new file mode 100644
index 0000000..90dc97a
--- /dev/null
+++ b/testcases/image/1830_RaspberryPi 500 SD
@@ -0,0 +1,201 @@
+<!-- Please do not edit this file directly; it was generated with the
+     tools/test_case_gen script using the following configuration as input:
+     definitions/pi_desktop_cases.xml
+-->
+
+    
+    <p>This test case is to be carried out on a Raspberry Pi 500.</p>
+    <p>Follow the installation steps at <a href="https://ubuntu.com/download/iot/installation-media";>
+      IoT installation media</a>, and write the image to an SD card.
+      Then, using <tt>sudo rpi-eeprom-config</tt>, ensure the EEPROM's
+      <tt><a href="https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER";>BOOT_ORDER</a></tt>
+      is set to 0xf1.
+    </p>
+    <dl>
+      
+    
+    <dt>Watch the power LED</dt>
+      <dd>
+        Ensure it turns on at boot time, and stays lit as the kernel starts
+        (when the rainbow screen disappears)
+      </dd>
+  
+    
+    <dt>Watch the boot screen</dt>
+    <dd>Check that the Ubuntu logo, and spinner appear during boot time</dd>
+  
+    
+    <dt>
+      Ensure you have speakers on your monitor or headphones plugged into it
+    </dt>
+    <dd>
+      Check that the Ubuntu start up sound plays through the monitor's audio
+      output before the initial System Configuration appears
+    </dd>
+  
+    
+    <dt>Select your timezone, and click on the Continue button</dt>
+    <dd>The 'Who are you?' screen appears</dd>
+  
+    
+    <dt>
+      Input your initial user details and password
+      <em>admin</em> can not be used - it is a dedicated Linux User
+    </dt>
+    <dd>
+      Name, username and password are accepted. Login options and home folder
+      encryption choices shown
+    </dd>
+    <dd>Continue button becomes available</dd>
+  
+    
+    <dt>
+      Run <code>sudo flash-kernel</code>
+    </dt>
+    <dd>
+      Exit code is clean (0) and no error messages are reported
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Restart..." from that
+      menu, and confirm "Restart" in the dialog that appears
+    </dt> <dd>
+      System reboots successfully to a login prompt
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Power Off..." from
+      that menu, and confirm "Power Off" in the dialog that appears
+    </dt>
+    <dd>
+      System shuts down in a reasonable time (less than a minute)
+    </dd>
+  
+    
+    <dt>
+      Launch Settings from
+      the menu that appears, then "About" in the left panel of the window that
+      appears
+    </dt>
+    <dd>
+      Reported "Memory" is consistent with a Raspberry Pi 500.
+      It should be in the region of 7.6-7.8GB.
+    </dd>
+  
+    <ns0:incldue ref="dual-monitor"></ns0:incldue>
+    
+    <dt>
+      Check auto-configuration of ethernet
+      <ul>
+        <li>Run <code>ip addr</code></li>
+        <li>Check that a valid IP address is recorded on the eth0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "eth0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure wifi via Network Manager
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the WiFi entry from the menu</li>
+        <li>Select your local WiFi network from the visible networks list</li>
+        <li>Enter the password for your local WiFi network when prompted</li>
+        <li>Wait a few seconds (to allow DHCP to complete), then run <code>ip
+          addr</code></li>
+        <li>Check that a valid IP address is recorded on the wlan0 interface</li>
+        <li>Disconnect ethernet, if any is plugged in</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+        <li>Reconnect ethernet, if it was connected before</li>
+      </ul>
+    </dt>
+    <dd>
+      The "wlan0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure bluetooth and pair a device
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the Bluetooth entry from the menu (you must be on this page
+          for the Pi to be "discoverable")</li>
+        <li>On another Bluetooth device (e.g. an Android phone) make sure it
+          is "discoverable" (e.g. on Android go into Bluetooth
+          settings)</li>
+        <li>Ensure the other device shows up in the "Devices" list
+          on the Bluetooth settings page, then select it</li>
+        <li>Confirm the pincode on both devices</li>
+        <li>Ensure the other device now shows as anything other that "Not
+          Set Up" in the "Devices" list</li>
+        </ul>
+      </dt>
+      <dd>
+        The Bluetooth interface can scan for, and pair with, another device
+      </dd>
+  
+    
+    <dt>
+      Start Firefox and play a YouTube video
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Click on the Firefox icon on the left of the screen</li>
+        <li>Navigate to <a href="https://youtube.com";>YouTube</a></li>
+        <li>Select a video (with audio!) to play</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Download and play BigBuckBunny in the built-in video player
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Start a terminal session</li>
+        <li>Run <code>wget https://archive.org/download/BigBuckBunny_124/Content/big_buck_bunny_720p_surround.mp4</code></li>
+        <li>Once the download has completed, run <code>totem big_buck_bunny_720p_surround.mp4</code></li>
+        <li>The utility may prompt to install codecs; accept the recommendation
+          and install whatever codecs are required</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Press <tt>Super+L</tt> and wait for the lock screen to appear, then
+      fade, then for the monitor to suspend. Move the mouse to wake up the
+      monitor, then enter your password to unlock the desktop.
+    </dt>
+    <dd>
+      Ensure the monitor suspends correctly, that it awakens again correctly,
+      and that the desktop unlocks successfully (without the system hanging).
+    </dd>
+  
+  
+    </dl>
+    <p>If <strong>all</strong> actions produce the expected results listed,
+      please <a href="results#add_result">submit</a> a 'passed' result.</p>
+    <p>If <strong>any</strong> action fails, or produces an unexpected result,
+      please <a href="results#add_result">submit</a> a 'failed' result and <a href="../../buginstructions">file a bug</a>. Please be sure to include
+      the bug number when you <a href="results#add_result">submit</a> your
+      result.</p>
+  
\ No newline at end of file
diff --git a/testcases/image/1831_RaspberryPi 500 USB b/testcases/image/1831_RaspberryPi 500 USB
new file mode 100644
index 0000000..6139a20
--- /dev/null
+++ b/testcases/image/1831_RaspberryPi 500 USB
@@ -0,0 +1,201 @@
+<!-- Please do not edit this file directly; it was generated with the
+     tools/test_case_gen script using the following configuration as input:
+     definitions/pi_desktop_cases.xml
+-->
+
+    
+    <p>This test case is to be carried out on a Raspberry Pi 500.</p>
+    <p>Follow the installation steps at <a href="https://ubuntu.com/download/iot/installation-media";>
+      IoT installation media</a>, and write the image to a USB3 drive.
+      Then, using <tt>sudo rpi-eeprom-config</tt>, ensure the EEPROM's
+      <tt><a href="https://www.raspberrypi.com/documentation/computers/raspberry-pi.html#BOOT_ORDER";>BOOT_ORDER</a></tt>
+      is set to 0xf41.
+    </p>
+    <dl>
+      
+    
+    <dt>Watch the power LED</dt>
+      <dd>
+        Ensure it turns on at boot time, and stays lit as the kernel starts
+        (when the rainbow screen disappears)
+      </dd>
+  
+    
+    <dt>Watch the boot screen</dt>
+    <dd>Check that the Ubuntu logo, and spinner appear during boot time</dd>
+  
+    
+    <dt>
+      Ensure you have speakers on your monitor or headphones plugged into it
+    </dt>
+    <dd>
+      Check that the Ubuntu start up sound plays through the monitor's audio
+      output before the initial System Configuration appears
+    </dd>
+  
+    
+    <dt>Select your timezone, and click on the Continue button</dt>
+    <dd>The 'Who are you?' screen appears</dd>
+  
+    
+    <dt>
+      Input your initial user details and password
+      <em>admin</em> can not be used - it is a dedicated Linux User
+    </dt>
+    <dd>
+      Name, username and password are accepted. Login options and home folder
+      encryption choices shown
+    </dd>
+    <dd>Continue button becomes available</dd>
+  
+    
+    <dt>
+      Run <code>sudo flash-kernel</code>
+    </dt>
+    <dd>
+      Exit code is clean (0) and no error messages are reported
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Restart..." from that
+      menu, and confirm "Restart" in the dialog that appears
+    </dt> <dd>
+      System reboots successfully to a login prompt
+    </dd>
+  
+    
+    <dt>
+      Click the power icon at the top right of the screen, and expand the "Power
+      Off / Log Out" entry in the menu that appears, then "Power Off..." from
+      that menu, and confirm "Power Off" in the dialog that appears
+    </dt>
+    <dd>
+      System shuts down in a reasonable time (less than a minute)
+    </dd>
+  
+    
+    <dt>
+      Launch Settings from
+      the menu that appears, then "About" in the left panel of the window that
+      appears
+    </dt>
+    <dd>
+      Reported "Memory" is consistent with a Raspberry Pi 500.
+      It should be in the region of 7.6-7.8GB.
+    </dd>
+  
+    <ns0:incldue ref="dual-monitor"></ns0:incldue>
+    
+    <dt>
+      Check auto-configuration of ethernet
+      <ul>
+        <li>Run <code>ip addr</code></li>
+        <li>Check that a valid IP address is recorded on the eth0 interface</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+      </ul>
+    </dt>
+    <dd>
+      The "eth0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure wifi via Network Manager
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the WiFi entry from the menu</li>
+        <li>Select your local WiFi network from the visible networks list</li>
+        <li>Enter the password for your local WiFi network when prompted</li>
+        <li>Wait a few seconds (to allow DHCP to complete), then run <code>ip
+          addr</code></li>
+        <li>Check that a valid IP address is recorded on the wlan0 interface</li>
+        <li>Disconnect ethernet, if any is plugged in</li>
+        <li>Check <code>ping google.com</code> successfully pings a few times
+          (<tt>Ctrl+C</tt> to cancel)</li>
+        <li>Reconnect ethernet, if it was connected before</li>
+      </ul>
+    </dt>
+    <dd>
+      The "wlan0" interface should have a DHCP
+      assigned IP address and you should be able to ping google.com
+    </dd>
+  
+    
+    <dt>
+      Configure bluetooth and pair a device
+      <ul>
+        <li>Launch settings</li>
+        <li>Select the Bluetooth entry from the menu (you must be on this page
+          for the Pi to be "discoverable")</li>
+        <li>On another Bluetooth device (e.g. an Android phone) make sure it
+          is "discoverable" (e.g. on Android go into Bluetooth
+          settings)</li>
+        <li>Ensure the other device shows up in the "Devices" list
+          on the Bluetooth settings page, then select it</li>
+        <li>Confirm the pincode on both devices</li>
+        <li>Ensure the other device now shows as anything other that "Not
+          Set Up" in the "Devices" list</li>
+        </ul>
+      </dt>
+      <dd>
+        The Bluetooth interface can scan for, and pair with, another device
+      </dd>
+  
+    
+    <dt>
+      Start Firefox and play a YouTube video
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Click on the Firefox icon on the left of the screen</li>
+        <li>Navigate to <a href="https://youtube.com";>YouTube</a></li>
+        <li>Select a video (with audio!) to play</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Download and play BigBuckBunny in the built-in video player
+      <ul>
+        <li>Ensure you have functioning speakers / a headset plugged into your
+          monitor</li>
+        <li>Start a terminal session</li>
+        <li>Run <code>wget https://archive.org/download/BigBuckBunny_124/Content/big_buck_bunny_720p_surround.mp4</code></li>
+        <li>Once the download has completed, run <code>totem big_buck_bunny_720p_surround.mp4</code></li>
+        <li>The utility may prompt to install codecs; accept the recommendation
+          and install whatever codecs are required</li>
+      </ul>
+    </dt>
+    <dd>
+      Check the video plays smoothly, and that audio is output through the
+      monitor, or speakers / headset plugged into the monitor
+    </dd>
+  
+    
+    <dt>
+      Press <tt>Super+L</tt> and wait for the lock screen to appear, then
+      fade, then for the monitor to suspend. Move the mouse to wake up the
+      monitor, then enter your password to unlock the desktop.
+    </dt>
+    <dd>
+      Ensure the monitor suspends correctly, that it awakens again correctly,
+      and that the desktop unlocks successfully (without the system hanging).
+    </dd>
+  
+  
+    </dl>
+    <p>If <strong>all</strong> actions produce the expected results listed,
+      please <a href="results#add_result">submit</a> a 'passed' result.</p>
+    <p>If <strong>any</strong> action fails, or produces an unexpected result,
+      please <a href="results#add_result">submit</a> a 'failed' result and <a href="../../buginstructions">file a bug</a>. Please be sure to include
+      the bug number when you <a href="results#add_result">submit</a> your
+      result.</p>
+  
\ No newline at end of file
-- 
Mailing list: https://launchpad.net/~canonical-ubuntu-qa
Post to     : canonical-ubuntu-qa@lists.launchpad.net
Unsubscribe : https://launchpad.net/~canonical-ubuntu-qa
More help   : https://help.launchpad.net/ListHelp

Reply via email to