Enhance Raspberry Pi OS image handling and dashboard UI

Update the API to support streaming and decompressing of golden images in .img.xz and .img.gz formats on the fly. Modify the cloud-init build process to compress images to .img.xz for size reduction. Revise the dashboard templates to set 'desktop' as the default variant for Raspberry Pi OS builds, improving user experience and clarity in options. Update related scripts to ensure compatibility with the new image handling features.
This commit is contained in:
nearxos
2026-02-23 10:11:15 +02:00
parent 8b4930d4b9
commit 0bbd62213c
5 changed files with 86 additions and 16 deletions

View File

@@ -67,7 +67,7 @@
<p style="font-size:0.9rem; color:var(--text-dim); margin-bottom:0.75rem;">Download latest Raspberry Pi OS (arm64), inject cloud-init. Output goes to <strong>Cloud-init images</strong> on the Admin page.</p>
<div style="margin-bottom:0.5rem;">
<label>Variant:</label>
<select id="buildVariant"><option value="lite">Lite</option><option value="full">Full</option></select>
<select id="buildVariant"><option value="desktop" selected>Desktop (recommended)</option><option value="lite">Lite</option><option value="full">Full</option></select>
<span id="buildRaspiosUrl" class="mono" style="margin-left:0.5rem;"></span>
</div>
<div style="margin-bottom:0.5rem;"><label><input type="checkbox" id="buildSetGolden" /> Set as golden after build</label></div>

View File

@@ -431,8 +431,9 @@
<div style="margin-bottom:0.5rem;">
<label>Variant: </label>
<select id="buildVariant">
<option value="desktop" selected>Desktop (recommended)</option>
<option value="lite">Lite (no desktop)</option>
<option value="full">Full (desktop)</option>
<option value="full">Full (desktop + software)</option>
</select>
<span id="buildRaspiosUrl" class="backups-mono" style="font-size:0.8rem; margin-left:0.5rem;"></span>
</div>
@@ -800,7 +801,7 @@
function getBuildVariant() {
var sel = document.getElementById('buildVariant');
return (sel && sel.value) ? sel.value : 'lite';
return (sel && sel.value) ? sel.value : 'desktop';
}
function fetchRaspiosUrl() {
var variant = getBuildVariant();