kernel-firmware/README.build
Takashi Iwai bff9c53fe6 - Update to version 20241018 (git commit 2f0464118f40):
* check_whence.py: skip some validation if git ls-files fails
  * qcom: Add Audio firmware for X1E80100 CRD/QCPs
  * amdgpu: DMCUB updates forvarious AMDGPU ASICs
  * brcm: replace NVRAM for Jetson TX1
  * rtlwifi: Update firmware for RTL8192FU to v7.3
  * make: separate installation and de-duplication targets
  * check_whence.py: check the permissions
  * Remove execute bit from firmware files
  * configure: remove unused file
  * rtl_nic: add firmware rtl8125d-1

- Update to version 20241014 (git commit 99f9c7ed1f4a):
  * iwlwifi: add gl/Bz FW for core91-69 release
  * iwlwifi: update ty/So/Ma firmwares for core91-69 release
  * iwlwifi: update cc/Qu/QuZ firmwares for core91-69 release
  * cirrus: cs35l56: Add firmware for Cirrus CS35L56 for a Lenovo Laptop
  * cirrus: cs35l56: Add firmware for Cirrus CS35L56 for some ASUS laptops
  * cirrus: cs35l56: Add firmware for Cirrus Amps for some HP laptops
  * linux-firmware: update firmware for en8811h 2.5G ethernet phy
  * QCA: Add Bluetooth firmwares for WCN785x with UART transport

- Update to version 20241011 (git commit 808cba847c70):
  * mtk_wed: add firmware for mt7988 Wireless Ethernet Dispatcher
  * ath12k: WCN7850 hw2.0: update board-2.bin (bsc#1230596)
  * ath12k: QCN9274 hw2.0: add to WLAN.WBE.1.3.1-00162-QCAHKSWPL_SILICONZ-1
  * ath12k: QCN9274 hw2.0: add board-2.bin
  * copy-firmware.sh: rename variables in symlink hanlding
  * copy-firmware.sh: remove no longer reachable test -L
  * copy-firmware.sh: remove no longer reachable test -f

OBS-URL: https://build.opensuse.org/package/show/Kernel:HEAD/kernel-firmware?expand=0&rev=506
2024-10-21 15:14:17 +00:00

118 lines
3.5 KiB
Plaintext

FILES
=====
topicdefs:
Definitions of each flavor (topic) and description;
the description is filled into spec file
topicprovs:
Additional Provides and Obsoletes of each topic
topics.list:
Mapping between WHENCE entries and topics.
Each line consists of two or more items. The first column is
the first word of the WHENCE "Driver:" entry line to match.
The second column is the topic/flavor, and the rest columns
are the module names. If no module name is provided, the same
word as the first column is used as the module name.
The validity with the latest kernel binary packages can be
checked with check-topic.py script below.
licenses.list:
List of license files for each WHENCE entry.
aliases.list:
List of module aliases for each module.
This is updated by update-alises.py script below.
extrawhence:
Additional WHENCE entries for the own firmware files.
kernel-firmware.spec.in:
The spec file template. Edit this and generate
kernel-firmware.spec dynamically via makespec.sh script.
makespec.sh:
A script to combine the spec template and other info into the
final kernel-firmware.spec.
check-topic.py:
A program to check the validity of topics.list. Pass the
latest WHENCE file and the kernel RPM files to verify.
update-aliases.py:
A program to update aliases.list from the latest kernel RPM
files. Pass kernel RPM files as arguments.
install-split.sh:
A helper script to copy the files based on WHENCE like the
above, but also to create a file list for each topic in
files-$TOPIC file. The installed files are compressed with
xz, as well as symlinks.
list-license.sh:
A helper script to add file list entries for the corresponding
license files for each topic. It parses licenses.list.
get_supplements.sh:
A helper script to create Supplements entries for each topic
from aliases.list above.
MAINTENANCE WORKS
=================
Upon the update of linux-firmware.git
-------------------------------------
update the kernel-firmware tarball as usual:
% cd linux-firmware
% git archive --format=tar --prefix=kernel-firmware-$version/ -v master ./ \
| xz -9 -M 4G --check=crc32 -T 4 > /tmp/kernel-firmware-$version.tar.xz
Run check-topic.py to verify whether new entries are added:
% python3 ./check-topic.py /somewhere/WHENCE /rpms/kernel-default-*.rpm
Update topics.list accordingly if new entry was added or updated in
WHENCE:
If new modules are added, update aliases.list as well:
% python3 ./update-aliases.py /rpms/kernel-default-*.rpm
After the update of these files, recreate kernel-firmware.spec by
makespec.sh script:
% sh ./makespec.sh 20190712 < kernel-firmware.spec.in > kernel-firmware.spec
where the argument is the version of the kernel firmware package.
And, don't forget to update kernel-firmware.changes accordingly.
Upon the update of kernel binary rpms
-------------------------------------
Again, run check-topic.py and update-aliases.py for the new kernel RPM
files, and rebuild kernel-firmware.spec.
Adding own firmware binaries
----------------------------
The new packaging relies purely on WHENCE file for counting the
installed files. You have to either patch WHENCE file or put your own
stuff into extrawhence file, at least with "Driver:" and "File"
entries. The extrawhence file is concatenated to WHENCE file at
building a package.
Creating a new kernel-firmware subpackage flavor
------------------------------------------------
Edit topicdefs file and add the new entry, and update topics.list and
licenses.list accordingly (these have to be updated manually).