Manual:MIPS/Instalação/Base

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Handbook:MIPS/Installation/Base and the translation is 100% complete.
MIPS Manual
Installation
Sobre a instalação
Escolhendo a mídia
Configurando a rede
Preparando os discos
Instalando o stage3
Instalando o sistema base
Configurando o kernel
Configurando o sistema
Instalando as ferramentas
Configurando o gerenciador de boot
Finalizando
Trabalhando com o Gentoo
Introdução ao Portage
USE flags
Recursos do Portage
Sistema initscript
Variáveis de ambiente
Trabalhando com o portage
Arquivos e diretórios
Variáveis
Misturando ramos de software
Ferramentas adicionais
Árvore customizada do Portage
Recursos avançados
Configuração de rede
Iniciando
Configuração avançada
Uso de rede modular
Rede sem fio
Adicionando funcionalidade
Gerenciamento dinâmico

Copie as informações de DNS

Resta ainda uma coisa a ser feita antes de entrar no novo ambiente que é copiar sobre a informação de DNS em /etc/resolv.conf. Isso precisa ser feito para assegurar que a rede ainda funciona mesmo após entrar no novo ambiente. O /etc/resolv.conf contém os servidores de nomes da rede.

Para copiar essa informação, é recomendado passar a opção --dereference do comando cp. Isso assegura que, se o /etc/resolv.conf for um link simbólico, que o arquivo alvo é copiado em vez do link simbólico em si. De outra forma, no novo ambiente o link simbólico apontaria para um arquivo não existente (pois é muito provável que o alvo do link não estará disponível dentro do novo ambiente).

root #cp --dereference /etc/resolv.conf /mnt/gentoo/etc/

Montando os sistemas de arquivos necessários

Em alguns momentos, a raiz do Linux será alterada para a nova localidade. Para garantir que o novo ambiente funciona corretamente, alguns sistemas de arquivos precisam estar disponíveis lá também.

Os sistemas de arquivos que precisam estar disponíveis são:

  • /proc/ que é um pseudo sistema de arquivos (ele se parece com arquivos normais, mas na verdade é gerado "no voo") do qual o kernel do Linux expõe informação para o ambiente
  • /sys/ que é um pseudo sistema de arquivos, como o /proc/ o qual era para substituir, sendo mais estruturado que o /proc/
  • /dev/ é um sistema de arquivos normal, parcialmente gerenciado pelo gerenciador de dispositivos do Linux (normalmente o udev), que contém todos os arquivos de dispositivos

A localidade /proc/ será montada em /mnt/gentoo/proc/ enquanto as outras duas são montadas como "bind". Isso significa que, por exemplo, /mnt/gentoo/sys/ será, na verdade, /sys/ (sendo na verdade apenas um segundo ponto de entrada para o mesmo sistema de arquivos) enquanto /mnt/gentoo/proc/ é uma nova montagem ("instância", para usar o termo) do sistema de arquivo.

Dica
If using Gentoo's install media, this step can be replaced with simply: arch-chroot /mnt/gentoo.
root #mount --types proc /proc /mnt/gentoo/proc
root #mount --rbind /sys /mnt/gentoo/sys
root #mount --make-rslave /mnt/gentoo/sys
root #mount --rbind /dev /mnt/gentoo/dev
root #mount --make-rslave /mnt/gentoo/dev
root #mount --bind /run /mnt/gentoo/run
root #mount --make-slave /mnt/gentoo/run
Nota
As operações --make-rslave são necessárias para o suporte ao systemd mais tarde na instalação.
Aviso
Se usar uma mídia de instalação que não seja do Gentoo, os passos anteriores podem não ser suficientes. Algumas distribuições criam o /dev/shm como um link simbólico para o /run/shm/ que, após o chroot, torna-se inválido. Fazer do /dev/shm/ uma montagem tmpfs apropriada desde já pode corrigir isso:
root #test -L /dev/shm && rm /dev/shm && mkdir /dev/shm
root #mount --types tmpfs --options nosuid,nodev,noexec shm /dev/shm

Assegure-se também de usar o modo 1777:

root # chmod 1777 /dev/shm

Entrando no novo ambiente

