<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
Hi everyone,</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<br>
</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
     I would like to ask, is virtual a variable defined by bitbake? I did not find it in the bitbake manual. What is the use of the virtual variable? What would be the problem without this variable?</div>
<div style="font-family: Calibri, Arial, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0);">
<div style="font-weight: 400; color: rgb(51, 51, 51); font-family: Verdana, Sans, sans-serif; font-size: medium; orphans: 2; widows: 2; background-color: rgb(255, 255, 255)">
<div>
<div>
<h2 style="font-family: Arial, Sans; color: rgb(0, 85, 125); clear: both; margin: 2em 0em 0.66em; padding: 0.5em 0em 0em; font-size: 1.5em; font-weight: bold">
2.4. Preferences<span><a alt="Permalink" title="Permalink" href="https://www.yoctoproject.org/docs/latest/bitbake-user-manual/bitbake-user-manual.html#bb-bitbake-preferences" style="text-decoration: underline; color: rgb(238, 238, 238); background-position: initial initial; background-repeat: initial initial">¶</a></span></h2>
</div>
</div>
</div>
<p style="font-weight: 400; line-height: 1.5em; margin-top: 0em; color: rgb(51, 51, 51); font-family: Verdana, Sans, sans-serif; font-size: medium; orphans: 2; widows: 2; background-color: rgb(255, 255, 255)">
The<span> </span><code style="font-family: Courier, monospace">PROVIDES</code><span> </span>list is only part of the solution for figuring out a target's recipes. Because targets might have multiple providers, BitBake needs to prioritize providers by determining
 provider preferences.</p>
<p style="font-weight: 400; line-height: 1.5em; margin-top: 0em; color: rgb(51, 51, 51); font-family: Verdana, Sans, sans-serif; font-size: medium; orphans: 2; widows: 2; background-color: rgb(255, 255, 255)">
A common example in which a target has multiple providers is "virtual/kernel", which is on the<span> </span><code style="font-family: Courier, monospace">PROVIDES</code><span> </span>list for each kernel recipe. Each machine often selects the best kernel provider
 by using a line similar to the following in the machine configuration file:</p>
<pre style="font-weight: 400; overflow: auto; color: rgb(51, 51, 51); orphans: 2; widows: 2; background-color: rgb(255, 255, 255)">     PREFERRED_PROVIDER_virtual/kernel = "linux-yocto"</pre>
<br>
</div>
</body>
</html>