1*ef7eb3a4SDaniel Pereira.. SPDX-License-Identifier: GPL-2.0 2*ef7eb3a4SDaniel Pereira 3*ef7eb3a4SDaniel Pereira.. _pt_BR_readme: 4*ef7eb3a4SDaniel Pereira 5*ef7eb3a4SDaniel PereiraVersão 6.x do kernel Linux <http://kernel.org/> 6*ef7eb3a4SDaniel Pereira=============================================== 7*ef7eb3a4SDaniel Pereira 8*ef7eb3a4SDaniel PereiraEstas são as notas de lançamento da versão 6 do Linux. Leia-as com atenção, 9*ef7eb3a4SDaniel Pereirapois elas dizem do que se trata tudo isso, explicam como instalar o kernel e 10*ef7eb3a4SDaniel Pereirao que fazer se algo der errado. 11*ef7eb3a4SDaniel Pereira 12*ef7eb3a4SDaniel PereiraO que é o Linux? 13*ef7eb3a4SDaniel Pereira---------------- 14*ef7eb3a4SDaniel Pereira 15*ef7eb3a4SDaniel Pereira O Linux é um clone do sistema operacional Unix, escrito do zero por Linus 16*ef7eb3a4SDaniel Pereira Torvalds com a ajuda de uma equipe pouco organizada de hackers espalhados 17*ef7eb3a4SDaniel Pereira pela Internet. Ele busca a conformidade com o POSIX e com a Single UNIX 18*ef7eb3a4SDaniel Pereira Specification. 19*ef7eb3a4SDaniel Pereira 20*ef7eb3a4SDaniel Pereira Possui todos os recursos que você esperaria de um Unix moderno e completo, 21*ef7eb3a4SDaniel Pereira incluindo multitarefa real, memória virtual, bibliotecas compartilhadas, 22*ef7eb3a4SDaniel Pereira carregamento sob demanda (demand loading), executáveis compartilhados com 23*ef7eb3a4SDaniel Pereira cópia-na-escrita (copy-on-write), gerenciamento de memória adequado e rede 24*ef7eb3a4SDaniel Pereira multipilha, incluindo IPv4 e IPv6. 25*ef7eb3a4SDaniel Pereira 26*ef7eb3a4SDaniel Pereira É distribuído sob a GNU General Public License v2 --- veja o arquivo 27*ef7eb3a4SDaniel Pereira COPYING que o acompanha para mais detalhes. 28*ef7eb3a4SDaniel Pereira 29*ef7eb3a4SDaniel PereiraEm qual hardware ele roda? 30*ef7eb3a4SDaniel Pereira-------------------------- 31*ef7eb3a4SDaniel Pereira 32*ef7eb3a4SDaniel Pereira Embora tenha sido originalmente desenvolvido primeiro para PCs de 32 bits 33*ef7eb3a4SDaniel Pereira baseados em x86 (386 ou superior), hoje o Linux também roda (pelo menos) 34*ef7eb3a4SDaniel Pereira nas arquiteturas Compaq Alpha AXP, Sun SPARC e UltraSPARC, Motorola 68000, 35*ef7eb3a4SDaniel Pereira PowerPC, PowerPC64, ARM, Hitachi SuperH, Cell, IBM S/390, MIPS, HP PA-RISC, 36*ef7eb3a4SDaniel Pereira Intel IA-64, DEC VAX, AMD x86-64 Xtensa e ARC. 37*ef7eb3a4SDaniel Pereira 38*ef7eb3a4SDaniel Pereira O Linux é facilmente portável para a maioria das arquiteturas de propósito 39*ef7eb3a4SDaniel Pereira geral de 32 ou 64 bits, desde que possuam uma unidade de gerenciamento de 40*ef7eb3a4SDaniel Pereira memória paginada (PMMU) e um port do compilador C da GNU (gcc), parte da 41*ef7eb3a4SDaniel Pereira GNU Compiler Collection (GCC). O Linux também já foi portado para diversas 42*ef7eb3a4SDaniel Pereira arquiteturas sem PMMU, embora a funcionalidade fique, obviamente, um tanto 43*ef7eb3a4SDaniel Pereira limitada. 44*ef7eb3a4SDaniel Pereira O Linux também foi portado para si mesmo. Você pode agora executar o kernel 45*ef7eb3a4SDaniel Pereira como uma aplicação de espaço de usuário --- isso se chama UserMode Linux 46*ef7eb3a4SDaniel Pereira (UML). 47*ef7eb3a4SDaniel Pereira 48*ef7eb3a4SDaniel PereiraDocumentação 49*ef7eb3a4SDaniel Pereira------------ 50*ef7eb3a4SDaniel Pereira 51*ef7eb3a4SDaniel Pereira - Há muita documentação disponível, tanto em formato eletrônico na Internet 52*ef7eb3a4SDaniel Pereira quanto em livros, tanto específica do Linux quanto referente a questões 53*ef7eb3a4SDaniel Pereira gerais do UNIX. Eu recomendaria procurar nos subdiretórios de documentação 54*ef7eb3a4SDaniel Pereira de qualquer site FTP do Linux pelos livros do LDP (Linux Documentation 55*ef7eb3a4SDaniel Pereira Project). Este README não pretende ser a documentação do sistema: existem 56*ef7eb3a4SDaniel Pereira fontes muito melhores disponíveis. 57*ef7eb3a4SDaniel Pereira 58*ef7eb3a4SDaniel Pereira - Existem vários arquivos README no subdiretório Documentation/: eles 59*ef7eb3a4SDaniel Pereira normalmente contêm notas de instalação específicas do kernel para alguns 60*ef7eb3a4SDaniel Pereira drivers, por exemplo. Por favor, leia o arquivo 61*ef7eb3a4SDaniel Pereira Documentation/translations/pt_BR/process/changes.rst, pois ele contém 62*ef7eb3a4SDaniel Pereira informações sobre os problemas que podem resultar da atualização do seu 63*ef7eb3a4SDaniel Pereira kernel. 64*ef7eb3a4SDaniel Pereira 65*ef7eb3a4SDaniel PereiraInstalando o código-fonte do kernel 66*ef7eb3a4SDaniel Pereira----------------------------------- 67*ef7eb3a4SDaniel Pereira 68*ef7eb3a4SDaniel Pereira - Se você instalar as fontes completas, coloque o tarball do kernel em um 69*ef7eb3a4SDaniel Pereira diretório no qual você tenha permissões (por exemplo, o seu diretório 70*ef7eb3a4SDaniel Pereira pessoal) e o descompacte:: 71*ef7eb3a4SDaniel Pereira 72*ef7eb3a4SDaniel Pereira xz -cd linux-6.x.tar.xz | tar xvf - 73*ef7eb3a4SDaniel Pereira 74*ef7eb3a4SDaniel Pereira Substitua "X" pelo número da versão do kernel mais recente. 75*ef7eb3a4SDaniel Pereira 76*ef7eb3a4SDaniel Pereira NÃO use a área /usr/src/linux! Essa área possui um conjunto (geralmente 77*ef7eb3a4SDaniel Pereira incompleto) de cabeçalhos do kernel que são usados pelos arquivos de 78*ef7eb3a4SDaniel Pereira cabeçalho da biblioteca. Eles devem corresponder à biblioteca, e não ser 79*ef7eb3a4SDaniel Pereira bagunçados por qualquer que seja o kernel-do-dia. 80*ef7eb3a4SDaniel Pereira 81*ef7eb3a4SDaniel Pereira - Você também pode atualizar entre versões 6.x aplicando patches. Os patches 82*ef7eb3a4SDaniel Pereira são distribuídos no formato xz. Para instalar aplicando patches, obtenha 83*ef7eb3a4SDaniel Pereira todos os arquivos de patch mais novos, entre no diretório de nível 84*ef7eb3a4SDaniel Pereira superior do código-fonte do kernel (linux-6.x) e execute:: 85*ef7eb3a4SDaniel Pereira 86*ef7eb3a4SDaniel Pereira xz -cd ../patch-6.x.xz | patch -p1 87*ef7eb3a4SDaniel Pereira 88*ef7eb3a4SDaniel Pereira Substitua "x" para todas as versões maiores que a versão "x" da sua árvore 89*ef7eb3a4SDaniel Pereira de fontes atual, **em ordem**, e deve dar tudo certo. Talvez você queira 90*ef7eb3a4SDaniel Pereira remover os arquivos de backup (algum-nome-de-arquivo~ ou 91*ef7eb3a4SDaniel Pereira algum-nome-de-arquivo.orig) e certificar-se de que não há patches que 92*ef7eb3a4SDaniel Pereira falharam (algum-nome-de-arquivo# ou algum-nome-de-arquivo.rej). Se 93*ef7eb3a4SDaniel Pereira houver, ou você ou eu cometemos um erro. 94*ef7eb3a4SDaniel Pereira 95*ef7eb3a4SDaniel Pereira Diferentemente dos patches para os kernels 6.x, os patches para os kernels 96*ef7eb3a4SDaniel Pereira 6.x.y (também conhecidos como kernels -stable) não são incrementais; em vez 97*ef7eb3a4SDaniel Pereira disso, eles se aplicam diretamente ao kernel 6.x base. Por exemplo, se o 98*ef7eb3a4SDaniel Pereira seu kernel base é o 6.0 e você quer aplicar o patch 6.0.3, você não deve 99*ef7eb3a4SDaniel Pereira aplicar antes os patches 6.0.1 e 6.0.2. Da mesma forma, se você está 100*ef7eb3a4SDaniel Pereira rodando a versão 6.0.2 do kernel e quer saltar para a 6.0.3, você deve 101*ef7eb3a4SDaniel Pereira primeiro reverter o patch 6.0.2 (ou seja, patch -R) **antes** de aplicar o 102*ef7eb3a4SDaniel Pereira patch 6.0.3. Você pode ler mais sobre isso em 103*ef7eb3a4SDaniel Pereira Documentation/translations/pt_BR/process/applying-patches.rst. 104*ef7eb3a4SDaniel Pereira 105*ef7eb3a4SDaniel Pereira Como alternativa, o script patch-kernel pode ser usado para automatizar 106*ef7eb3a4SDaniel Pereira esse processo. Ele determina a versão atual do kernel e aplica quaisquer 107*ef7eb3a4SDaniel Pereira patches encontrados:: 108*ef7eb3a4SDaniel Pereira 109*ef7eb3a4SDaniel Pereira linux/scripts/patch-kernel linux 110*ef7eb3a4SDaniel Pereira 111*ef7eb3a4SDaniel Pereira O primeiro argumento no comando acima é a localização do código-fonte do 112*ef7eb3a4SDaniel Pereira kernel. Os patches são aplicados a partir do diretório atual, mas um 113*ef7eb3a4SDaniel Pereira diretório alternativo pode ser especificado como segundo argumento. 114*ef7eb3a4SDaniel Pereira 115*ef7eb3a4SDaniel Pereira - Certifique-se de que não há arquivos .o e dependências obsoletos espalhados 116*ef7eb3a4SDaniel Pereira por aí:: 117*ef7eb3a4SDaniel Pereira 118*ef7eb3a4SDaniel Pereira cd linux 119*ef7eb3a4SDaniel Pereira make mrproper 120*ef7eb3a4SDaniel Pereira 121*ef7eb3a4SDaniel Pereira Agora você deve ter as fontes instaladas corretamente. 122*ef7eb3a4SDaniel Pereira 123*ef7eb3a4SDaniel PereiraRequisitos de software 124*ef7eb3a4SDaniel Pereira---------------------- 125*ef7eb3a4SDaniel Pereira 126*ef7eb3a4SDaniel Pereira Compilar e executar os kernels 6.x exige versões atualizadas de vários 127*ef7eb3a4SDaniel Pereira pacotes de software. Consulte 128*ef7eb3a4SDaniel Pereira Documentation/translations/pt_BR/process/changes.rst para os números de 129*ef7eb3a4SDaniel Pereira versão mínimos exigidos e como obter atualizações desses pacotes. Esteja 130*ef7eb3a4SDaniel Pereira ciente de que usar versões excessivamente antigas desses pacotes pode 131*ef7eb3a4SDaniel Pereira causar erros indiretos, muito difíceis de rastrear; portanto, não presuma 132*ef7eb3a4SDaniel Pereira que basta atualizar os pacotes quando problemas óbvios surgirem durante a 133*ef7eb3a4SDaniel Pereira compilação ou a execução. 134*ef7eb3a4SDaniel Pereira 135*ef7eb3a4SDaniel PereiraDiretório de compilação do kernel 136*ef7eb3a4SDaniel Pereira--------------------------------- 137*ef7eb3a4SDaniel Pereira 138*ef7eb3a4SDaniel Pereira Ao compilar o kernel, todos os arquivos de saída serão, por padrão, 139*ef7eb3a4SDaniel Pereira armazenados junto com o código-fonte do kernel. 140*ef7eb3a4SDaniel Pereira Usar a opção ``make O=output/dir`` permite especificar um local alternativo 141*ef7eb3a4SDaniel Pereira para os arquivos de saída (incluindo o .config). 142*ef7eb3a4SDaniel Pereira Exemplo:: 143*ef7eb3a4SDaniel Pereira 144*ef7eb3a4SDaniel Pereira código-fonte do kernel: /usr/src/linux-6.x 145*ef7eb3a4SDaniel Pereira diretório de compilação: /home/nome/build/kernel 146*ef7eb3a4SDaniel Pereira 147*ef7eb3a4SDaniel Pereira Para configurar e compilar o kernel, use:: 148*ef7eb3a4SDaniel Pereira 149*ef7eb3a4SDaniel Pereira cd /usr/src/linux-6.x 150*ef7eb3a4SDaniel Pereira make O=/home/nome/build/kernel menuconfig 151*ef7eb3a4SDaniel Pereira make O=/home/nome/build/kernel 152*ef7eb3a4SDaniel Pereira sudo make O=/home/nome/build/kernel modules_install install 153*ef7eb3a4SDaniel Pereira 154*ef7eb3a4SDaniel Pereira Observe: se a opção ``O=output/dir`` for usada, ela deve ser usada em todas 155*ef7eb3a4SDaniel Pereira as invocações do make. 156*ef7eb3a4SDaniel Pereira 157*ef7eb3a4SDaniel PereiraConfigurando o kernel 158*ef7eb3a4SDaniel Pereira--------------------- 159*ef7eb3a4SDaniel Pereira 160*ef7eb3a4SDaniel Pereira Não pule esta etapa, mesmo que você esteja atualizando apenas uma versão 161*ef7eb3a4SDaniel Pereira menor. Novas opções de configuração são adicionadas a cada lançamento, e 162*ef7eb3a4SDaniel Pereira problemas estranhos aparecerão se os arquivos de configuração não estiverem 163*ef7eb3a4SDaniel Pereira preparados como esperado. Se você quiser levar a sua configuração existente 164*ef7eb3a4SDaniel Pereira para uma nova versão com o mínimo de trabalho, use ``make oldconfig``, que 165*ef7eb3a4SDaniel Pereira perguntará apenas as respostas para as novas questões. 166*ef7eb3a4SDaniel Pereira 167*ef7eb3a4SDaniel Pereira - Comandos alternativos de configuração são:: 168*ef7eb3a4SDaniel Pereira 169*ef7eb3a4SDaniel Pereira "make config" Interface em texto puro. 170*ef7eb3a4SDaniel Pereira 171*ef7eb3a4SDaniel Pereira "make menuconfig" Menus coloridos, listas de seleção e diálogos, em 172*ef7eb3a4SDaniel Pereira modo texto. 173*ef7eb3a4SDaniel Pereira 174*ef7eb3a4SDaniel Pereira "make nconfig" Menus coloridos aprimorados, em modo texto. 175*ef7eb3a4SDaniel Pereira 176*ef7eb3a4SDaniel Pereira "make xconfig" Ferramenta de configuração baseada em Qt. 177*ef7eb3a4SDaniel Pereira 178*ef7eb3a4SDaniel Pereira "make gconfig" Ferramenta de configuração baseada em GTK. 179*ef7eb3a4SDaniel Pereira 180*ef7eb3a4SDaniel Pereira "make oldconfig" Assume o padrão para todas as questões com base no 181*ef7eb3a4SDaniel Pereira conteúdo do seu arquivo ./.config existente e 182*ef7eb3a4SDaniel Pereira pergunta sobre os novos símbolos de configuração. 183*ef7eb3a4SDaniel Pereira 184*ef7eb3a4SDaniel Pereira "make olddefconfig" 185*ef7eb3a4SDaniel Pereira Como o anterior, mas define os novos símbolos com 186*ef7eb3a4SDaniel Pereira seus valores padrão, sem perguntar. 187*ef7eb3a4SDaniel Pereira 188*ef7eb3a4SDaniel Pereira "make defconfig" Cria um arquivo ./.config usando os valores padrão 189*ef7eb3a4SDaniel Pereira dos símbolos, vindos de 190*ef7eb3a4SDaniel Pereira arch/$ARCH/configs/defconfig ou de 191*ef7eb3a4SDaniel Pereira arch/$ARCH/configs/${PLATFORM}_defconfig, 192*ef7eb3a4SDaniel Pereira dependendo da arquitetura. 193*ef7eb3a4SDaniel Pereira 194*ef7eb3a4SDaniel Pereira "make ${PLATFORM}_defconfig" 195*ef7eb3a4SDaniel Pereira Cria um arquivo ./.config usando os valores padrão 196*ef7eb3a4SDaniel Pereira dos símbolos vindos de 197*ef7eb3a4SDaniel Pereira arch/$ARCH/configs/${PLATFORM}_defconfig. 198*ef7eb3a4SDaniel Pereira Use "make help" para obter uma lista de todas as 199*ef7eb3a4SDaniel Pereira plataformas disponíveis para a sua arquitetura. 200*ef7eb3a4SDaniel Pereira 201*ef7eb3a4SDaniel Pereira "make allyesconfig" 202*ef7eb3a4SDaniel Pereira Cria um arquivo ./.config definindo os valores dos 203*ef7eb3a4SDaniel Pereira símbolos como 'y' sempre que possível. 204*ef7eb3a4SDaniel Pereira 205*ef7eb3a4SDaniel Pereira "make allmodconfig" 206*ef7eb3a4SDaniel Pereira Cria um arquivo ./.config definindo os valores dos 207*ef7eb3a4SDaniel Pereira símbolos como 'm' sempre que possível. 208*ef7eb3a4SDaniel Pereira 209*ef7eb3a4SDaniel Pereira "make allnoconfig" Cria um arquivo ./.config definindo os valores dos 210*ef7eb3a4SDaniel Pereira símbolos como 'n' sempre que possível. 211*ef7eb3a4SDaniel Pereira 212*ef7eb3a4SDaniel Pereira "make randconfig" Cria um arquivo ./.config definindo os valores dos 213*ef7eb3a4SDaniel Pereira símbolos aleatoriamente. 214*ef7eb3a4SDaniel Pereira 215*ef7eb3a4SDaniel Pereira "make localmodconfig" Cria uma configuração baseada na configuração 216*ef7eb3a4SDaniel Pereira atual e nos módulos carregados (lsmod). Desativa 217*ef7eb3a4SDaniel Pereira qualquer opção de módulo que não seja necessária 218*ef7eb3a4SDaniel Pereira para os módulos carregados. 219*ef7eb3a4SDaniel Pereira 220*ef7eb3a4SDaniel Pereira Para criar um localmodconfig para outra máquina, 221*ef7eb3a4SDaniel Pereira armazene o lsmod daquela máquina em um arquivo e 222*ef7eb3a4SDaniel Pereira o passe como parâmetro LSMOD. 223*ef7eb3a4SDaniel Pereira 224*ef7eb3a4SDaniel Pereira Além disso, você pode preservar módulos em certas 225*ef7eb3a4SDaniel Pereira pastas ou arquivos kconfig especificando seus 226*ef7eb3a4SDaniel Pereira caminhos no parâmetro LMC_KEEP. 227*ef7eb3a4SDaniel Pereira 228*ef7eb3a4SDaniel Pereira alvo$ lsmod > /tmp/mylsmod 229*ef7eb3a4SDaniel Pereira alvo$ scp /tmp/mylsmod host:/tmp 230*ef7eb3a4SDaniel Pereira 231*ef7eb3a4SDaniel Pereira host$ make LSMOD=/tmp/mylsmod \ 232*ef7eb3a4SDaniel Pereira LMC_KEEP="drivers/usb:drivers/gpu:fs" \ 233*ef7eb3a4SDaniel Pereira localmodconfig 234*ef7eb3a4SDaniel Pereira 235*ef7eb3a4SDaniel Pereira O acima também funciona em compilação cruzada. 236*ef7eb3a4SDaniel Pereira 237*ef7eb3a4SDaniel Pereira "make localyesconfig" Semelhante ao localmodconfig, exceto que converte 238*ef7eb3a4SDaniel Pereira todas as opções de módulo em opções embutidas 239*ef7eb3a4SDaniel Pereira (=y). Você também pode preservar módulos com o 240*ef7eb3a4SDaniel Pereira LMC_KEEP. 241*ef7eb3a4SDaniel Pereira 242*ef7eb3a4SDaniel Pereira "make kvm_guest.config" Habilita opções adicionais para suporte a 243*ef7eb3a4SDaniel Pereira kernel convidado do kvm. 244*ef7eb3a4SDaniel Pereira 245*ef7eb3a4SDaniel Pereira "make xen.config" Habilita opções adicionais para suporte a kernel 246*ef7eb3a4SDaniel Pereira convidado dom0 do xen. 247*ef7eb3a4SDaniel Pereira 248*ef7eb3a4SDaniel Pereira "make tinyconfig" Configura o menor kernel possível. 249*ef7eb3a4SDaniel Pereira 250*ef7eb3a4SDaniel Pereira Você pode encontrar mais informações sobre o uso das ferramentas de 251*ef7eb3a4SDaniel Pereira configuração do kernel Linux em Documentation/kbuild/kconfig.rst. 252*ef7eb3a4SDaniel Pereira 253*ef7eb3a4SDaniel Pereira - NOTAS sobre o ``make config``: 254*ef7eb3a4SDaniel Pereira 255*ef7eb3a4SDaniel Pereira - Ter drivers desnecessários deixará o kernel maior e, em algumas 256*ef7eb3a4SDaniel Pereira circunstâncias, pode levar a problemas: sondar uma placa controladora 257*ef7eb3a4SDaniel Pereira inexistente pode confundir as suas outras controladoras. 258*ef7eb3a4SDaniel Pereira 259*ef7eb3a4SDaniel Pereira - Um kernel com emulação matemática compilada ainda usará o 260*ef7eb3a4SDaniel Pereira coprocessador, se houver um presente: a emulação matemática 261*ef7eb3a4SDaniel Pereira simplesmente nunca será usada nesse caso. O kernel ficará um pouco 262*ef7eb3a4SDaniel Pereira maior, mas funcionará em máquinas diferentes, independentemente de 263*ef7eb3a4SDaniel Pereira terem ou não um coprocessador matemático. 264*ef7eb3a4SDaniel Pereira 265*ef7eb3a4SDaniel Pereira - Os detalhes de configuração de "kernel hacking" normalmente resultam em 266*ef7eb3a4SDaniel Pereira um kernel maior ou mais lento (ou ambos), e podem até tornar o kernel 267*ef7eb3a4SDaniel Pereira menos estável, ao configurar algumas rotinas para tentar ativamente 268*ef7eb3a4SDaniel Pereira quebrar código ruim e encontrar problemas no kernel (kmalloc()). 269*ef7eb3a4SDaniel Pereira Portanto, você provavelmente deve responder 'n' às questões sobre 270*ef7eb3a4SDaniel Pereira recursos de "development", "experimental" ou "debugging". 271*ef7eb3a4SDaniel Pereira 272*ef7eb3a4SDaniel PereiraCompilando o kernel 273*ef7eb3a4SDaniel Pereira------------------- 274*ef7eb3a4SDaniel Pereira 275*ef7eb3a4SDaniel Pereira - Certifique-se de ter pelo menos o gcc 8.1 disponível. 276*ef7eb3a4SDaniel Pereira Para mais informações, consulte 277*ef7eb3a4SDaniel Pereira Documentation/translations/pt_BR/process/changes.rst. 278*ef7eb3a4SDaniel Pereira 279*ef7eb3a4SDaniel Pereira - Execute um ``make`` para criar uma imagem compactada do kernel. Também é 280*ef7eb3a4SDaniel Pereira possível executar ``make install`` se você tiver o lilo instalado ou se a 281*ef7eb3a4SDaniel Pereira sua distribuição possuir um script de instalação reconhecido pelo 282*ef7eb3a4SDaniel Pereira instalador do kernel. A maioria das distribuições populares terá um script 283*ef7eb3a4SDaniel Pereira de instalação reconhecido. Talvez você queira verificar antes a 284*ef7eb3a4SDaniel Pereira configuração da sua distribuição. 285*ef7eb3a4SDaniel Pereira 286*ef7eb3a4SDaniel Pereira Para fazer a instalação de fato, você precisa ser root, mas nada da 287*ef7eb3a4SDaniel Pereira compilação normal deve exigir isso. Não tome o nome de root em vão. 288*ef7eb3a4SDaniel Pereira 289*ef7eb3a4SDaniel Pereira - Se você configurou qualquer parte do kernel como ``modules``, também terá 290*ef7eb3a4SDaniel Pereira que executar ``make modules_install``. 291*ef7eb3a4SDaniel Pereira 292*ef7eb3a4SDaniel Pereira - Saída detalhada (verbose) da compilação do kernel: 293*ef7eb3a4SDaniel Pereira 294*ef7eb3a4SDaniel Pereira Normalmente, o sistema de compilação do kernel roda em um modo bastante 295*ef7eb3a4SDaniel Pereira silencioso (mas não totalmente). No entanto, às vezes você ou outros 296*ef7eb3a4SDaniel Pereira desenvolvedores do kernel precisam ver os comandos de compilação, de 297*ef7eb3a4SDaniel Pereira ligação (link) ou outros exatamente como são executados. Para isso, use o 298*ef7eb3a4SDaniel Pereira modo de compilação "verbose". Isso é feito passando ``V=1`` ao comando 299*ef7eb3a4SDaniel Pereira ``make``, por exemplo:: 300*ef7eb3a4SDaniel Pereira 301*ef7eb3a4SDaniel Pereira make V=1 all 302*ef7eb3a4SDaniel Pereira 303*ef7eb3a4SDaniel Pereira Para que o sistema de compilação também informe o motivo da recompilação 304*ef7eb3a4SDaniel Pereira de cada alvo, use ``V=2``. O padrão é ``V=0``. 305*ef7eb3a4SDaniel Pereira 306*ef7eb3a4SDaniel Pereira - Mantenha um kernel de backup à mão, caso algo dê errado. Isso é 307*ef7eb3a4SDaniel Pereira especialmente verdadeiro para as versões de desenvolvimento, já que cada 308*ef7eb3a4SDaniel Pereira novo lançamento contém código novo que não foi depurado. Certifique-se de 309*ef7eb3a4SDaniel Pereira manter também um backup dos módulos correspondentes àquele kernel. Se 310*ef7eb3a4SDaniel Pereira você estiver instalando um novo kernel com o mesmo número de versão do seu 311*ef7eb3a4SDaniel Pereira kernel em funcionamento, faça um backup do seu diretório de módulos antes 312*ef7eb3a4SDaniel Pereira de executar um ``make modules_install``. 313*ef7eb3a4SDaniel Pereira 314*ef7eb3a4SDaniel Pereira Como alternativa, antes de compilar, use a opção de configuração do kernel 315*ef7eb3a4SDaniel Pereira "LOCALVERSION" para acrescentar um sufixo único à versão normal do kernel. 316*ef7eb3a4SDaniel Pereira A LOCALVERSION pode ser definida no menu "General Setup". 317*ef7eb3a4SDaniel Pereira 318*ef7eb3a4SDaniel Pereira - Para inicializar o seu novo kernel, você precisará copiar a imagem do 319*ef7eb3a4SDaniel Pereira kernel (por exemplo, .../linux/arch/x86/boot/bzImage após a compilação) 320*ef7eb3a4SDaniel Pereira para o local onde o seu kernel inicializável habitual se encontra. 321*ef7eb3a4SDaniel Pereira 322*ef7eb3a4SDaniel Pereira - Inicializar um kernel diretamente de um dispositivo de armazenamento, sem 323*ef7eb3a4SDaniel Pereira a ajuda de um gerenciador de inicialização como o LILO ou o GRUB, não é 324*ef7eb3a4SDaniel Pereira mais suportado na BIOS (sistemas não EFI). Em sistemas UEFI/EFI, no 325*ef7eb3a4SDaniel Pereira entanto, você pode usar o EFISTUB, que permite à placa-mãe inicializar 326*ef7eb3a4SDaniel Pereira diretamente no kernel. Em estações de trabalho e desktops modernos, 327*ef7eb3a4SDaniel Pereira geralmente recomenda-se usar um gerenciador de inicialização, pois podem 328*ef7eb3a4SDaniel Pereira surgir dificuldades com múltiplos kernels e com o secure boot. 329*ef7eb3a4SDaniel Pereira Para mais detalhes sobre o EFISTUB, veja 330*ef7eb3a4SDaniel Pereira "Documentation/admin-guide/efi-stub.rst". 331*ef7eb3a4SDaniel Pereira 332*ef7eb3a4SDaniel Pereira - É importante observar que, desde 2016, o LILO (LInux LOader) não está mais 333*ef7eb3a4SDaniel Pereira em desenvolvimento ativo, embora, por ter sido extremamente popular, 334*ef7eb3a4SDaniel Pereira apareça com frequência na documentação. Alternativas populares incluem 335*ef7eb3a4SDaniel Pereira GRUB2, rEFInd, Syslinux, systemd-boot ou EFISTUB. Por diversas razões, não 336*ef7eb3a4SDaniel Pereira é recomendável usar software que não esteja mais em desenvolvimento ativo. 337*ef7eb3a4SDaniel Pereira 338*ef7eb3a4SDaniel Pereira - É provável que a sua distribuição inclua um script de instalação e que 339*ef7eb3a4SDaniel Pereira executar ``make install`` seja tudo o que é necessário. Caso não seja 340*ef7eb3a4SDaniel Pereira assim, você terá que identificar o seu gerenciador de inicialização e 341*ef7eb3a4SDaniel Pereira consultar a documentação dele, ou configurar a sua EFI. 342*ef7eb3a4SDaniel Pereira 343*ef7eb3a4SDaniel PereiraInstruções legadas do LILO 344*ef7eb3a4SDaniel Pereira-------------------------- 345*ef7eb3a4SDaniel Pereira 346*ef7eb3a4SDaniel Pereira 347*ef7eb3a4SDaniel Pereira - Se você usa o LILO, as imagens do kernel são especificadas no arquivo 348*ef7eb3a4SDaniel Pereira /etc/lilo.conf. O arquivo de imagem do kernel geralmente é /vmlinuz, 349*ef7eb3a4SDaniel Pereira /boot/vmlinuz, /bzImage ou /boot/bzImage. Para usar o novo kernel, salve 350*ef7eb3a4SDaniel Pereira uma cópia da imagem antiga e copie a nova imagem por cima da antiga. 351*ef7eb3a4SDaniel Pereira Então, você DEVE EXECUTAR O LILO NOVAMENTE para atualizar o mapa de 352*ef7eb3a4SDaniel Pereira carregamento! Se não fizer isso, não conseguirá inicializar a nova imagem 353*ef7eb3a4SDaniel Pereira do kernel. 354*ef7eb3a4SDaniel Pereira 355*ef7eb3a4SDaniel Pereira - Reinstalar o LILO geralmente é uma questão de executar /sbin/lilo. Talvez 356*ef7eb3a4SDaniel Pereira você queira editar o /etc/lilo.conf para especificar uma entrada para a 357*ef7eb3a4SDaniel Pereira sua imagem antiga do kernel (digamos, /vmlinux.old), caso a nova não 358*ef7eb3a4SDaniel Pereira funcione. Veja a documentação do LILO para mais informações. 359*ef7eb3a4SDaniel Pereira 360*ef7eb3a4SDaniel Pereira - Após reinstalar o LILO, deve estar tudo pronto. Desligue o sistema, 361*ef7eb3a4SDaniel Pereira reinicie e aproveite! 362*ef7eb3a4SDaniel Pereira 363*ef7eb3a4SDaniel Pereira - Se algum dia você precisar alterar o dispositivo raiz padrão, o modo de 364*ef7eb3a4SDaniel Pereira vídeo, etc. na imagem do kernel, use as opções de inicialização do seu 365*ef7eb3a4SDaniel Pereira gerenciador de inicialização onde for apropriado. Não é necessário 366*ef7eb3a4SDaniel Pereira recompilar o kernel para alterar esses parâmetros. 367*ef7eb3a4SDaniel Pereira 368*ef7eb3a4SDaniel Pereira - Reinicie com o novo kernel e aproveite. 369*ef7eb3a4SDaniel Pereira 370*ef7eb3a4SDaniel Pereira 371*ef7eb3a4SDaniel PereiraSe algo der errado 372*ef7eb3a4SDaniel Pereira------------------ 373*ef7eb3a4SDaniel Pereira 374*ef7eb3a4SDaniel PereiraSe você tiver problemas que pareçam ser causados por bugs do kernel, por 375*ef7eb3a4SDaniel Pereirafavor, siga as instruções em 376*ef7eb3a4SDaniel Pereira'Documentation/admin-guide/reporting-issues.rst'. 377*ef7eb3a4SDaniel Pereira 378*ef7eb3a4SDaniel PereiraDicas sobre como entender os relatórios de bugs do kernel estão em 379*ef7eb3a4SDaniel Pereira'Documentation/admin-guide/bug-hunting.rst'. Mais sobre depuração do kernel 380*ef7eb3a4SDaniel Pereiracom o gdb está em 381*ef7eb3a4SDaniel Pereira'Documentation/process/debugging/gdb-kernel-debugging.rst' e 382*ef7eb3a4SDaniel Pereira'Documentation/process/debugging/kgdb.rst'. 383