Agora que todas as partições estão inicializadas e o ambiente base está instalado, é hora de entrar no novo ambiente de instalação fazendo chroot nele. Isso significa que a sessão irá alterar sua "raiz" (o diretório mais alto que pode ser acessado) do ambiente atual de instalação (CD de instalação ou outra mídia) para o sistema de instalação (as partições inicializadas). Por isso o nome "change root" (trocar a "raiz") ou "chroot".

O chroot é feito em três passos:

  1. A localização raiz é trocada de / (na mídia de instalação) para /mnt/gentoo/ (nas partições) usando o comando chroot
  2. Algumas configurações (aquelas em /etc/profile) são carregadas na memória usando o comando source
  3. O sinal de pronto é trocado para nos ajudar a lembrar que aquela sessão está dentro do ambiente chroot
root #chroot /mnt/gentoo /bin/bash
root #source /etc/profile
root #export PS1="(chroot) ${PS1}"

A partir deste ponto, todas as ações feitas afetam imediatamente o novo ambiente de instalação do Gentoo Linux. É claro que a instalação ainda está longe de ser concluída, sendo por isso que ainda temos algumas seções restantes!

Dica
Se a instalação do Gentoo for interrompida a partir deste ponto, deve ser possível 'retomar' a instalação neste ponto. Não há necessidade de reparticionar os discos novamente! Apenas monte a partição root e execute os passos acima iniciando em Copie as informações de DNS para reentrar no ambiente funcional. Isso também é útil para corrigir problemas com o gerenciador de boot. Maiores informações podem ser encontradas no artigo chroot.

Preparing for a bootloader

Now that the new environment has been entered, it is necessary to prepare the new environment for the bootloader. It will be important to have the correct partition mounted when it is time to install the bootloader.

UEFI systems

For UEFI systems, was formatted with the FAT32 filesystem and will be used as the EFI System Partition (ESP). Create a new directory (if not yet created), and then mount ESP there:

root #mkdir # May have been created in a previous step
root #mount

DOS/Legacy BIOS systems

For DOS/Legacy BIOS systems, the bootloader will be installed into the directory, therefore mount as follows:

root #mount /dev/sda1

Configurando o Portage

Repositório ebuild do Gentoo

Um segundo passo importante na seleção de espelhos é configurar o repositório ebuild do Gentoo através o arquivo /etc/portage/repos.conf/gentoo.conf. Esse arquivo contém as informações para sincronização necessárias para atualizar a árvore do Portage (a coleção de ebuilds e arquivos relacionados contendo toda a informação que o Portage precisa para baixar e instalar pacotes de software).

A configuração do repositório pode ser feita em alguns passos simples. Primeiro, se ele não existir, crie o diretório repos.conf:

root #mkdir --parents /mnt/gentoo/etc/portage/repos.conf

Depois, copie o arquivo de configuração do repositório fornecido pelo Portage para o recém-criado diretório repos.conf:

root #cp /mnt/gentoo/usr/share/portage/config/repos.conf /mnt/gentoo/etc/portage/repos.conf/gentoo.conf

Dê uma olhada com um editor de textos ou usando o comando cat. O arquivo deve estar no formato .ini e se parecer com:

FILE /mnt/gentoo/etc/portage/repos.conf/gentoo.conf
[DEFAULT]
main-repo = gentoo
 
[gentoo]
location = /var/db/repos/gentoo
sync-type = rsync
sync-uri = rsync://rsync.gentoo.org/gentoo-portage
auto-sync = yes
sync-rsync-verify-jobs = 1
sync-rsync-verify-metamanifest = yes
sync-rsync-verify-max-age = 24
sync-openpgp-key-path = /usr/share/openpgp-keys/gentoo-release.asc
sync-openpgp-key-refresh-retry-count = 40
sync-openpgp-key-refresh-retry-overall-timeout = 1200
sync-openpgp-key-refresh-retry-delay-exp-base = 2
sync-openpgp-key-refresh-retry-delay-max = 60
sync-openpgp-key-refresh-retry-delay-mult = 4

O valor da variável default sync-uri listada acima irá determinar a localização do espelho baseado em um esquema de rotação. Isso irá ajudar a diminuir o impacto do uso da infraestrutura do Gentoo e prover uma segurança no caso de um espelho específico ficar indisponível. É recomendável que a URI default seja mantida a menos que um espelho local privado do Portage seja usado.

