Monorepo for Aesthetic.Computer aesthetic.computer
4
fork

Configure Feed

Select the types of activity you want to include in your feed.

build-initramfs: fix zstd-compressed firmware not being decompressed

The iwlwifi firmware copy only handled .xz decompression but Ubuntu
ships .zst compressed firmware. The kernel has CONFIG_FW_LOADER_COMPRESS
disabled, so compressed firmware causes a boot panic. Now properly
decompresses .zst files for iwlwifi, regulatory.db, and all firmware.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

+13 -2
+13 -2
fedac/native/scripts/build-and-flash-initramfs.sh
··· 392 392 mkdir -p "${INITRAMFS_DIR}/lib/firmware" 393 393 # Regulatory database (required for WiFi scanning) 394 394 for rdb in regulatory.db regulatory.db.p7s; do 395 - [ -f "/lib/firmware/$rdb" ] && cp "/lib/firmware/$rdb" "${INITRAMFS_DIR}/lib/firmware/" 395 + if [ -f "/lib/firmware/$rdb" ]; then 396 + cp "/lib/firmware/$rdb" "${INITRAMFS_DIR}/lib/firmware/" 397 + elif [ -f "/lib/firmware/${rdb}.zst" ]; then 398 + zstd -d "/lib/firmware/${rdb}.zst" -o "${INITRAMFS_DIR}/lib/firmware/$rdb" 2>/dev/null 399 + elif [ -f "/lib/firmware/${rdb}.xz" ]; then 400 + xz -dk "/lib/firmware/${rdb}.xz" -c > "${INITRAMFS_DIR}/lib/firmware/$rdb" 2>/dev/null 401 + fi 396 402 done 397 403 for pattern in "iwlwifi-9260-th-b0-jf-b0-*" "iwlwifi-cc-a0-*" "iwlwifi-QuZ-a0-hr-b0-*" "iwlwifi-QuZ-a0-jf-b0-*"; do 398 404 # Get the latest (highest version number) firmware file 399 405 fw=$(ls -v /lib/firmware/${pattern}.ucode* 2>/dev/null | tail -1 || true) 400 406 if [ -n "$fw" ] && [ -f "$fw" ]; then 401 407 dest="${INITRAMFS_DIR}/lib/firmware/$(basename "${fw%.xz}")" 402 - xz -dk "$fw" -c > "$dest" 2>/dev/null || cp "$fw" "$dest" 408 + dest="${dest%.zst}" 409 + case "$fw" in 410 + *.xz) xz -dk "$fw" -c > "$dest" 2>/dev/null || cp "$fw" "$dest" ;; 411 + *.zst) zstd -d "$fw" -o "$dest" 2>/dev/null || cp "$fw" "$dest" ;; 412 + *) cp "$fw" "$dest" ;; 413 + esac 403 414 log " firmware: $(basename "$dest") ($(du -sh "$dest" | cut -f1))" 404 415 fi 405 416 done