Linux media trees for the LinuxTV media_build tiers of synokernel-linuxtv.
What these are
media_build builds the media drivers of a recent Linux out of tree, against an older kernel.
It does not ship those drivers itself: it packs the media subsystem of one mainline commit into
linux-media.tar.bz2 (make tar) and unpacks it into its own tree (make untar).
media_build is no longer maintained, and building each archive from a full GitHub archive of
Linux proved unreliable in CI.
Each archive below is that make tar output, for the mainline commit one driver/linuxtv-*
tier is frozen against: the media drivers, staging media, the headers media_build bundles,
git_log and kernel_version.h. About 7 MB each, instead of the 160 to 210 MB of a full Linux
archive the tiers used to download and cut down at every build.
How they are used
Nothing here is downloaded by hand. cross/linux-media-<date> fetches its archive and leaves
it packed; the tier that depends on it copies it into media_build/linux/ and runs
make untar.
| Archive | Mainline commit | Package | Tier |
|---|---|---|---|
linux-media-2018-08-07-51be5a2b43f8.tar.bz2
| 51be5a2b43f8
| cross/linux-media-2018.08.07
| driver/linuxtv-3.2 (kernels 3.2 to 3.9)
|
linux-media-2021-01-08-321af22a3d2f.tar.bz2
| 321af22a3d2f
| cross/linux-media-2021.01.08
| driver/linuxtv-3.10 (kernels 3.10 to 4.3, and 4.4 on gcc 4.9)
|
linux-media-2022-06-05-f2906aa86338.tar.bz2
| f2906aa86338 (v5.19-rc1)
| cross/linux-media-2022.06.05
| driver/linuxtv-4.4 (kernels 4.4 and later, gcc 5.1 and later)
|
How to rebuild them
Each archive is built by the native/ package of the same name, from the spksrc root:
make -C native/linux-media-2022.06.05
It downloads the GitHub archive of the mainline commit (LINUX_COMMIT) and the media_build
revision of its tier (MEDIA_BUILD), runs media_build's make tar, and leaves
linux-media-<date>-<commit>.tar.bz2 in native/linux-media-<date>/
(mk/spksrc.native/linux-media.mk).
The content is reproducible, not the bytes: tar records the time of the build. So the
archives here are fixed once uploaded, their SHA1, SHA256 and MD5 recorded in the digests
of each cross/linux-media-<date>:
- a new tree (another commit or media_build revision) is a new
native/and
cross/linux-media-<date>pair, uploaded under its own name, followed bymake digests
in thecross/package; - a rebuild of a published archive is only for one that went missing here: upload it under
the same name, and runmake digestsin thecross/package, as its bytes changed.
Introduced by #7656.