Dica
Para os interessados, a especificação oficial da API de sincronização do plugin do Portage pode ser encontrada no Artigo sobre sincronização do projeto do Portage.

Instalando um instantâneo do repositório ebuild da web

O próximo passo é instalar um instantâneo do repositório principal do ebuild. O instantâneo contém uma coleção de arquivos que informa ao Portage sobre quais softwares estão disponíveis para instalação, quais perfis o administrador do sistema pode selecionar, ítens de notícias específicas de um pacote ou perfil etc.

O uso do comando emerge-webrsync é recomendado para os usuários que estão atrás de firewalls restritivos (porque ele usa os protocolos HTTP/FTP para baixar o instantâneo) e economiza banda de rede. Leitores que não tiverem restrições de rede ou de banda podem tranquilamente pular para a próxima seção.

Isso irá baixar o último instantâneo (que é liberado diariamente) de um dos espelhos do Gentoo e instalá-lo no sistema:

root #emerge-webrsync
Nota
Durante essa operação, o emerge-webrsync pode reclamar que o diretório /var/db/repos/gentoo/ não existe. Isso já é esperado e não é motivo para preocupação - a ferramenta irá criar o diretório.

A partir deste ponto, o Portage pode avisar que sejam executadas algumas atualizações recomendadas. Isso é porque alguns pacotes do sistema instalados através do arquivo stage podem ter novas versões disponíveis; o Portage fica sabendo dos novos pacotes através do instantâneo do repositório. As atualizações de pacotes podem ser ignoradas de forma segura por enquanto; as atualizações podem ser postergadas até que a instalação do Gentoo estiver finalizada.


Opcional: Selecionando espelhos

Para baixar o código fonte rapidamente é recomendado selecionar um espelho rápido. O portage procura no arquivo make.conf pela variável GENTOO_MIRRORS e usa os espelhos configurados lá. É possível navegar pela lista de espelhos do Gentoo e procurar um espelho (ou espelhos) que está perto da sua localização física (pois esses frequentemente são os mais rápidos). Entretanto, nós fornecemos uma boa ferramenta chamada mirrorselect que provê ao usuário uma boa interface para selecionar os espelhos necessários. Simplesmente navegue até os espelhos escolhidos e tecle Espaço para selecionar um ou mais espelhos.

A tool called mirrorselect provides a pretty text interface to more quickly query and select suitable mirrors. Just navigate to the mirrors of choice and press Spacebar to select one or more mirrors.

root #mirrorselect -i -o >> /mnt/gentoo/etc/portage/make.conf

Alternatively, a list of active mirrors are available online.

Opcional: Atualizando o repositório ebuild

É possível atualizar o repositório ebuild do Gentoo para a última versão. O comando emerge-webrsync anterior instalou um instantâneo do Portage bem recente (normalmente tão recente quanto 24 horas) de modo que este passo é totalmente opcional.

Supondo que há necessidade da última atualização dos pacotes (menos de 1 hora), use emerge --sync. Esse comando irá usar o protocolo rsync para atualizar o repositório ebuild do Gentoo (que foi baixada anteriormente através do emerge-webrsync) ao seu estado mais recente.

root #emerge --sync

Em terminais lentos, tais como alguns "framebuffers" ou consoles seriais, é recomendado usar a opção --quiet para agilizar o processo:

root #emerge --sync --quiet

Lendo itens de notícias

Quando o repositório ebuild do Gentoo é sincronizada com o sistema, o Portage pode mostrar ao usuário mensagens similares a seguinte:

* IMPORTANT: 2 news items need reading for repository 'gentoo'.
* Use eselect news to read news items.

Ítens de notícias foram criados para prover um meio de comunicação para enviar mensagens aos usuários através da árvore do portage. Para gerenciá-las, use eselect news. A aplicação eselect é uma aplicação do Gentoo que provê uma interface de gerenciamento comum voltada para alterações e operações. Nesse caso, o eselect é acionado para usar seu módulo news.

