1*9a7bf1dcSDaniel Pereira.. SPDX-License-Identifier: GPL-2.0 2*9a7bf1dcSDaniel Pereira 3*9a7bf1dcSDaniel Pereira 4*9a7bf1dcSDaniel Pereira 5*9a7bf1dcSDaniel PereiraRequisitos mínimos para compilar o Kernel 6*9a7bf1dcSDaniel Pereira++++++++++++++++++++++++++++++++++++++++++ 7*9a7bf1dcSDaniel Pereira 8*9a7bf1dcSDaniel PereiraIntrodução 9*9a7bf1dcSDaniel Pereira=========== 10*9a7bf1dcSDaniel Pereira 11*9a7bf1dcSDaniel PereiraEste documento foi projetado para fornecer uma lista das versões mínimas 12*9a7bf1dcSDaniel Pereirade software necessárias para executar a versão atual do kernel. 13*9a7bf1dcSDaniel Pereira 14*9a7bf1dcSDaniel PereiraEste documento é originalmente baseado no meu arquivo 'Changes' para os kernels 15*9a7bf1dcSDaniel Pereira2.0.x e portanto, deve créditos às mesmas pessoas que aquele arquivo (Jared 16*9a7bf1dcSDaniel PereiraMauch, Axel Boldt, Alessandro Sigala e inúmeros outros usuários em toda a rede). 17*9a7bf1dcSDaniel Pereira 18*9a7bf1dcSDaniel PereiraRequisitos Mínimos Atuais 19*9a7bf1dcSDaniel Pereira**************************** 20*9a7bf1dcSDaniel Pereira 21*9a7bf1dcSDaniel PereiraAtualize para pelo menos estas revisões de software antes de pensar que 22*9a7bf1dcSDaniel Pereiraencontrou um bug! Se não tiver certeza de qual versão está executando atualmente 23*9a7bf1dcSDaniel Pereira, o comando sugerido deve lhe informar. 24*9a7bf1dcSDaniel Pereira 25*9a7bf1dcSDaniel PereiraNovamente, tenha em mente que esta lista pressupõe que você já possui um kernel 26*9a7bf1dcSDaniel PereiraLinux em execução funcional. Além disso, nem todas as ferramentas são 27*9a7bf1dcSDaniel Pereiranecessárias em todos os sistemas; obviamente, se você não possui nenhum hardware 28*9a7bf1dcSDaniel PereiraPC Card por exemplo, provavelmente não precisará se preocupar com o pcmciautils. 29*9a7bf1dcSDaniel Pereira 30*9a7bf1dcSDaniel Pereira====================== =============== ======================================== 31*9a7bf1dcSDaniel Pereira Programa Versão mínima Comando para verificar a versão 32*9a7bf1dcSDaniel Pereira====================== =============== ======================================== 33*9a7bf1dcSDaniel PereiraGNU C 8.1 gcc --version 34*9a7bf1dcSDaniel PereiraClang/LLVM (optional) 15.0.0 clang --version 35*9a7bf1dcSDaniel PereiraRust (optional) 1.78.0 rustc --version 36*9a7bf1dcSDaniel Pereirabindgen (optional) 0.65.1 bindgen --version 37*9a7bf1dcSDaniel PereiraGNU make 4.0 make --version 38*9a7bf1dcSDaniel Pereirabash 4.2 bash --version 39*9a7bf1dcSDaniel Pereirabinutils 2.30 ld -v 40*9a7bf1dcSDaniel Pereiraflex 2.5.35 flex --version 41*9a7bf1dcSDaniel Pereirabison 2.0 bison --version 42*9a7bf1dcSDaniel Pereirapahole 1.16 pahole --version 43*9a7bf1dcSDaniel Pereirautil-linux 2.10o mount --version 44*9a7bf1dcSDaniel Pereirakmod 13 depmod -V 45*9a7bf1dcSDaniel Pereirae2fsprogs 1.41.4 e2fsck -V 46*9a7bf1dcSDaniel Pereirajfsutils 1.1.3 fsck.jfs -V 47*9a7bf1dcSDaniel Pereiraxfsprogs 2.6.0 xfs_db -V 48*9a7bf1dcSDaniel Pereirasquashfs-tools 4.0 mksquashfs -version 49*9a7bf1dcSDaniel Pereirabtrfs-progs 0.18 btrfs --version 50*9a7bf1dcSDaniel Pereirapcmciautils 004 pccardctl -V 51*9a7bf1dcSDaniel Pereiraquota-tools 3.09 quota -V 52*9a7bf1dcSDaniel PereiraPPP 2.4.0 pppd --version 53*9a7bf1dcSDaniel Pereiranfs-utils 1.0.5 showmount --version 54*9a7bf1dcSDaniel Pereiraprocps 3.2.0 ps --version 55*9a7bf1dcSDaniel Pereiraudev 081 udevd --version 56*9a7bf1dcSDaniel Pereiragrub 0.93 grub --version || grub-install --version 57*9a7bf1dcSDaniel Pereiramcelog 0.6 mcelog --version 58*9a7bf1dcSDaniel Pereiraiptables 1.4.2 iptables -V 59*9a7bf1dcSDaniel Pereiraopenssl & libcrypto 1.0.0 openssl version 60*9a7bf1dcSDaniel Pereirabc 1.06.95 bc --version 61*9a7bf1dcSDaniel PereiraSphinx\ [#f1]_ 3.4.3 sphinx-build --version 62*9a7bf1dcSDaniel PereiraGNU tar 1.28 tar --version 63*9a7bf1dcSDaniel Pereiragtags (opcional) 6.6.5 gtags --version 64*9a7bf1dcSDaniel Pereiramkimage (opcional) 2017.01 mkimage --version 65*9a7bf1dcSDaniel PereiraPython 3.9.x python3 --version 66*9a7bf1dcSDaniel PereiraGNU AWK (opcional) 5.1.0 gawk --version 67*9a7bf1dcSDaniel Pereira====================== =============== ======================================== 68*9a7bf1dcSDaniel Pereira 69*9a7bf1dcSDaniel Pereira.. [#f1] O Sphinx é necessário apenas para gerar a documentação do Kernel. 70*9a7bf1dcSDaniel Pereira 71*9a7bf1dcSDaniel PereiraCompilação do Kernel 72*9a7bf1dcSDaniel Pereira********************* 73*9a7bf1dcSDaniel Pereira 74*9a7bf1dcSDaniel PereiraGCC 75*9a7bf1dcSDaniel Pereira--- 76*9a7bf1dcSDaniel Pereira 77*9a7bf1dcSDaniel PereiraOs requisitos da versão do gcc podem variar dependendo do tipo de CPU 78*9a7bf1dcSDaniel Pereirado seu computador. 79*9a7bf1dcSDaniel Pereira 80*9a7bf1dcSDaniel PereiraClang/LLVM (opcional) 81*9a7bf1dcSDaniel Pereira--------------------- 82*9a7bf1dcSDaniel Pereira 83*9a7bf1dcSDaniel PereiraA versão formal mais recente do clang e dos utilitários LLVM (de acordo com 84*9a7bf1dcSDaniel Pereirareleases.llvm.org <https://releases.llvm.org>_) é suportada para a compilação 85*9a7bf1dcSDaniel Pereirade kernels. Versões anteriores não têm funcionamento garantido, e poderemos 86*9a7bf1dcSDaniel Pereiraremover do kernel soluções de contorno (workarounds) que eram utilizadas para 87*9a7bf1dcSDaniel Pereirasuportar versões mais antigas. Por favor, veja a documentação adicional em: 88*9a7bf1dcSDaniel Pereiraref:Building Linux with Clang/LLVM <kbuild_llvm>. 89*9a7bf1dcSDaniel Pereira 90*9a7bf1dcSDaniel PereiraRust (opcional) 91*9a7bf1dcSDaniel Pereira--------------- 92*9a7bf1dcSDaniel Pereira 93*9a7bf1dcSDaniel PereiraÉ necessária uma versão recente do compilador Rust. 94*9a7bf1dcSDaniel Pereira 95*9a7bf1dcSDaniel PereiraPor favor, consulte Documentation/rust/quick-start.rst para obter instruções 96*9a7bf1dcSDaniel Pereirasobre como atender aos requisitos de compilação do suporte a Rust. Em 97*9a7bf1dcSDaniel Pereiraparticular, o alvo (target) rustavailable do Makefile é útil para verificar por 98*9a7bf1dcSDaniel Pereiraque a cadeia de ferramentas (toolchain) Rust pode não estar sendo detectada. 99*9a7bf1dcSDaniel Pereira 100*9a7bf1dcSDaniel Pereirabindgen (opcional) 101*9a7bf1dcSDaniel Pereira------------------ 102*9a7bf1dcSDaniel Pereira 103*9a7bf1dcSDaniel PereiraO ``bindgen`` é utilizado para gerar os vínculos (bindings) Rust para o lado C 104*9a7bf1dcSDaniel Pereirado kernel. Ele depende da ``libclang``. 105*9a7bf1dcSDaniel Pereira 106*9a7bf1dcSDaniel PereiraMake 107*9a7bf1dcSDaniel Pereira---- 108*9a7bf1dcSDaniel Pereira 109*9a7bf1dcSDaniel PereiraVocê precisará do GNU make 4.0 ou superior para compilar o kernel. 110*9a7bf1dcSDaniel Pereira 111*9a7bf1dcSDaniel PereiraBash 112*9a7bf1dcSDaniel Pereira---- 113*9a7bf1dcSDaniel Pereira 114*9a7bf1dcSDaniel PereiraAlguns scripts bash são usados para a compilação do kernel. 115*9a7bf1dcSDaniel PereiraÉ necessário o Bash 4.2 ou mais recente. 116*9a7bf1dcSDaniel Pereira 117*9a7bf1dcSDaniel PereiraBinutils 118*9a7bf1dcSDaniel Pereira-------- 119*9a7bf1dcSDaniel Pereira 120*9a7bf1dcSDaniel PereiraO binutils 2.30 ou mais recente é necessário para compilar o kernel. 121*9a7bf1dcSDaniel Pereira 122*9a7bf1dcSDaniel Pereirapkg-config 123*9a7bf1dcSDaniel Pereira---------- 124*9a7bf1dcSDaniel Pereira 125*9a7bf1dcSDaniel PereiraO sistema de compilação, a partir da versão 4.18, requer o pkg-config para 126*9a7bf1dcSDaniel Pereiraverificar as ferramentas kconfig instaladas e para determinar as configurações 127*9a7bf1dcSDaniel Pereirade flags para uso em make {g,x}config. Anteriormente, o pkg-config já era 128*9a7bf1dcSDaniel Pereirautilizado, mas não era verificado nem documentado. 129*9a7bf1dcSDaniel Pereira 130*9a7bf1dcSDaniel PereiraFlex 131*9a7bf1dcSDaniel Pereira---- 132*9a7bf1dcSDaniel Pereira 133*9a7bf1dcSDaniel PereiraDesde o Linux 4.16, o sistema de compilação gera analisadores léxicos durante a 134*9a7bf1dcSDaniel Pereiracompilação. Isso requer o flex 2.5.35 ou superior. 135*9a7bf1dcSDaniel Pereira 136*9a7bf1dcSDaniel Pereira 137*9a7bf1dcSDaniel PereiraBison 138*9a7bf1dcSDaniel Pereira----- 139*9a7bf1dcSDaniel Pereira 140*9a7bf1dcSDaniel PereiraDesde o Linux 4.16, o sistema de compilação gera analisadores sintáticos durante 141*9a7bf1dcSDaniel Pereiraa compilação. Isso requer o bison 2.0 ou superior 142*9a7bf1dcSDaniel Pereira 143*9a7bf1dcSDaniel Pereirapahole 144*9a7bf1dcSDaniel Pereira------ 145*9a7bf1dcSDaniel Pereira 146*9a7bf1dcSDaniel PereiraDesde o Linux 5.2, se CONFIG_DEBUG_INFO_BTF estiver selecionado, o sistema de 147*9a7bf1dcSDaniel Pereiracompilação gera BTF (BPF Type Format) a partir do DWARF no vmlinux, e um pouco 148*9a7bf1dcSDaniel Pereiradepois para os módulos do kernel também. Isso requer o pahole v1.16 ou superior. 149*9a7bf1dcSDaniel Pereira 150*9a7bf1dcSDaniel PereiraEle pode ser encontrado nos pacotes ``dwarves`` ou ``pahole`` das 151*9a7bf1dcSDaniel Pereiradistribuições, ou em https://fedorapeople.org/~acme/dwarves/. 152*9a7bf1dcSDaniel Pereira 153*9a7bf1dcSDaniel PereiraPerl 154*9a7bf1dcSDaniel Pereira---- 155*9a7bf1dcSDaniel Pereira 156*9a7bf1dcSDaniel PereiraVocê precisará do perl 5 e dos seguintes módulos: Getopt::Long, 157*9a7bf1dcSDaniel PereiraGetopt::Std, File::Basename e File::Find para compilar o kernel. 158*9a7bf1dcSDaniel Pereira 159*9a7bf1dcSDaniel PereiraPython 160*9a7bf1dcSDaniel Pereira------ 161*9a7bf1dcSDaniel Pereira 162*9a7bf1dcSDaniel PereiraVárias opções de configuração o exigem: ele é necessário para as configurações 163*9a7bf1dcSDaniel Pereirapadrão (defconfigs) de arm/arm64, CONFIG_LTO_CLANG, algumas configurações 164*9a7bf1dcSDaniel Pereiraopcionais de DRM, a ferramenta kernel-doc e a geração da documentação (Sphinx), 165*9a7bf1dcSDaniel Pereiraentre outros. 166*9a7bf1dcSDaniel Pereira 167*9a7bf1dcSDaniel PereiraBC 168*9a7bf1dcSDaniel Pereira-- 169*9a7bf1dcSDaniel Pereira 170*9a7bf1dcSDaniel PereiraVocê precisará do bc para compilar kernels 3.10 ou superior. 171*9a7bf1dcSDaniel Pereira 172*9a7bf1dcSDaniel Pereira 173*9a7bf1dcSDaniel PereiraOpenSSL 174*9a7bf1dcSDaniel Pereira------- 175*9a7bf1dcSDaniel Pereira 176*9a7bf1dcSDaniel PereiraA assinatura de módulos e a manipulação de certificados externos utilizam o 177*9a7bf1dcSDaniel Pereiraprograma OpenSSL e a biblioteca de criptografia para realizar a criação de 178*9a7bf1dcSDaniel Pereirachaves e a geração de assinaturas. 179*9a7bf1dcSDaniel Pereira 180*9a7bf1dcSDaniel PereiraVocê precisará do openssl para compilar kernels 3.7 e superiores se a assinatura 181*9a7bf1dcSDaniel Pereirade módulos estiver habilitada. Você também precisará dos pacotes de 182*9a7bf1dcSDaniel Pereiradesenvolvimento do openssl para compilar kernels 4.3 e superiores. 183*9a7bf1dcSDaniel Pereira 184*9a7bf1dcSDaniel PereiraTar 185*9a7bf1dcSDaniel Pereira--- 186*9a7bf1dcSDaniel Pereira 187*9a7bf1dcSDaniel PereiraO GNU tar é necessário caso você deseje habilitar o acesso aos cabeçalhos do 188*9a7bf1dcSDaniel Pereirakernel via sysfs (CONFIG_IKHEADERS). 189*9a7bf1dcSDaniel Pereira 190*9a7bf1dcSDaniel Pereiragtags / GNU GLOBAL (optional) 191*9a7bf1dcSDaniel Pereira----------------------------- 192*9a7bf1dcSDaniel Pereira 193*9a7bf1dcSDaniel PereiraA compilação do kernel requer o GNU GLOBAL versão 6.6.5 ou superior para gerar 194*9a7bf1dcSDaniel Pereiraarquivos de tags através de make gtags. Isso se deve ao uso da flag -C 195*9a7bf1dcSDaniel Pereira(--directory) pelo gtags. 196*9a7bf1dcSDaniel Pereira 197*9a7bf1dcSDaniel Pereiramkimage 198*9a7bf1dcSDaniel Pereira------- 199*9a7bf1dcSDaniel Pereira 200*9a7bf1dcSDaniel PereiraEsta ferramenta é utilizada ao gerar uma Flat Image Tree (FIT), comumente usada 201*9a7bf1dcSDaniel Pereiraem plataformas ARM. A ferramenta está disponível através do pacote u-boot-tools 202*9a7bf1dcSDaniel Pereiraou pode ser compilada a partir do código-fonte do U-Boot. Veja as instruções em 203*9a7bf1dcSDaniel Pereirahttps://docs.u-boot.org/en/latest/build/tools.html#building-tools-for-linux 204*9a7bf1dcSDaniel Pereira 205*9a7bf1dcSDaniel PereiraGNU AWK 206*9a7bf1dcSDaniel Pereira------- 207*9a7bf1dcSDaniel Pereira 208*9a7bf1dcSDaniel PereiraO GNU AWK é necessário caso você deseje que a compilação do kernel gere dados de 209*9a7bf1dcSDaniel Pereiraintervalo de endereços para 210*9a7bf1dcSDaniel Pereiramódulos integrados (CONFIG_BUILTIN_MODULE_RANGES). 211*9a7bf1dcSDaniel Pereira 212*9a7bf1dcSDaniel PereiraUtilitários de sistema 213*9a7bf1dcSDaniel Pereira*********************** 214*9a7bf1dcSDaniel Pereira 215*9a7bf1dcSDaniel PereiraMudanças de arquitetura 216*9a7bf1dcSDaniel Pereira------------------------ 217*9a7bf1dcSDaniel Pereira 218*9a7bf1dcSDaniel PereiraO DevFS tornou-se obsoleto em favor do udev 219*9a7bf1dcSDaniel Pereira(https://www.kernel.org/pub/linux/utils/kernel/hotplug/) 220*9a7bf1dcSDaniel Pereira 221*9a7bf1dcSDaniel PereiraO suporte a UIDs de 32 bits já está implementado. Divirta-se! 222*9a7bf1dcSDaniel Pereira 223*9a7bf1dcSDaniel PereiraA documentação das funções do Linux está migrando para a documentação embutida 224*9a7bf1dcSDaniel Pereira(inline), por meio de comentários com formatação especial próximos às suas 225*9a7bf1dcSDaniel Pereiradefinições no código-fonte. Esses comentários podem ser combinados com arquivos 226*9a7bf1dcSDaniel PereiraReST no diretório Documentation/ para criar uma documentação enriquecida, que 227*9a7bf1dcSDaniel Pereirapode então ser convertida para arquivos PostScript, HTML, LaTeX, ePUB e PDF. 228*9a7bf1dcSDaniel PereiraPara converter do formato ReST para o formato de sua escolha,você precisará do 229*9a7bf1dcSDaniel PereiraSphinx. 230*9a7bf1dcSDaniel Pereira 231*9a7bf1dcSDaniel PereiraUtil-linux 232*9a7bf1dcSDaniel Pereira---------- 233*9a7bf1dcSDaniel Pereira 234*9a7bf1dcSDaniel PereiraNovas versões do util-linux oferecem suporte no fdisk para discos maiores, 235*9a7bf1dcSDaniel Pereirasuporte a novas opções para o mount, reconhecimento de mais tipos de partição e 236*9a7bf1dcSDaniel Pereiraoutras funcionalidades interessantes. Você provavelmente vai querer atualizar. 237*9a7bf1dcSDaniel Pereira 238*9a7bf1dcSDaniel PereiraKsymoops 239*9a7bf1dcSDaniel Pereira-------- 240*9a7bf1dcSDaniel Pereira 241*9a7bf1dcSDaniel PereiraSe o impensável acontecer e o seu kernel sofrer um oops, você pode precisar da 242*9a7bf1dcSDaniel Pereiraferramenta ksymoops para decodificá-lo, mas na maioria dos casos, não será 243*9a7bf1dcSDaniel Pereiranecessário. É geralmente preferível compilar o kernel com CONFIG_KALLSYMS para 244*9a7bf1dcSDaniel Pereiraque ele produza dumps legíveis que possam ser usados no estado em que se 245*9a7bf1dcSDaniel Pereiraencontram (isso também gera uma saída melhor do que a do ksymoops). 246*9a7bf1dcSDaniel PereiraSe por algum motivo o seu kernel não for compilado com CONFIG_KALLSYMS e você 247*9a7bf1dcSDaniel Pereiranão tiver como recompilar e reproduzir o oops com essa opção, você ainda poderá 248*9a7bf1dcSDaniel Pereiradecodificá-lo com o ksymoops. 249*9a7bf1dcSDaniel Pereira 250*9a7bf1dcSDaniel PereiraMkinitrd 251*9a7bf1dcSDaniel Pereira-------- 252*9a7bf1dcSDaniel Pereira 253*9a7bf1dcSDaniel PereiraEstas mudanças no layout da árvore de arquivos /lib/modules também exigem que o 254*9a7bf1dcSDaniel Pereiramkinitrd seja atualizado. 255*9a7bf1dcSDaniel Pereira 256*9a7bf1dcSDaniel PereiraE2fsprogs 257*9a7bf1dcSDaniel Pereira--------- 258*9a7bf1dcSDaniel Pereira 259*9a7bf1dcSDaniel PereiraA versão mais recente do e2fsprogs corrige diversos bugs no fsck e no debugfs. 260*9a7bf1dcSDaniel PereiraObviamente, é uma boa ideia atualizar. 261*9a7bf1dcSDaniel Pereira 262*9a7bf1dcSDaniel PereiraJFSutils 263*9a7bf1dcSDaniel Pereira-------- 264*9a7bf1dcSDaniel Pereira 265*9a7bf1dcSDaniel PereiraO pacote jfsutils contém os utilitários para o sistema de arquivos. Os seguintes 266*9a7bf1dcSDaniel Pereirautilitários estão disponíveis: 267*9a7bf1dcSDaniel Pereira 268*9a7bf1dcSDaniel Pereira- ``fsck.jfs`` - inicia a reprodução (replay) do log de transações, além de 269*9a7bf1dcSDaniel Pereira verificar e reparar uma partição formatada em JFS. 270*9a7bf1dcSDaniel Pereira 271*9a7bf1dcSDaniel Pereira- ``mkfs.jfs`` - cria uma partição formatada em JFS. 272*9a7bf1dcSDaniel Pereira 273*9a7bf1dcSDaniel Pereira- Para o seu arquivo changes.rst, a tradução técnica adequada é: 274*9a7bf1dcSDaniel Pereira 275*9a7bf1dcSDaniel PereiraOutros utilitários de sistema de arquivos também estão disponíveis neste pacote. 276*9a7bf1dcSDaniel Pereira 277*9a7bf1dcSDaniel PereiraXfsprogs 278*9a7bf1dcSDaniel Pereira-------- 279*9a7bf1dcSDaniel Pereira 280*9a7bf1dcSDaniel PereiraA versão mais recente do ``xfsprogs`` contém os utilitários ``mkfs.xfs``, 281*9a7bf1dcSDaniel Pereira``xfs_db`` e ``xfs_repair``, entre outros, para o sistema de arquivos XFS. Ele é 282*9a7bf1dcSDaniel Pereiraindependente de arquitetura e qualquer versão a partir da 2.0.0 deve funcionar 283*9a7bf1dcSDaniel Pereiracorretamente com esta versão do código do kernel XFS (recomenda-se a 284*9a7bf1dcSDaniel Pereiraversão 2.6.0 ou posterior, devido a algumas melhorias significativas). 285*9a7bf1dcSDaniel Pereira 286*9a7bf1dcSDaniel PereiraPCMCIAutils 287*9a7bf1dcSDaniel Pereira----------- 288*9a7bf1dcSDaniel Pereira 289*9a7bf1dcSDaniel PereiraO PCMCIAutils substitui o pcmcia-cs. Ele configura corretamente os sockets 290*9a7bf1dcSDaniel PereiraPCMCIA na inicialização do sistema e carrega os módulos apropriados para 291*9a7bf1dcSDaniel Pereiradispositivos PCMCIA de 16 bits, caso o kernel esteja modularizado e o subsistema 292*9a7bf1dcSDaniel Pereirade hotplug seja utilizado. 293*9a7bf1dcSDaniel Pereira 294*9a7bf1dcSDaniel PereiraQuota-tools 295*9a7bf1dcSDaniel Pereira----------- 296*9a7bf1dcSDaniel Pereira 297*9a7bf1dcSDaniel PereiraO suporte a UIDs e GIDs de 32 bits é necessário caso você deseje utilizar o 298*9a7bf1dcSDaniel Pereiraformato de cota versão 2 mais recente. O quota-tools versão 3.07 e superiores 299*9a7bf1dcSDaniel Pereirapossuem esse suporte. Utilize a versão recomendada ou superior da tabela acima. 300*9a7bf1dcSDaniel Pereira 301*9a7bf1dcSDaniel PereiraIntel IA32 microcode 302*9a7bf1dcSDaniel Pereira-------------------- 303*9a7bf1dcSDaniel Pereira 304*9a7bf1dcSDaniel PereiraUm driver foi adicionado para permitir a atualização do microcódigo Intel IA32, 305*9a7bf1dcSDaniel Pereiraacessível como um dispositivo de caracteres comum (misc). Se você não estiver 306*9a7bf1dcSDaniel Pereirausando o udev, você poderá precisar de:: 307*9a7bf1dcSDaniel Pereira 308*9a7bf1dcSDaniel Pereira mkdir /dev/cpu 309*9a7bf1dcSDaniel Pereira mknod /dev/cpu/microcode c 10 184 310*9a7bf1dcSDaniel Pereira chmod 0644 /dev/cpu/microcode 311*9a7bf1dcSDaniel Pereira 312*9a7bf1dcSDaniel PereiraSe você não estiver usando o udev, você poderá precisar executar os comandos 313*9a7bf1dcSDaniel Pereiraacima como root antes de poder usar isso. Você provavelmente também desejará 314*9a7bf1dcSDaniel Pereiraobter o utilitário de espaço de usuário ``microcode_ctl`` para utilizar em 315*9a7bf1dcSDaniel Pereiraconjunto com este driver. 316*9a7bf1dcSDaniel Pereira 317*9a7bf1dcSDaniel Pereiraudev 318*9a7bf1dcSDaniel Pereira---- 319*9a7bf1dcSDaniel Pereira 320*9a7bf1dcSDaniel PereiraO udev é uma aplicação de espaço de usuário para popular o diretório /dev 321*9a7bf1dcSDaniel Pereiradinamicamente, apenas com entradas para dispositivos de fat presentes no 322*9a7bf1dcSDaniel Pereirasistema. O udev substitui a funcionalidade básica do devfs, permitindo ao mesmo 323*9a7bf1dcSDaniel Pereiratempo a nomeação persistente de dispositivos. 324*9a7bf1dcSDaniel Pereira 325*9a7bf1dcSDaniel PereiraFUSE 326*9a7bf1dcSDaniel Pereira---- 327*9a7bf1dcSDaniel Pereira 328*9a7bf1dcSDaniel PereiraNecessita do libfuse 2.4.0 ou posterior. O mínimo absoluto é a versão 2.3.0, 329*9a7bf1dcSDaniel Pereiramas as opções de montagem direct_io e kernel_cache não funcionarão. 330*9a7bf1dcSDaniel Pereira 331*9a7bf1dcSDaniel PereiraRedes 332*9a7bf1dcSDaniel Pereira****** 333*9a7bf1dcSDaniel Pereira 334*9a7bf1dcSDaniel PereiraMudanças gerais 335*9a7bf1dcSDaniel Pereira---------------- 336*9a7bf1dcSDaniel Pereira 337*9a7bf1dcSDaniel PereiraCaso você tenha necessidades avançadas de configuração de rede, você deve 338*9a7bf1dcSDaniel Pereiraprovavelmente considerar o uso das ferramentas de rede do iproute2. 339*9a7bf1dcSDaniel Pereira 340*9a7bf1dcSDaniel PereiraFiltro de Pacotes / NAT 341*9a7bf1dcSDaniel Pereira------------------------ 342*9a7bf1dcSDaniel Pereira 343*9a7bf1dcSDaniel PereiraO código de filtragem de pacotes e NAT utiliza as mesmas ferramentas da série 344*9a7bf1dcSDaniel Pereiraanterior de kernels 2.4.x (iptables). Ele ainda inclui módulos de 345*9a7bf1dcSDaniel Pereiraretrocompatibilidade para o ipchains (estilo 2.2.x) e o ipfwadm (estilo 2.0.x). 346*9a7bf1dcSDaniel Pereira 347*9a7bf1dcSDaniel PereiraPPP 348*9a7bf1dcSDaniel Pereira--- 349*9a7bf1dcSDaniel Pereira 350*9a7bf1dcSDaniel PereiraO driver PPP foi reestruturado para suportar multilink e permitir que opere 351*9a7bf1dcSDaniel Pereirasobre diversas camadas de mídia. Se você utiliza PPP, atualize o pppd para, no 352*9a7bf1dcSDaniel Pereiramínimo, a versão 2.4.0. 353*9a7bf1dcSDaniel Pereira 354*9a7bf1dcSDaniel PereiraSe você não estiver usando o udev, você deve possuir o arquivo de dispositivo 355*9a7bf1dcSDaniel Pereira``/dev/ppp``, o qual pode ser criado por:: 356*9a7bf1dcSDaniel Pereira 357*9a7bf1dcSDaniel Pereira mknod /dev/ppp c 108 0 358*9a7bf1dcSDaniel Pereira 359*9a7bf1dcSDaniel Pereiracomo root. 360*9a7bf1dcSDaniel Pereira 361*9a7bf1dcSDaniel PereiraNFS-utils 362*9a7bf1dcSDaniel Pereira--------- 363*9a7bf1dcSDaniel Pereira 364*9a7bf1dcSDaniel PereiraEm kernels antigos (2.4 e anteriores), o servidor NFS precisava conhecer 365*9a7bf1dcSDaniel Pereiraqualquer cliente que pretendesse acessar arquivos via NFS. Essa informação era 366*9a7bf1dcSDaniel Pereirafornecida ao kernel pelo mountd quando o cliente montava o sistema de arquivos, 367*9a7bf1dcSDaniel Pereiraou pelo exportfs na inicialização do sistema. O exportfs obtinha informações 368*9a7bf1dcSDaniel Pereirasobre clientes ativos a partir de /var/lib/nfs/rmtab. 369*9a7bf1dcSDaniel Pereira 370*9a7bf1dcSDaniel PereiraEsta abordagem é bastante frágil, pois depende da integridade do rmtab, o que 371*9a7bf1dcSDaniel Pereiranem sempre é fácil, particularmente ao tentar implementar fail-over. Mesmo 372*9a7bf1dcSDaniel Pereiraquando o sistema está funcionando bem, o rmtab sofre com o acúmulo de muitas 373*9a7bf1dcSDaniel Pereiraentradas antigas que nunca são removidas. 374*9a7bf1dcSDaniel Pereira 375*9a7bf1dcSDaniel PereiraCom kernels modernos, temos a opção de fazer o kernel informar ao mountd quando 376*9a7bf1dcSDaniel Pereirarecebe uma requisição de um host desconhecido, permitindo que o mountd forneça 377*9a7bf1dcSDaniel Pereiraas informações de exportação apropriadas ao kernel. Isso remove a dependência do 378*9a7bf1dcSDaniel Pereirarmtab e significa que o kernel só precisa conhecer os clientes ativos no 379*9a7bf1dcSDaniel Pereiramomento. 380*9a7bf1dcSDaniel Pereira 381*9a7bf1dcSDaniel PereiraPara habilitar esta nova funcionalidade, você precisa:: 382*9a7bf1dcSDaniel Pereira 383*9a7bf1dcSDaniel Pereira mount -t nfsd nfsd /proc/fs/nfsd 384*9a7bf1dcSDaniel Pereira 385*9a7bf1dcSDaniel Pereiraantes de executar o exportfs ou o mountd. Recomenda-se que todos os serviços NFS 386*9a7bf1dcSDaniel Pereirasejam protegidos da internet em geral por um firewall, sempre que possível. 387*9a7bf1dcSDaniel Pereira 388*9a7bf1dcSDaniel Pereiramcelog 389*9a7bf1dcSDaniel Pereira------ 390*9a7bf1dcSDaniel Pereira 391*9a7bf1dcSDaniel PereiraEm kernels x86, o utilitário mcelog é necessário para processar e registrar 392*9a7bf1dcSDaniel Pereiraeventos de machine check quando opção CONFIG_X86_MCE está ativada. Eventos de 393*9a7bf1dcSDaniel Pereiramachine check são erros relatados pela CPU. O processamento desses eventos é 394*9a7bf1dcSDaniel Pereirafortemente recomendado. 395*9a7bf1dcSDaniel Pereira 396*9a7bf1dcSDaniel PereiraDocumentação do Kernel 397*9a7bf1dcSDaniel Pereira*********************** 398*9a7bf1dcSDaniel Pereira 399*9a7bf1dcSDaniel PereiraSphinx 400*9a7bf1dcSDaniel Pereira------ 401*9a7bf1dcSDaniel Pereira 402*9a7bf1dcSDaniel PereiraPor favor, consulte Documentation/doc-guide/sphinx.rst para detalhes sobre os 403*9a7bf1dcSDaniel Pereirarequisitos do Sphinx. 404*9a7bf1dcSDaniel Pereira 405*9a7bf1dcSDaniel Pereirarustdoc 406*9a7bf1dcSDaniel Pereira------- 407*9a7bf1dcSDaniel Pereira 408*9a7bf1dcSDaniel PereiraO rustdoc é utilizado para gerar a documentação para código Rust. Por favor, 409*9a7bf1dcSDaniel Pereiraconsulte Documentation/rust/general-information.rst para mais informações. 410*9a7bf1dcSDaniel Pereira 411*9a7bf1dcSDaniel PereiraObtendo software atualizado 412*9a7bf1dcSDaniel Pereira============================ 413*9a7bf1dcSDaniel Pereira 414*9a7bf1dcSDaniel PereiraCompilação do kernel 415*9a7bf1dcSDaniel Pereira********************** 416*9a7bf1dcSDaniel Pereira 417*9a7bf1dcSDaniel Pereiragcc 418*9a7bf1dcSDaniel Pereira--- 419*9a7bf1dcSDaniel Pereira 420*9a7bf1dcSDaniel Pereira- <ftp://ftp.gnu.org/gnu/gcc/> 421*9a7bf1dcSDaniel Pereira 422*9a7bf1dcSDaniel PereiraClang/LLVM 423*9a7bf1dcSDaniel Pereira---------- 424*9a7bf1dcSDaniel Pereira 425*9a7bf1dcSDaniel Pereira- :ref:`Getting LLVM <getting_llvm>`. 426*9a7bf1dcSDaniel Pereira 427*9a7bf1dcSDaniel PereiraRust 428*9a7bf1dcSDaniel Pereira---- 429*9a7bf1dcSDaniel Pereira 430*9a7bf1dcSDaniel Pereira- Documentation/rust/quick-start.rst. 431*9a7bf1dcSDaniel Pereira 432*9a7bf1dcSDaniel Pereirabindgen 433*9a7bf1dcSDaniel Pereira------- 434*9a7bf1dcSDaniel Pereira 435*9a7bf1dcSDaniel Pereira- Documentation/rust/quick-start.rst. 436*9a7bf1dcSDaniel Pereira 437*9a7bf1dcSDaniel PereiraMake 438*9a7bf1dcSDaniel Pereira---- 439*9a7bf1dcSDaniel Pereira 440*9a7bf1dcSDaniel Pereira- <ftp://ftp.gnu.org/gnu/make/> 441*9a7bf1dcSDaniel Pereira 442*9a7bf1dcSDaniel PereiraBash 443*9a7bf1dcSDaniel Pereira---- 444*9a7bf1dcSDaniel Pereira 445*9a7bf1dcSDaniel Pereira- <ftp://ftp.gnu.org/gnu/bash/> 446*9a7bf1dcSDaniel Pereira 447*9a7bf1dcSDaniel PereiraBinutils 448*9a7bf1dcSDaniel Pereira-------- 449*9a7bf1dcSDaniel Pereira 450*9a7bf1dcSDaniel Pereira- <https://www.kernel.org/pub/linux/devel/binutils/> 451*9a7bf1dcSDaniel Pereira 452*9a7bf1dcSDaniel PereiraFlex 453*9a7bf1dcSDaniel Pereira---- 454*9a7bf1dcSDaniel Pereira 455*9a7bf1dcSDaniel Pereira- <https://github.com/westes/flex/releases> 456*9a7bf1dcSDaniel Pereira 457*9a7bf1dcSDaniel PereiraBison 458*9a7bf1dcSDaniel Pereira----- 459*9a7bf1dcSDaniel Pereira 460*9a7bf1dcSDaniel Pereira- <ftp://ftp.gnu.org/gnu/bison/> 461*9a7bf1dcSDaniel Pereira 462*9a7bf1dcSDaniel PereiraOpenSSL 463*9a7bf1dcSDaniel Pereira------- 464*9a7bf1dcSDaniel Pereira 465*9a7bf1dcSDaniel Pereira- <https://www.openssl.org/> 466*9a7bf1dcSDaniel Pereira 467*9a7bf1dcSDaniel PereiraSystem utilities 468*9a7bf1dcSDaniel Pereira**************** 469*9a7bf1dcSDaniel Pereira 470*9a7bf1dcSDaniel PereiraUtil-linux 471*9a7bf1dcSDaniel Pereira---------- 472*9a7bf1dcSDaniel Pereira 473*9a7bf1dcSDaniel Pereira- <https://www.kernel.org/pub/linux/utils/util-linux/> 474*9a7bf1dcSDaniel Pereira 475*9a7bf1dcSDaniel PereiraKmod 476*9a7bf1dcSDaniel Pereira---- 477*9a7bf1dcSDaniel Pereira 478*9a7bf1dcSDaniel Pereira- <https://www.kernel.org/pub/linux/utils/kernel/kmod/> 479*9a7bf1dcSDaniel Pereira- <https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git> 480*9a7bf1dcSDaniel Pereira 481*9a7bf1dcSDaniel PereiraKsymoops 482*9a7bf1dcSDaniel Pereira-------- 483*9a7bf1dcSDaniel Pereira 484*9a7bf1dcSDaniel Pereira- <https://www.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/> 485*9a7bf1dcSDaniel Pereira 486*9a7bf1dcSDaniel PereiraMkinitrd 487*9a7bf1dcSDaniel Pereira-------- 488*9a7bf1dcSDaniel Pereira 489*9a7bf1dcSDaniel Pereira- <https://code.launchpad.net/initrd-tools/main> 490*9a7bf1dcSDaniel Pereira 491*9a7bf1dcSDaniel PereiraE2fsprogs 492*9a7bf1dcSDaniel Pereira--------- 493*9a7bf1dcSDaniel Pereira 494*9a7bf1dcSDaniel Pereira- <https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/> 495*9a7bf1dcSDaniel Pereira- <https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/> 496*9a7bf1dcSDaniel Pereira 497*9a7bf1dcSDaniel PereiraJFSutils 498*9a7bf1dcSDaniel Pereira-------- 499*9a7bf1dcSDaniel Pereira 500*9a7bf1dcSDaniel Pereira- <https://jfs.sourceforge.net/> 501*9a7bf1dcSDaniel Pereira 502*9a7bf1dcSDaniel PereiraXfsprogs 503*9a7bf1dcSDaniel Pereira-------- 504*9a7bf1dcSDaniel Pereira 505*9a7bf1dcSDaniel Pereira- <https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git> 506*9a7bf1dcSDaniel Pereira- <https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/> 507*9a7bf1dcSDaniel Pereira 508*9a7bf1dcSDaniel PereiraPcmciautils 509*9a7bf1dcSDaniel Pereira----------- 510*9a7bf1dcSDaniel Pereira 511*9a7bf1dcSDaniel Pereira- <https://www.kernel.org/pub/linux/utils/kernel/pcmcia/> 512*9a7bf1dcSDaniel Pereira 513*9a7bf1dcSDaniel PereiraQuota-tools 514*9a7bf1dcSDaniel Pereira----------- 515*9a7bf1dcSDaniel Pereira 516*9a7bf1dcSDaniel Pereira- <https://sourceforge.net/projects/linuxquota/> 517*9a7bf1dcSDaniel Pereira 518*9a7bf1dcSDaniel Pereira 519*9a7bf1dcSDaniel PereiraIntel P6 microcode 520*9a7bf1dcSDaniel Pereira------------------ 521*9a7bf1dcSDaniel Pereira 522*9a7bf1dcSDaniel Pereira- <https://downloadcenter.intel.com/> 523*9a7bf1dcSDaniel Pereira 524*9a7bf1dcSDaniel Pereiraudev 525*9a7bf1dcSDaniel Pereira---- 526*9a7bf1dcSDaniel Pereira 527*9a7bf1dcSDaniel Pereira- <https://www.freedesktop.org/software/systemd/man/udev.html> 528*9a7bf1dcSDaniel Pereira 529*9a7bf1dcSDaniel PereiraFUSE 530*9a7bf1dcSDaniel Pereira---- 531*9a7bf1dcSDaniel Pereira 532*9a7bf1dcSDaniel Pereira- <https://github.com/libfuse/libfuse/releases> 533*9a7bf1dcSDaniel Pereira 534*9a7bf1dcSDaniel Pereiramcelog 535*9a7bf1dcSDaniel Pereira------ 536*9a7bf1dcSDaniel Pereira 537*9a7bf1dcSDaniel Pereira- <https://www.mcelog.org/> 538*9a7bf1dcSDaniel Pereira 539*9a7bf1dcSDaniel PereiraRedes 540*9a7bf1dcSDaniel Pereira****** 541*9a7bf1dcSDaniel Pereira 542*9a7bf1dcSDaniel PereiraPPP 543*9a7bf1dcSDaniel Pereira--- 544*9a7bf1dcSDaniel Pereira 545*9a7bf1dcSDaniel Pereira- <https://download.samba.org/pub/ppp/> 546*9a7bf1dcSDaniel Pereira- <https://git.ozlabs.org/?p=ppp.git> 547*9a7bf1dcSDaniel Pereira- <https://github.com/paulusmack/ppp/> 548*9a7bf1dcSDaniel Pereira 549*9a7bf1dcSDaniel PereiraNFS-utils 550*9a7bf1dcSDaniel Pereira--------- 551*9a7bf1dcSDaniel Pereira 552*9a7bf1dcSDaniel Pereira- <https://sourceforge.net/project/showfiles.php?group_id=14> 553*9a7bf1dcSDaniel Pereira- <https://nfs.sourceforge.net/> 554*9a7bf1dcSDaniel Pereira 555*9a7bf1dcSDaniel PereiraIptables 556*9a7bf1dcSDaniel Pereira-------- 557*9a7bf1dcSDaniel Pereira 558*9a7bf1dcSDaniel Pereira- <https://netfilter.org/projects/iptables/index.html> 559*9a7bf1dcSDaniel Pereira 560*9a7bf1dcSDaniel PereiraIp-route2 561*9a7bf1dcSDaniel Pereira--------- 562*9a7bf1dcSDaniel Pereira 563*9a7bf1dcSDaniel Pereira- <https://www.kernel.org/pub/linux/utils/net/iproute2/> 564*9a7bf1dcSDaniel Pereira 565*9a7bf1dcSDaniel PereiraOProfile 566*9a7bf1dcSDaniel Pereira-------- 567*9a7bf1dcSDaniel Pereira 568*9a7bf1dcSDaniel Pereira- <https://oprofile.sf.net/download/> 569*9a7bf1dcSDaniel Pereira 570*9a7bf1dcSDaniel PereiraKernel documentation 571*9a7bf1dcSDaniel Pereira******************** 572*9a7bf1dcSDaniel Pereira 573*9a7bf1dcSDaniel PereiraSphinx 574*9a7bf1dcSDaniel Pereira------ 575*9a7bf1dcSDaniel Pereira 576*9a7bf1dcSDaniel Pereira- <https://www.sphinx-doc.org/> 577