Files
KernelSU/assets/pt_BR_guide_how-to-build.md.50a0b380.js
2023-10-25 09:02:53 +00:00

5 lines
8.1 KiB
JavaScript
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import{_ as s,o,c as e,O as a}from"./chunks/framework.43781440.js";const h=JSON.parse('{"title":"Como construir o KernelSU?","description":"","frontmatter":{},"headers":[],"relativePath":"pt_BR/guide/how-to-build.md","filePath":"pt_BR/guide/how-to-build.md"}'),n={name:"pt_BR/guide/how-to-build.md"},l=a(`<h1 id="como-construir-o-kernelsu" tabindex="-1">Como construir o KernelSU? <a class="header-anchor" href="#como-construir-o-kernelsu" aria-label="Permalink to &quot;Como construir o KernelSU?&quot;"></a></h1><p>Primeiro, você deve ler a documentação oficial do Android para construção do kernel:</p><ol><li><a href="https://source.android.com/docs/setup/build/building-kernels" target="_blank" rel="noreferrer">Como criar kernels</a></li><li><a href="https://source.android.com/docs/core/architecture/kernel/gki-release-builds" target="_blank" rel="noreferrer">Builds de versão de imagem genérica do kernel (GKI)</a></li></ol><div class="warning custom-block"><p class="custom-block-title">AVISO</p><p>Esta página é para dispositivos GKI, se você usa um kernel antigo, consulte <a href="./how-to-integrate-for-non-gki.html">Como integrar o KernelSU para kernels não GKI</a>.</p></div><h2 id="construir-o-kernel" tabindex="-1">Construir o kernel <a class="header-anchor" href="#construir-o-kernel" aria-label="Permalink to &quot;Construir o kernel&quot;"></a></h2><h3 id="sincronize-o-codigo-fonte-do-kernel" tabindex="-1">Sincronize o código-fonte do kernel <a class="header-anchor" href="#sincronize-o-codigo-fonte-do-kernel" aria-label="Permalink to &quot;Sincronize o código-fonte do kernel&quot;"></a></h3><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">repo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">init</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-u</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">https://android.googlesource.com/kernel/manifest</span></span>
<span class="line"><span style="color:#FFCB6B;">mv</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&lt;</span><span style="color:#C3E88D;">kernel_manifest.xm</span><span style="color:#A6ACCD;">l</span><span style="color:#89DDFF;">&gt;</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">.repo/manifests</span></span>
<span class="line"><span style="color:#FFCB6B;">repo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">init</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-m</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">manifest.xml</span></span>
<span class="line"><span style="color:#FFCB6B;">repo</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">sync</span></span></code></pre></div><p>O <code>&lt;kernel_manifest.xml&gt;</code> é um arquivo de manifesto que pode determinar uma construção exclusivamente, você pode usar o manifesto para fazer uma construção re-preduzível. Você deve baixar o arquivo de manifesto em <a href="https://source.android.com/docs/core/architecture/kernel/gki-release-builds" target="_blank" rel="noreferrer">compilações de lançamento do Google GKI</a>.</p><h3 id="construir" tabindex="-1">Construir <a class="header-anchor" href="#construir" aria-label="Permalink to &quot;Construir&quot;"></a></h3><p>Por favor, verifique <a href="https://source.android.com/docs/setup/build/building-kernels" target="_blank" rel="noreferrer">Como criar kernels</a> primeiro.</p><p>Por exemplo, precisamos construir a imagem do kernel <code>aarch64</code>:</p><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#A6ACCD;">LTO</span><span style="color:#89DDFF;">=</span><span style="color:#C3E88D;">thin</span><span style="color:#A6ACCD;"> BUILD_CONFIG</span><span style="color:#89DDFF;">=</span><span style="color:#C3E88D;">common/build.config.gki.aarch64</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">build/build.sh</span></span></code></pre></div><p>Não se esqueça de adicionar o sinalizador <code>LTO=thin</code>, caso contrário a compilação poderá falhar se a memória do seu computador for inferior a 24 GB.</p><p>A partir do Android 13, o kernel é construído pelo <code>bazel</code>:</p><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">tools/bazel</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">build</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">--config=fast</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">//common:kernel_aarch64_dist</span></span></code></pre></div><h2 id="construir-o-kernel-com-kernelsu" tabindex="-1">Construir o kernel com KernelSU <a class="header-anchor" href="#construir-o-kernel-com-kernelsu" aria-label="Permalink to &quot;Construir o kernel com KernelSU&quot;"></a></h2><p>Se você conseguir construir o kernel com sucesso, então construir o KernelSU é muito fácil. Selecione qualquer um executado no diretório raiz de origem do kernel:</p><ul><li>Tag mais recente (estável)</li></ul><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-LSs</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh</span><span style="color:#89DDFF;">&quot;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-</span></span></code></pre></div><ul><li>branch principal (dev)</li></ul><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-LSs</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh</span><span style="color:#89DDFF;">&quot;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-s</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">main</span></span></code></pre></div><ul><li>Selecione a tag (Como v0.5.2)</li></ul><div class="language-sh"><button title="Copy Code" class="copy"></button><span class="lang">sh</span><pre class="shiki material-theme-palenight"><code><span class="line"><span style="color:#FFCB6B;">curl</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-LSs</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">&quot;</span><span style="color:#C3E88D;">https://raw.githubusercontent.com/tiann/KernelSU/main/kernel/setup.sh</span><span style="color:#89DDFF;">&quot;</span><span style="color:#A6ACCD;"> </span><span style="color:#89DDFF;">|</span><span style="color:#A6ACCD;"> </span><span style="color:#FFCB6B;">bash</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">-s</span><span style="color:#A6ACCD;"> </span><span style="color:#C3E88D;">v0.5.2</span></span></code></pre></div><p>E então reconstrua o kernel e você obterá uma imagem do kernel com KernelSU!</p>`,24),r=[l];function t(p,c,i,d,u,C){return o(),e("div",null,r)}const y=s(n,[["render",t]]);export{h as __pageData,y as default};