Para o módulo news, três operações são mais utilizadas:

  • Com list, é mostrada uma lista dos itens de notícias disponíveis
  • Com read, os itens de notícias podem ser lidos
  • Com purge, itens de notícias podem ser removidos depois de lidos e não forem ser mais relidos
root #eselect news list
root #eselect news read

Mais informações sobre o leitor de notícias estão disponíveis através de sua página de manual:

root #man news.eselect

Escolhendo o perfil correto

Dica
Desktop profiles are not exclusively for desktop environments. They are also suitable for minimal window managers like i3 or sway.

Um perfil (profile) é uma peça fundamental para qualquer sistema Gentoo. Não apenas ele especifica valores padrões para o USE, CFLAGS e outras variáveis importantes, ele também trava o sistema em um dado conjunto de versões de pacotes. Essas configurações são mantidas pelos desenvolvedores do Portage do Gentoo.

Você pode ver qual perfil o sistema está usando com o eselect, agora usando com o módulo profile:

root #eselect profile list
Available profile symlink targets:
  [1]   default/linux/mips/ *
  [2]   default/linux/mips//desktop
  [3]   default/linux/mips//desktop/gnome
  [4]   default/linux/mips//desktop/kde
Nota
A saída do comando é apenas um exemplo e evolui com o tempo.

Como pode ser visto, há também subperfis de desktops disponíveis para algumas arquiteturas.

Aviso
Atualizações de perfis não devem ser empreendidas levianamente. Ao selecionar o perfil inicial, certifique-se de usar perfil correspondente a mesma versão que a inicialmente usado pelo stage3 (por ex. 17.0). Cada nova versão de perfil é anunciada através de um novo item de notícia contendo instruções para migração. Tenha certeza de ler e seguir as instruções antes de mudar para um novo perfil.

Depois de visualizar os perfis disponíveis para a arquitetura mips, os usuários podem selecionar um perfil diferente para o sistema:

root #eselect profile set 2



Nota
O subperfil developer (desenvolvedor) é específico para o desenvolvimento do Gentoo Linux e não é destinado para uso por usuários casuais.

Optional: Adding a binary package host

Since December 2023, Gentoo's Release Engineering team has offered an official binary package host (colloquially shorted to just "binhost") for use by the general community to retrieve and install binary packages (binpkgs).[1]

Adding a binary package host allows Portage to install cryptographically signed, compiled packages. In many cases, adding a binary package host will greatly decrease the mean time to package installation and adds much benefit when running Gentoo on older, slower, or low power systems.

Repository configuration

The repository configuration for a binhost is found in Portage's /etc/portage/binrepos.conf/ directory, which functions similarly to the configuration mentioned in the Gentoo ebuild repository section.

When defining a binary host, there are two important aspects to consider:

  1. The architecture and profile targets within the sync-uri value do matter and should align to the respective computer architecture (mips in this case) and system profile selected in the Choosing the right profile section.
  2. Selecting a fast, geographically close mirror will generally shorten retrieval time. Review the mirrorselect tool mentioned in the Optional: Selecting mirrors section or review the online list of mirrors where URL values can be discovered.

FILE /etc/portage/binrepos.conf/gentoo.confCDN-based binary package host example
[binhost]
priority = 9999
sync-uri = https://distfiles.gentoo.org/releases/<arch>/binpackages/<profile>/x86-64/

Installing binary packages

Portage will compile packages from code source by default. It can be instructed to use binary packages in the following ways:

  1. The --getbinpkg option can be passed when invoking the emerge command. This method of for binary package installation is useful to install only a particular binary package.
  2. Changing the system's default via Portage's FEATURES variable, which is exposed through the /etc/portage/make.conf file. Applying this configuration change will cause Portage to query the binary package host for the package(s) to be requested and fall back to compiling locally when no results are found.

For example, to have Portage always install available binary packages:

FILE /etc/portage/make.confConfigure Portage to use binary packages by default
# Appending getbinpkg to the list of values within the FEATURES variable
FEATURES="${FEATURES} getbinpkg"
# Require signatures
FEATURES="${FEATURES} binpkg-request-signature"

Additional Portage features will be discussed in the the next chapter of the handbook.

Configurando as variáveis USE

