|
|
(20 intermediate revisions by 5 users not shown) |
Line 1: |
Line 1: |
| == Overview of Kernels ==
| | {{#widget:AddThis}} |
| | <languages/> |
| | {{Announce|Para nos ajudar a traduzir essa documentação, {{CreateAccount}}, faça login na wiki. Então vá para Actions -> Translate no menu, ou clique no link "Translate this page" acima.Você poderá selecionar pequenas partes dos documentos de instalação e traduzir essas partes para o seu idioma nativo.}} |
|
| |
|
| === {{Package|sys-kernel/vanilla-sources}} ===
| | Esta Seção dará a você um overview dos kernels usados no Funtoo. |
| | Alguns pontos de interesse: |
|
| |
|
| esse vai instalar os fontes do kernel Linux "vanilla" (não modificado). A versão atual recomendada é a 3.x. Funtoo Linux que tem suporte totalmente ao Linux 3.x. As vantagens desse kernel incluem melhoramentos recentes ao [[Pt-br/Linux_Containers|Linux Containers]], uma pilha de rede atual (networking stack) com muitas correções de bug, e alta confiabilidade para desktops e servidores. O lado negativo é que esse kernel deve ser configurado manualmente pelo usuário e não possui built-in ''<code>genkernel</code>'' suporte via a flag USE ''<code>binary</code>'' desta vez.
| | *Muitos dos kernels do Funtoo Linux suportam a USE flag {{c|[[#Binary USE|binary]]}}, descrita abaixo. |
| | *O Funtoo Linux oferece kernels de qualidade de outras Distribuições Linux, como {{c|debian-sources}}. |
| | *Usuários avançados podem querer dar uma olhada em [[Additional Kernel Resources]]. |
|
| |
|
| === {{Package|sys-kernel/gentoo-sources}} === | | ==Overview dos Kernels== |
|
| |
|
| Esse kernel tree é baseado nos kernels stable do [https://www.kernel.org/ kernel.org] com genpatches aplicados [http://dev.gentoo.org/~mpagano/genpatches/about.htm genpatches].
| | === {{Package|sys-kernel/debian-sources-lts}} === |
| o Gentoo patchset visa ter suporte à toda variedade de arquiteturas suportadas pelo Gentoo. A lista de genpatched kernels disponíveis: [http://dev.gentoo.org/~mpagano/genpatches/kernels.htm genpatches-kernels]
| |
|
| |
|
| === {{Package|sys-kernel/openvz-rhel6-stable}} ===
| | Este é o kernel do Debian, a edição estável de longo prazo e o kernel padrão para o Funtoo Linux. '''Esses ebuilds agora suportam a USE flag {{c|binary}}.''' |
| | |
| Esse é um kernel baseado no RHEL6 com suporte a OpenVZ. Esse é agora o kernel preferido para desenvolvimento de produção OpenVZ (production OpenVZ deployments). Ele requer gcc-4.4.5 para ser construído, que vai usará automaticamente sem que o usuário precise utilizar ''<code>gcc-config</code>''. Utilizamos essa versão de gcc desde que essa é a versão de gcc utilizada pela Red Hat para construir esse kernel.
| |
|
| |
|
| === {{Package|sys-kernel/debian-sources}} === | | === {{Package|sys-kernel/debian-sources}} === |
|
| |
|
| Esse é o kernel do Debian. '''Esses ebuilds agora possuem suporte a flag USE ''<code>binary</code>''.''' Daniel adicionou comando especial <tt>config-extract</tt> que pode ser utilizado para listar todas as configurações disponíveis do kernel oficial do Debian, e gerá-las a partir dos arquivos do Debian inclusos com o kernel. Esse kernel tem suporte opcional a [[OpenVZ]], mas é bem melhor utilizar o <tt>openvz-rhel6-stable</tt> se quiser um instalação OpenVZ com qualidade de produção (production-quality OpenVZ). Para mais informações sobre como utilizar <tt>debian-sources</tt> e <tt>config-extract</tt>, veja [[#Using Debian-Sources with Genkernel|Utilizando debian-sources com o Genkernel]] abaixo.
| | Esta é uma versão mais atualizada do kernel Debian, mas menos adequada para sistemas de servidor. |
|
| |
|
| == Binary USE == | | == Binary USE == |
|
| |
|
| Muitos dos kernel ebuilds no Funtoo Linux possuem suporte à flag USE <code>binary</code> muito útil. Ao habilitar essa flag USE e emergir o kernel, o ebuild construirá automaticamente uma imagem binária do kernel, o initramfs e módulos do kernel e instalá-los em <code>/boot</code>. A imagem binária do kernel e do initramfs pode ser utilizadas para inicializar seu sistema Funtoo Linux sem necessidade qualquer configuração adicional. Esse é um ótimo jeito de obter um sistema Funtoo Linux no ar e em execução rapidamente. Aqui está como fazer isso: | | Muitos dos ebuilds de kernel no Funtoo Linux suportam a muito útil USE flag {{c|binary}}. Ao ativar essa USE flag e emergir o kernel, o ebuild criará automaticamente uma imagem binária do kernel, initramfs e módulos do kernel e os instalará em {{c|/boot}}. A imagem binária do kernel e o initramfs podem ser usados para inicializar o sistema Funtoo Linux sem exigir nenhuma configuração adicional. Essa é uma ótima maneira de ter o Funtoo Linux em funcionamento rapidamente. Veja como fazê-lo: |
|
| |
|
| <console>
| | {{console|body= |
| ###i## echo "sys-kernel/openvz-rhel6-stable binary" >> /etc/portage/package.use | | ###i## echo "sys-kernel/debian-sources binary" >> /etc/portage/package.use |
| ###i## emerge openvz-rhel6-stable | | ###i## emerge debian-sources |
| ###i## nano -w /etc/boot.conf | | ###i## nano -w /etc/boot.conf |
| ###i## boot-update | | ###i## ego boot update |
| </console>
| |
| | |
| Mais informações podem ser encontradas no Guia de [[Funtoo_Linux_Installation|Instalação do Funtoo Linux]].
| |
| | |
| == Funtoo Linux Genkernel ==
| |
| | |
| O Funtoo Linux contem uma versão forked/enhanced do genkernel com as novas compatibilidades:
| |
| | |
| * genkernel pode utilizar um diretório build que é separado do diretório kernel source. Isso é habilitado utilizando a nova opção <tt>--build-dst</tt>.
| |
| * <code>--build-src</code> é uma nova opção que é equivalente a opção <tt>--kerneldir</tt>.
| |
| * <code>--fullname</code> pode ser utilizado para especificar o nome inteiro das imagens do kernel e do initramfs -- Tudo depois <tt>kernel-</tt> e de <tt>initramfs-</tt>.
| |
| * <code>--firmware-src</code> - uma nova opção que funciona identic ao <tt>--firmware-dir</tt>.
| |
| * <code>--firmware-dst</code> - uma nova compatibilidade - você pode agora definir onde o genkernel instala o firmware.
| |
| * Genkernel utiliza o Funtoo Linux <code>lvm2</code> ao invés de construir o seu próprio.
| |
| * Algumas correções de compilação.
| |
| | |
| == Estabilidade do Kernel e visão geral da estabilidade ==
| |
| | |
| {{Fancywarning|'''SPARC64''': Todos os kernels além das séries 3.9 e antes do 3.14-rc8 estão sujeitos a um [http://www.spinics.net/lists/sparclinux/msg11805.html bug] que abriga o kernel nas máquinas sun4v '''somente'''. Esses últimos são fornecidos com UltraSPARC T1 e mais recentes CPUs (ex. SunFire T1000, SunFire T2000, SunFire T52x0/T54x0 series...), todas as máquinas sun4u (UltraSPARC IV e CPUs antecedentes) não estão sujeitos a esse problema e qualquer versão de kernel funcional. }}
| |
| | |
| {| {{table}}
| |
| !Nome do Kernel
| |
| !Versão
| |
| !USE flags
| |
| !Estabilidade
| |
| !Recursos Extras
| |
| !Req'd udev
| |
| !Notas
| |
| |-
| |
| |<tt>{{Package|sys-kernel/vanilla-sources}}</tt>
| |
| |3.17.0
| |
| |N/A
| |
| |'''Excelente''' - recomendado para desktops e servidores.
| |
| |N/A
| |
| |Qualquer
| |
| |Recomendado para networking stack atuais, hardware e suporte a [[Pt-br/Linux_Containers|Linux Containers]]. Esse kernel deve ser manualmente configurado pelo usuário. Novos Recursos: [http://kernelnewbies.org/Linux_3.12 kernelnewbies.org/linux_3.12] Novos Drivers: [http://kernelnewbies.org/Linux_3.12-DriversArch kernelnewbies/Linux_3.12-DriversArch]
| |
| |-
| |
| |<tt>{{Package|sys-kernel/gentoo-sources}}</tt>
| |
| |3.17.0
| |
| |N/A
| |
| |'''Excelente''' - recomendado para desktops e workstations
| |
| |N/A
| |
| |Qualquer
| |
| |Recomendado para networking stack atuais, hardware e suporte a [[Linux Containers]]. Esse kernel deve ser configurado manualmente pelo usuário. Novos Recursos: [http://kernelnewbies.org/Linux_3.12 kernelnewbies.org/linux_3.12] Novos Drivers: [http://kernelnewbies.org/Linux_3.12-DriversArch kernelnewbies/Linux_3.12-DriversArch]
| |
| |-
| |
| |<tt>{{Package|sys-kernel/openvz-rhel6-stable}}</tt>
| |
| |2.6.32.042.092.2
| |
| |<tt>binary</tt>
| |
| |'''Excelente''' - recomendado para servidores de produção
| |
| |N/A
| |
| |Qualquer
| |
| |Esse kernel é construído com o gcc-4.4.5. <tt>emerge broadcom-netxtreme2</tt> para confiável suporte a BCM5709+ (NIC integrado)
| |
| | |
| |-
| |
| |<tt>{{Package|sys-kernel/debian-sources}}</tt>
| |
| |3.16.2, 3.16.7, 3.19.3
| |
| |<tt>openvz</tt>
| |
| |''Bom'' - kernel padrão recomendado pelo Funtoo
| |
| |OpenVZ (opcional)
| |
| |Qualquer
| |
| |Veja [[#Using debian-sources with Genkernel]], abaixo.
| |
| |-
| |
| |}
| |
| | |
| == Utilizando o Debian-Sources com o Genkernel ==
| |
| | |
| {{fancyimportant|Debian-sources está agora totalmente compatível com a flag USE ''binary'' e recomendado para usuários desktop. O exemplo abaixo é válido para instalação manual. Ao menos 12G de ''/var/tmp'' exigido para construir}}
| |
| | |
| Essa seção descreve como construir um kernel binário com ''<code>debian-sources</code>'' e ''<code>genkernel</code>'', e também explica como utilizar a ferramenta ''<code>config-extract</code>'' do Funtoo Linux para listar e criar configurações do kernel oficial do Debian.
| |
| | |
| === Primeiro passo: emergir os pacotes necessários ===
| |
| | |
| O primeiro passo é emergir:
| |
| | |
| # O Debian sources
| |
| # Genkernel em si
| |
| | |
| Isso é alcançado ao executar o seguinte:
| |
| | |
| <console>
| |
| ###i## emerge -av sys-kernel/debian-sources sys-kernel/genkernel
| |
| </console>
| |
| | |
| uma vez que o kernel sources do Debian são implantados, você deve encontrar um diretório nomeado '''linux-debian-''versão''''' (ex. linux-debian-2.6.32.30) sob '''<code>/usr/src</code>'''. Atualize seu link simbólico '''<code>linux</code>''' para apontar no seu diretório:
| |
| <console>
| |
| ###i## cd /usr/src
| |
| ###i## rm linux
| |
| ###i## ln -s linux-debian-2.6.32.30 linux
| |
| </console>
| |
| | |
| Alternativamente, emerge o debian-sources com a flag USE ''<code>symlink</code>''.
| |
| | |
| === Segundo passo: Obter um arquivo de configuração ===
| |
| | |
| É hora de baixar o arquivo de configuração do kernel. Para esse tutorial utilizaremos um arquivo de configuração para o AMD64 (várias outras arquiteturas como MIPS ou SPARC64 estão disponíveis.) Para visualizar uma lista completa de configurações de kernel disponíveis, digite <code>./config-extract -l</code> ''' no diretório kernel source do Debian''':
| |
| | |
| <pre>
| |
| ninja1 linux-debian-2.6.32.30 # ./config-extract -l
| |
| | |
| ====== standard featureset ======
| |
| | |
| alpha: alpha-generic, alpha-legacy, alpha-smp
| |
| amd64
| |
| armel: iop32x, ixp4xx, kirkwood, orion5x, versatile
| |
| hppa: parisc, parisc-smp, parisc64, parisc64-smp
| |
| i386: 486, 686, 686-bigmem, amd64
| |
| ia64: itanium, mckinley
| |
| m68k: amiga, atari, bvme6000, mac, mvme147, mvme16x
| |
| mips: 4kc-malta, 5kc-malta, r4k-ip22, r5k-ip32, sb1-bcm91250a, sb1a-bcm91480b
| |
| mipsel: 4kc-malta, 5kc-malta, r5k-cobalt, sb1-bcm91250a, sb1a-bcm91480b
| |
| powerpc: powerpc, powerpc-smp, powerpc64
| |
| s390: s390x, s390x-tape
| |
| sh4: sh7751r, sh7785lcr
| |
| sparc: sparc64, sparc64-smp
| |
| sparc64: sparc64, sparc64-smp
| |
| | |
| ====== vserver featureset ======
| |
| | |
| amd64
| |
| i386: 686, 686-bigmem
| |
| ia64: itanium, mckinley
| |
| powerpc: powerpc, powerpc64
| |
| s390
| |
| sparc
| |
| sparc64
| |
| | |
| ====== xen featureset ======
| |
| | |
| amd64
| |
| i386
| |
| | |
| ====== openvz featureset ======
| |
| | |
| amd64
| |
| i386
| |
| </pre>
| |
| | |
| Digite <tt>config-extract -h</tt> para informações de uso extendidas:
| |
| | |
| <pre>
| |
| ninja1 linux-debian-2.6.32.30 # ./config-extract -h
| |
| This work is free software.
| |
| | |
| Copyright 2011 Funtoo Technologies. You can redistribute and/or modify it under
| |
| the terms of the GNU General Public License version 3 as published by the Free
| |
| Software Foundation. Alternatively you may (at your option) use any other
| |
| license that has been publicly approved for use with this program by Funtoo
| |
| Technologies (or its successors, if any.)
| |
| | |
| usage: config-extract [options] arch [featureset] [subarch]
| |
| | |
| -h --help print this usage and exit
| |
| -l --list list all available kernel configurations
| |
| -o --outfile specify kernel config outfile --
| |
| defaults to .config in current directory
| |
| [featureset] defaults to "none" if not specified
| |
| [subarch] defaults to the only one available; otherwise required
| |
| | |
| This program was written by Daniel Robbins for Funtoo Linux, for the purpose of
| |
| easily and conveniently extracting Debian kernel configurations. To see a nice
| |
| list of all available kernel configurations, use the --list option.
| |
| | |
| Debian's kernel configs are specified internally in arch_featureset_flavor
| |
| format, such as: "amd64_openvz_amd64". The featureset typically describes an
| |
| optional kernel configuration such as "xen" or "openvz", while the flavor in
| |
| Debian terminology typically refers to the sub-architecture of the CPU.
| |
| | |
| When using this command, you must specify an arch. A featureset of "none" is
| |
| assumed unless you specify one, and by default this program will pick the only
| |
| available subarch if there is only one to choose from. If not, you will need to
| |
| pick one (and the program will remind you to do this.)
| |
| | |
| The kernel configuration will be written to ".config" in the current directory,
| |
| or the location you specified using the -o/--outfile option.
| |
| </pre>
| |
| | |
| Vamos utilizar <tt>config-extract</tt> para gerar uma configuração de kernel para um sistema amd64:
| |
| | |
| <console>
| |
| # ##i##cd linux
| |
| # ##i##./config-extract amd64
| |
| Wrote amd64_none_amd64 kernel configuration to /usr/src/linux-debian-2.6.32.30/.config.
| |
| </console>
| |
| | |
| <tt>config-extract</tt> também lhe permite extrair configurações de recursos especiais do Debian, tal como configurações de kernels para Xen e [[OpenVZ]]:
| |
| | |
| <console>
| |
| # ##i##./config-extract amd64 openvz
| |
| Wrote amd64_openvz_amd64 kernel configuration to /usr/src/linux-debian-2.6.32.30/.config.
| |
| </console>
| |
| | |
| '''É necessário nomear o nome do arquivo de configuração do kernel para outro diferente de ".config" para evitar erros com o genkernel.'''
| |
| | |
| | |
| Depois de utilizar o <tt>config-extract</tt>, execute <tt>make oldconfig</tt> e aceite todas as opções padrões ao pressionar Enter em todos os prompts.
| |
| | |
| | |
| {{fancynote|se vocẽ estiver utilizando o sistema de arquivo XFS como sua partição root: execute <tt>make menuconfig</tt> e certifiqui-se de que "File Systems --> XFS filesystem support" e "Library Routines --> CRC32c (Castagnoli, et al) Cyclic Redundancy-Check" estão ambos configurados para * (e não [m]).}}
| |
| Isso é necessário para assegurar que seu sistema pode inicializar corretamente pelas versẽos do kernel >= 3.10.11.
| |
| | |
| === Terceiro passo: Construir e instalar o kernel ===
| |
| | |
| Isso é simplesmente obtido ao:
| |
| | |
| <console>
| |
| # ##i##genkernel --kernel-config=config-2.6.32-5-amd64 all
| |
| </console>
| |
| | |
| * --kernel-config: utilize o configfile dado. Se você der somente um filename aqui, ele é procurando em seu diretório de funcionamento atual. Você pode também utilizar um caminho relativo ou absoluto (relative or an absolute path) guiando o seu configfile aqui (por exemplo: "--kernel-config=/usr/src/linux/configfile").
| |
| * all: reconstrua a imagem do kernel e a imagem da ramdisk initramfs (aparte dos módulos do kernel, a imagem do ramdisk contem as ferramentas como BusyBox e alguns scripts de genéricos inicialização, dependendo das opções que você utilizar na linha de comando várias ferramentas adicionais como lvm ou raid volume management podem ser incorporados também).
| |
| | |
| {{ fancyimportant|Ao menos que seja explicitamente declarado via ''--no-clean'' ou ''--no-mrproper'', o Genkernel fará um '''make mrproper''' no kernel source tree, limpando assim o build anterior '''e removendo o aqruivo de configuração de kernel anterior''' nisso.
| |
| }} | | }} |
|
| |
|
| Se você utiliza o Genkernel para reconstruir o kernel Linux em SPARC64, lembre-se de:
| | Mais informações podem ser encontradas em Guia de [[Instalação do Funtoo Linux]]. |
| * Definir '''sparc64-unknown-linux-gnu-''' no ''General setup --> Cross-compiler tool prefix''
| |
| * Colocar '''--kernel-cross-compile=sparc64-unknown-linux-gnu-''' na linha de comando Genkernel
| |
| | |
| Uma vez que o kernel tem sido compilado a ram disk (ramdisk) tem sido gerada, a imagem do kernel mais seus arquivos associados (imagem initramfs e System.map) são colocados no diretório /boot. Você pode utilizar sua ferramenta favorita para atualizar seus arquivos de configuração de bootloader.
| |
|
| |
|
| [[Category:Internals]] | | [[Category:Recursos do Funtoo]] |
| [[Category:Funtoo features]]
| |
| [[Category:Kernel]] | | [[Category:Kernel]] |
| [[Category:Official Documentation]] | | [[Category:Documentação Oficial]] |