dracut-install: Add support for compressed firmware files

The upcoming kernel will have a support for loading compressed
firmware files, and this patch corresponds to that kernel change.
When a firmware file with the extra .xz extension is found, dracut
copies to initrd as fallback.  Since initrd itself is compressed, the
file is uncompressed in initrd beforehand.
master
Takashi Iwai 2019-05-08 07:12:06 +02:00 committed by Daniel Molkentin
parent 9f96bb4c73
commit dc86c12c45
1 changed files with 10 additions and 2 deletions

View File

@ -917,8 +917,16 @@ install_kmod_with_fw() {
for _fw in $(modinfo -k $kernel -F firmware $1 2>/dev/null); do
_found=''
for _fwdir in $fw_dir; do
[[ -d $_fwdir && -f $_fwdir/$_fw ]] || continue
inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw"
[[ -d $_fwdir ]] || continue
if [[ -f $_fwdir/$_fw ]]; then
inst_simple "$_fwdir/$_fw" "/lib/firmware/$_fw"
elif [[ -f $_fwdir/$_fw.xz ]]; then
inst_simple "$_fwdir/$_fw.xz" "/lib/firmware/$_fw.xz"
rm -f "${initdir}/lib/firmware/$_fw"
unxz -f "${initdir}/lib/firmware/$_fw.xz"
else
continue
fi
_found=yes
done
if [[ $_found != yes ]]; then