A USE é uma das mais poderosas variáveis que o Gentoo provê aos seus usuários. Muitos programas podem ser compilados com ou sem suporte para certos itens. Por exemplo, alguns programas podem ser compilados com suporte ao GTK+ ou ao QT. Outros podem ser compilados com ou sem suporte ao SSL. Alguns programas podem até ser compilados com suporte a framebuffer (svgalib) em vez de suporte ao X11 (X-server).

A maioria das distribuições compilam seus pacotes com o máximo possível de suporte, aumentando o tamanho dos programas e o tempo de carga, sem contar o enorme número de dependências. Com o Gentoo, os usuários podem definir com quais opções um pacote deve ser compilado. É aqui que a USE entra em cena.

Na variável USE os usuários definem palavras-chave que serão mapeadas em opções de compilação. Por exemplo, ssl irá compilar suporte ao SSL em programas que o suportam. -X irá remover suporte ao servidor X (note o sinal de menos na frente). gnome gtk -kde -qt5 irá compilar programas com suporte ao GNOME (e GTK+) mas não ao KDE (e Qt), fazendo o sistema ajustado para o GNOME (se a arquitetura o suportar).

Os padrões para as configurações USE estão armazenados nos arquivos make.defaults do perfil do Gentoo usado pelo sistema. O Gentoo usa um (complexo) sistema de herança para seus perfis, no qual ainda não nos aprofundamos neste estágio. O modo mais fácil de checar as configurações USE ativas é executar emerge --info e selecionar a linha que começa com USE:

root #emerge --info | grep ^USE
USE="X acl alsa amd64 berkdb bindist bzip2 cli cracklib crypt cxx dri ..."
Nota
O exemplo acima está truncado, a lista real das variáveis USE é muito, muito maior.

Uma descrição completa das flags USE disponíveis pode ser encontrada no sistema em /var/db/repos/gentoo/profiles/use.desc.

root #less /var/db/repos/gentoo/profiles/use.desc

Dentro do comando less, a rolagem pode ser feita usando as teclas e , e sair pressionando q.

Como exemplo, mostramos uma configuração USE para um sistema baseado no KDE com suporte a DVD, ALSA e gravação de CD:

root #nano -w /etc/portage/make.conf
FILE /etc/portage/make.confHabilitando USE para um sistema baseado em KDE com suporte a DVD, ALSA e gravação de CD
USE="-gtk -gnome qt5 kde dvd alsa cdr"

Quando a USE é definida em /etc/portage/make.conf ela é "adicionada" (ou "removida" se a flag iniciar com o sinal -) da lista padrão. Usuários que quiserem ignorar toda a configuração padrão USE e gerenciá-la completamente por conta devem iniciar a definição USE com -*:

FILE /etc/portage/make.confIgnorando as flags USE padrão
USE="-* X acl alsa"
Aviso
Mesmo sendo possível, definir -* (como no exemplo acima) é desencorajado pois USE flags default cuidadosamente escolhidas podem ter sido configuradas em alguns ebuild para evitar conflitos e outros erros.

CPU_FLAGS_*

Some architectures (including AMD64/X86, ARM, PPC) have a USE_EXPAND variable called CPU_FLAGS_<ARCH>, where <ARCH> is replaced with the relevant system architecture name.

Importante
Do not be confused! AMD64 and X86 systems share some common architecture, so the proper variable name for AMD64 systems is CPU_FLAGS_X86.

This is used to configure the build to compile in specific assembly code or other intrinsics, usually hand-written or otherwise extra, and is not the same as asking the compiler to output optimized code for a certain CPU feature (e.g. -march=).

Users should set this variable in addition to configuring their COMMON_FLAGS as desired.

A few steps are needed to set this up:

root #emerge --ask app-portage/cpuid2cpuflags

Inspect the output manually if curious:

root #cpuid2cpuflags

Then copy the output into package.use:

root #echo "*/* $(cpuid2cpuflags)" > /etc/portage/package.use/00cpu-flags

VIDEO_CARDS

The VIDEO_CARDS USE_EXPAND variable should be configured appropriately depending on the available GPU(s). Setting VIDEO_CARDS is not required for a console only install.

Below is an example of a properly set VIDEO_CARDS variable. Substitute the name of the driver(s) to be used.

FILE /etc/portage/make.conf
VIDEO_CARDS="amdgpu radeonsi"

