Documentation/admin-guide/media/building.rst
Source file repositories/reference/linux-study-clean/Documentation/admin-guide/media/building.rst
File Facts
- System
- Linux kernel
- Corpus path
Documentation/admin-guide/media/building.rst- Extension
.rst- Size
- 12195 bytes
- Lines
- 358
- Domain
- Support Tooling And Documentation
- Bucket
- Documentation
- Inferred role
- Support Tooling And Documentation: documentation
- Status
- atlas-only
Why This File Exists
Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
- Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
- No top-level syscall, struct, function, initcall, or export declaration detected by the generator.
Annotated Snippet
.. SPDX-License-Identifier: GPL-2.0
===================================
Building support for a media device
===================================
The first step is to download the Kernel's source code, either via a
distribution-specific source file or via the Kernel's main git tree\ [1]_.
Please notice, however, that, if:
- you're a braveheart and want to experiment with new stuff;
- if you want to report a bug;
- if you're developing new patches
you should use the main media development tree ``master`` branch:
https://git.linuxtv.org/media.git/
In this case, you may find some useful information at the
`LinuxTv wiki pages <https://linuxtv.org/wiki>`_:
https://linuxtv.org/wiki/index.php/How_to_Obtain,_Build_and_Install_V4L-DVB_Device_Drivers
.. [1] The upstream Linux Kernel development tree is located at
https://git.kernel.org/pub/scm/li nux/kernel/git/torvalds/linux.git/
Configuring the Linux Kernel
============================
You can access a menu of Kernel building options with::
$ make menuconfig
Then, select all desired options and exit it, saving the configuration.
The changed configuration will be at the ``.config`` file. It would
look like::
...
# CONFIG_RC_CORE is not set
# CONFIG_CEC_CORE is not set
CONFIG_MEDIA_SUPPORT=m
CONFIG_MEDIA_SUPPORT_FILTER=y
...
The media subsystem is controlled by those menu configuration options::
Device Drivers --->
<M> Remote Controller support --->
[ ] HDMI CEC RC integration
[ ] Enable CEC error injection support
[*] HDMI CEC drivers --->
<*> Multimedia support --->
The ``Remote Controller support`` option enables the core support for
remote controllers\ [2]_.
The ``HDMI CEC RC integration`` option enables integration of HDMI CEC
with Linux, allowing to receive data via HDMI CEC as if it were produced
by a remote controller directly connected to the machine.
The ``HDMI CEC drivers`` option allow selecting platform and USB drivers
that receives and/or transmits CEC codes via HDMI interfaces\ [3]_.
The last option (``Multimedia support``) enables support for cameras,
audio/video grabbers and TV.
The media subsystem support can either be built together with the main
Annotation
- Atlas domain: Support Tooling And Documentation / Documentation.
- Implementation status: atlas-only.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.