Details for various GPU(s) can be found at the AMDGPU, Intel, Nouveau (Open Source), or NVIDIA (Proprietary) articles.

Opcional: Configurando a variável ACCEPT_LICENSE

Starting with Gentoo Linux Enhancement Proposal 23 (GLEP 23), a mechanism was created to allow system administrators the ability to "regulate the software they install with regards to licenses... Some want a system free of any software that is not OSI-approved; others are simply curious as to what licenses they are implicitly accepting."[2] With a motivation to have more granular control over the type of software running on a Gentoo system, the ACCEPT_LICENSE variable was born.

O Gentoo vem com um valor predefinido nos perfis, por exemplo:

user $portageq envvar ACCEPT_LICENSE
@FREE

Os grupos de licenças definidos no repositório Gentoo, gerenciados pelo Projeto de Licenças do , são:

Nome do Grupo Descrição
@GPL-COMPATIBLE Licenças compatíveis com a GPL aprovadas pela Fundação Software Livre (FSF - Free Software Foundation) [a_license 1]
@FSF-APPROVED Licenças de software livre aprovadas pela FSF (inclui @GPL-COMPATIBLE)
@OSI-APPROVED Licenças aprovadas pela Iniciativa do Software Aberto (OSI - Open Source Initiative) [a_license 2]
@MISC-FREE Miscelânea de licenças que são provavelmente software livre, isto é, seguem a Definição de Software Livre (Free Software Definition) [a_license 3] mas que não são aprovadas pela FSF ou OSI
@FREE-SOFTWARE Combina @FSF-APPROVED, @OSI-APPROVED e @MISC-FREE
@FSF-APPROVED-OTHER Licenças aprovadas pela FSF para "documentação livre" e "trabalhos de uso prático além de software e documentação" (incluindo fontes)
@MISC-FREE-DOCS Miscelânea de licenças para documentos livres e outros trabalhos (incluindo fontes) que seguem a definição de livre [a_license 4] mas NÃO são listadas em @FSF-APPROVED-OTHER
@FREE-DOCUMENTS Combina @FSF-APPROVED-OTHER e @MISC-FREE-DOCS
@FREE Combina @FREE-SOFTWARE e @FREE-DOCUMENTS
@BINARY-REDISTRIBUTABLE Inclui @FREE e outros softwares livremente distribuíveis de código fechado que não tem um Acordo de Licença para o Usuário Final (EULA - End-User License Agreement)
@EULA Acordos de Licença que tentam tirar seus direitos. São mais restritivas do que "todos os direitos reservados" ou requerem aprovação explícita

Some common license groups include:

A list of software licenses grouped according to their kinds.
Name Description
@GPL-COMPATIBLE GPL compatible licenses approved by the Free Software Foundation [a_license 5]
@FSF-APPROVED Free software licenses approved by the FSF (includes @GPL-COMPATIBLE)
@OSI-APPROVED Licenses approved by the Open Source Initiative [a_license 6]
@MISC-FREE Misc licenses that are probably free software, i.e. follow the Free Software Definition [a_license 7] but are not approved by either FSF or OSI
@FREE-SOFTWARE Combines @FSF-APPROVED, @OSI-APPROVED, and @MISC-FREE.
@FSF-APPROVED-OTHER FSF-approved licenses for "free documentation" and "works of practical use besides software and documentation" (including fonts)
@MISC-FREE-DOCS Misc licenses for free documents and other works (including fonts) that follow the free definition [a_license 8] but are NOT listed in @FSF-APPROVED-OTHER.
@FREE-DOCUMENTS Combines @FSF-APPROVED-OTHER and @MISC-FREE-DOCS.
@FREE Metaset of all licenses with the freedom to use, share, modify and share modifications. Combines @FREE-SOFTWARE and @FREE-DOCUMENTS.
@BINARY-REDISTRIBUTABLE Licenses that at least permit free redistribution of the software in binary form. Includes @FREE.
@EULA License agreements that try to take away your rights. These are more restrictive than "all-rights-reserved" or require explicit approval

Currently set system wide acceptable license values can be viewed via:

user $portageq envvar ACCEPT_LICENSE
@FREE

As visible in the output, the default value is to only allow software which has been grouped into the @FREE category to be installed.

Specific licenses or licenses groups for a system can be defined in the following locations:

  • System wide within the selected profile - this sets the default value.
  • System wide within the /etc/portage/make.conf file. System administrators override the profile's default value within this file.
  • Per-package within a /etc/portage/package.license file.
  • Per-package within a /etc/portage/package.license/ directory of files.

Isso pode ser customizado para todo o sistema alterando o arquivo /etc/portage/make.conf. O valor default irá aceitar licenças aprovadas explicitamente pela Fundação Software Livre (FSF - Free Software Foundation), pela Iniciativa de de Código Aberto (OSI - Open Source Initiative) ou que seguem a Definição de Software Livre (Free Software Definition):

FILE /etc/portage/make.confCustomizing ACCEPT_LICENSE
ACCEPT_LICENSE="-* @FREE"

Configurações por pacote podem ser adicionadas se necessárias ou desejadas, por exemplo:

FILE /etc/portage/package.license/kernelExemplo de aceitação de licença
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
root #mkdir /etc/portage/package.license

Software license details for an individual Gentoo package are stored within the LICENSE variable of the associated ebuild. One package may have one or many software licenses, therefore it be necessary to specify multiple acceptable licenses for a single package.

FILE /etc/portage/package.license/kernelAccepting licenses on a per-package basis
app-arch/unrar unRAR
sys-kernel/linux-firmware @BINARY-REDISTRIBUTABLE
sys-firmware/intel-microcode intel-ucode
Importante
A variável LICENSE em uma ebuild é apenas uma indicação para os desenvolvedores e usuários do Gentoo. Ela não tem valor legal e não há garantias de que reflita a realidade. Desse modo, não confie cegamente nela, mas cheque o pacote em si cuidadosamente, incluindo todos os arquivos que usar.

Atualizando o conjunto @world

O passo seguinte é necessário de modo ao sistema poder aplicar atualizações ou mudanças de USE flag que apareceram desde que o stage3 foi criado e de qualquer seleção de perfil:

  1. A profile target different from the stage file has been selected.
  2. Additional USE flags have been set for installed packages.

Readers who are performing an 'install Gentoo speed run' may safely skip @world set updates until after their system has rebooted into the new Gentoo environment.

Readers who are performing a slow run can have Portage perform updates for package, profile, and/or USE flag changes at the present time:

root #emerge --ask --verbose --update --deep --newuse @world

Removing obsolete packages

It is important to always depclean after system upgrades to remove obsolete packages. Review the output carefully with emerge --depclean --pretend to see if any of the to-be-cleaned packages should be kept if personally using them. To keep a package which would otherwise be depcleaned, use emerge --noreplace foo.

root #emerge --ask --pretend --depclean

If happy, then proceed with a real depclean:

root #emerge --ask --depclean
Dica
Se um perfil de ambiente completo de desktop foi selecionado, o tempo necessário para o processo de instalação pode ser bastante longo. Aqueles sem muito tempo para a instalação podem seguir a seguinte 'regra geral': quanto menor o nome do perfil, menos específico o conjunto @world; quanto menos específico o conjunto @world, menos pacotes o sistema irá requerer. Em outras palavras:
  • selecionar default/linux/amd64/13.0 irá requerer bem poucos pacotes para atualizar, enquanto
  • selecionar default/linux/amd64/13.0/desktop/gnome/systemd irá requerer muitos pacotes para a instalação uma vez que o sistema de inicialização será trocado do OpenRC para systemd e o ambiente de trabalho GNOME será instalado.


Fuso horário

Nota
This step does not apply to users of the musl libc. Users who do not know what that means should perform this step.

Por favor evite os fusos horários /usr/share/zoneinfo/Etc/GMT* pois seus nomes não correspondem aos fusos esperados. Por exemplo, GMT-8 é na verdade GMT+8.

Selecione o fuso horário para o sistema. Veja os fusos horários disponíveis em /usr/share/zoneinfo/, e então escreva-o no arquivo /etc/timezone.

root #ls /usr/share/zoneinfo
root #ls -l /usr/share/zoneinfo/Europe/
total 256
-rw-r--r-- 1 root root 2933 Dec  3 17:19 Amsterdam
-rw-r--r-- 1 root root 1742 Dec  3 17:19 Andorra
-rw-r--r-- 1 root root 1151 Dec  3 17:19 Astrakhan
-rw-r--r-- 1 root root 2262 Dec  3 17:19 Athens
-rw-r--r-- 1 root root 3664 Dec  3 17:19 Belfast
-rw-r--r-- 1 root root 1920 Dec  3 17:19 Belgrade
-rw-r--r-- 1 root root 2298 Dec  3 17:19 Berlin
-rw-r--r-- 1 root root 2301 Dec  3 17:19 Bratislava
-rw-r--r-- 1 root root 2933 Dec  3 17:19 Brussels
...

Suppose the timezone of choice is Europe/Brussels.

OpenRC

The desired timezone name can be written to /etc/timezone:

root #echo "Brazil/East" > /etc/timezone

A seguir, reconfigure o pacote sys-libs/timezone-data, o que irá atualizar o arquivo /etc/localtime para nós, baseado no /etc/timezone. O arquivo /etc/localtime é usado pela biblioteca C do sistema para saber em qual fuso horário o sistema está.

root #emerge --config sys-libs/timezone-data
Nota
The /etc/localtime file is used by the system C library to know the timezone the system is in.

systemd

A slightly different approach is employed when using systemd. A symbolic link is generated:

root #ln -sf ../usr/share/zoneinfo/Europe/Brussels /etc/localtime

Later, when systemd is running, the timezone and related settings can be configured with the timedatectl command.

Configurando locais

Nota
This step does not apply to users of the musl libc. Users who do not know what that means should perform this step.

Locale generation

A maioria dos usuários irá querer usar apenas um ou dois locais em seus sistemas.

Locais especificam não apenas a língua que o sistema deve usar para interagir com o usuário, mas também as regras para ordenar strings, mostrar data e hora etc.

Os locais que um sistema deve suportar devem ser entrados em /etc/locale.gen.

root #nano -w /etc/locale.gen

Os seguintes locais são um exemplo para se obter inglês (Estados Unidos) e alemão (Alemanha) com os correspondentes formatos de caracteres (como o UTF-8).

FILE /etc/locale.genHabilitando os locais US e DE com os formatos de caracteres apropriados
en_US ISO-8859-1
en_US.UTF-8 UTF-8
de_DE ISO-8859-1
de_DE.UTF-8 UTF-8
Aviso
Sugerimos fortemente usar pelo menos um local UTF-8 pois algumas aplicações podem requerê-lo.

O próximo passo é executar locale-gen. Isso irá regerar todos os locais especificados no arquivo /etc/locale.gen.

root #locale-gen

Para verificar que os locais selecionados estão agora disponíveis, execute locale -a.

On systemd installs, localectl can be used, e.g. localectl set-locale ... or localectl list-locales.

Locale selection

Uma vez feito, é agora hora de ajustar a configuração geral de local do sistema. Novamente usamos o eselect para isso, agora com o módulo locale.

Com o eselect locale list, os alvos disponíveis são mostrados.

root #eselect locale list
Available targets for the LANG variable:
  [1] C
  [2] POSIX
  [3] en_US
  [4] en_US.iso88591
  [5] en_US.utf8
  [6] de_DE
  [7] de_DE.iso88591
  [8] de_DE.iso885915
  [9] de_DE.utf8
  [ ] (free form)

Com eselect locale set VALOR o local correto pode ser ajustado:

root #eselect locale set 9

Manualmente, isso pode ser conseguido através do arquivo /etc/env.d/02locale:

FILE /etc/env.d/02localeAjustando manualmente as definições de locais do sistema
LANG="de_DE.UTF-8"
LC_COLLATE="C"

Certifique-se que um local foi configurado, ou o sistema irá mostrar mensagens de aviso e erro durante a construção do kernel e outras implantações de software mais tarde na instalação.

Agora recarregue o ambiente:

root #env-update && source /etc/profile && export PS1="(chroot) ${PS1}"

Nós fizemos um Guia de localização completo para ajudar o usuário através do processo. Outro artigo interessante é o guia UTF-8 com informações muito específicas para habilitar o UTF-8 no sistema.