Installation guide (Português)

== Introdução ==
Se você possui um dispositivo que foi portado para o postmarketOS, esta página o ajudará a obter, construir e instalar o postmarketOS neste dispositivo.
Todos os comandos que devem ser inseridos em um terminal são prefixados com $. Você não deve inserir esse caractere, é apenas para designar que os comandos a seguir devem ser inseridos / executados em um terminal. Por exemplo, o seguinte comando para listar o conteúdo do diretório de trabalho atual, ls, será mencionado nesta página como:
$ ls
== Requisitos ==
* Presumimos que você esteja usando Linux. Se você não tem o Linux instalado, por favor configure uma maquina virtual VirtualBox - EN primeiro. Windows subsystem for Linux (WSL) não funciona!
* O sistema operacional do host precisa executar Linux 3.17 ou mais recente (primeiro kernel com getrandom syscall)
* Alguns gigabytes de espaço livre
* Alguns dispositivos virão com um bootloader bloqueado, em tais casos você precisará desbloqueá-lo antes de continuar. Verifica a página wiki específica do dispositivo para mais detalhes.
== Segurança primeiro ==
Esteja ciente de que, seguindo estas instruções, você irá sobrescrever tudo o que está atualmente em seu dispositivo. Você perderá todos os dados e pode não ser possível restaurar o sistema operacional original. Existe o risco de danificar o seu dispositivo, o que significa que pode ser impossível recuperá-lo sem ferramentas especializadas.
Felizmente, a maioria dos dispositivos baseados em Android são bastante à prova de falhas; mesmo que suas imagens flash não inicializem, você ainda pode acessar o modo flash e corrigir os erros. Para obter detalhes, dê uma olhada em sua página wiki específica do dispositivo. 
TL;DR: faça sua pesquisa, não tenha dados importantes no seu dispositivo.
== Inicialização ==
Instale o pmbootstrap, nossa ferramenta leve de desenvolvimento e instalação postmarketOS. Se você já tinha o pmbootstrap instalado, certifique-se de que ele esteja atualizado para a versão mais recente e atualize seus arquivos para obter os patches mais recentes:
$ pmbootstrap pull # (only if pmbootstrap was already installed!)
Em seguida, execute o seguinte em um terminal Linux:
$ pmbootstrap init
=== Caminho de trabalho ===
Certifique-se de que o local tenha alguns GB de espaço disponível e que seja um sistema de arquivos Linux relativamente padrão (um que suporte nós de dispositivo e links simbólicos). Notavelmente sem suporte estão: eCryptFS, encfs, fat, ntfs, nfs shares, tmpvs, and VirtualBox pastas compartilhadas.
Location of the 'work' path. Multiple chroots (native, device arch, device rootfs) will be created in there.
Work path [/home/user/.local/var/pmbootstrap]:
=== Dispositivo ===
Digite o fornecedor e o codename do seu dispositivo conforme listado aqui, e, opcionalmente, um nome de usuário personalizado.
Escolha o fornecedor do dispositivo de destino (um existente ou um novo para transferência).
Fornecedores disponíveis (50): alcatel, amazon, arrow, asus, bq, chuwi, fairphone, finepower, fly, fujitsu, google, gp, hisense, htc, huawei, infocus, jolla, leeco, lenovo, lg, medion, meizu, motorola, nextbit, nobby, nokia, oneplus, oppo, ouya, pine64, planet, purism, qemu, raspberry, samsung, semc, sharp, sony, surftab, t2m, tablet, teclast, tokio, wiko, wileyfox, wingtech, xiaomi, yu, zte, zuk
Fornecedor [nokia]: samsung
Codenomes disponíveis (43): a3ulte, a5ulte, a5y17lte, apexq, ariesve, espresso10, expressatt, golden, gt510wifi, gts210velte, gts210vewifi, hero2lte, herolte, i747m, i8200, i9003, i9070, i9100, i9195, i927, i9305, j1mini3g, j3nxlte, jflte, klte, kminilte, kylepro, kylessopen, kylevess, lt01wifi, lt023g, maguro, manta, matissewifi, n5110, n7100, nevisp, p4wifi, royss, s6500d, serranodsdd, serranovelte, zanin
=== Interface de usuário ===
Escolha cuidadosamente a interface do usuário que deseja instalar. Verifique a sua página wiki do dispositivo para interfaces que funcionam com o seu dispositivo. Weston e XFCE4 podem ser usados em dispositivos que não possuem aceleração 3D de hardware (a maioria deles!), os outros são notavelmente mais lentos. Por favor, leia o artigo correspondente interface de usuário para obter informações sobre como cada interface é utilizável e tenha em mente que a maioria delas ainda não é utilizável.
Interfaces de usuário disponíveis (14): 
* none: Sem ambiente gráfico
* fbkeyboard: Console simples de framebuffer com suporte para teclado touchscreen
* gnome: (Wayland) Gnome Shell
* i3wm: (X11) Tiling WM (requer teclado)
* kodi: (Wayland) 10-foot UI useful on TV's
* mate: (X11) Ambiente de Trabalho MATE, fork do GNOME2 (stylus recomendado)
* phosh: (Wayland) UI móvel desenvolvida para o Librem 5 (funciona apenas com senhas numéricas!)
* plasma-bigscreen: (Wayland) 10-feet variant of Plasma, made for big screen TVs
* plasma-desktop: (X11/Wayland) Ambiente de Trabalho KDE (funciona bem com tablets)
* plasma-mobile: (Wayland) Variante móvel do KDE Plasma (não funciona sem aceleração de hardware, permite apenas senhas numéricas!)
* shelli: Console simples com suporte a gestos touchscreen
* sway: (Wayland) Tiling WM, substituição drop-in para i3wm (NÃO FUNCIONA SEM ACELERAÇÃO DE HW! requer teclado)
* sxmo: (X11) Simple X Mobile: ambiente móvel baseado em software simples & suckless (melhor compatibilidade no pinephone)
* weston: (Wayland) Compositor de referência (demonstração, não uma interface de telefone)
* xfce4: (X11) Área de trabalho leve (stylus recomendada)
=== Mais perguntas ===
A menos que você saiba que deseja alterar algo, é bom responder com os padrões aqui apenas pressionando o enter key.
Build options: Parallel jobs: 3, ccache per arch: 5G
Change them? (y/n) [n]: 
Additional packages that will be installed to rootfs. Specify them in a comma separated list (e.g.: vim,file) or "none"
Extra packages [none]: 
Your host timezone: Europe/Berlin
Use this timezone instead of GMT? (y/n) [y]: 
Device hostname (short form, e.g. 'foo') [samsung-kylessopen]: 
Would you like to copy your SSH public keys to the device? (y/n) [n]: 
WARNING: The applications in the chroots do not get updated automatically.
Run 'pmbootstrap zap' to delete all chroots once a day before working with pmbootstrap!
It only takes a few seconds, and all packages are cached.
Done!
== Instalação e flashing ==
=== pmbootstrap install ===
A ação de instalação basicamente faz o seguinte:
* Construa um chroot com a instalação completa, uma vez que será colocado no dispositivo
* Copie isso para um arquivo de imagem do sistema criptografado
* Solicita o usuário e as senhas de criptografia
Além disso, você pode alterar o tipo de saída (imagem do sistema) para algo diferente com os seguintes parâmetros.
* --sdcard: Formate e copie tudo para um cartão SD (use lsblk para descobrir o caminho correto para o seu cartão SD)
* --android-recovery-zip: Crie um arquivo zip, que pode ser usado com TWRP, CWM ou outros sistemas de recuperação Android (instruções detalhadas)
Comandos de exemplo (usar apenas um de cada vez faz sentido):
$ pmbootstrap install
$ pmbootstrap install --sdcard=/dev/mmcblk
$ pmbootstrap install --android-recovery-zip
$ pmbootstrap install --fde
$ pmbootstrap install --help
Se o seu dispositivo tiver um Y na coluna FDE da tabela todo os dispositivos, você pode habilitar a criptografia de disco completo com o parametro --fde. Para formatar com FDE habilitado e flash diretamente para um cartão SD, use:
$ pmbootstrap install --fde --sdcard=/dev/mmcblk
=== pmbootstrap flash ===
Este comando envolve vários programas flash (por exemplo, fastboot e heimdall) com uma sintaxe comum e preenche automaticamente os caminhos para os arquivos gerados. Normalmente, você precisa fazer o flash da imagem do sistema (a menos que você tenha feito a instalação do cartão SD ou do zip de recuperação):
$ pmbootstrap flasher flash_rootfs
No caso da partição do sistema ser muito pequena para a imagem gerada (por exemplo, porque você escolheu Plasma Mobile como sua IU), é possível fazer o flash em outra partição também. Apenas certifique-se de apagar todas as instalações anteriores do postmarketOS em outras partições, porque o script de inicialização iniciará com o primeiro que encontrar. (Para excluir uma versão anterior, use fastboot format system para dispositivos compatíveis com fastboot ou simplesmente instale o sistema operacional conhecido em funcionamento, por exemplo, Android, nele. E se você realmente sabe o que está fazendo, pode considerar usar dd). O uso de múltiplas partições com LVM está planejado ().
$ pmbootstrap flasher flash_rootfs --partition userdata
E então você precisa inicializar ou atualizar o kernel (então execute apenas um dos comandos). Novamente, isso não é necessário quando você usa o zip de recuperação. Mas é necessário na maioria dos casos com o cartão SD (a menos que o dispositivo possa inicializar o kernel do cartão SD como o N900). Para inicializar do SD, com o dispositivo no modo fastboot (com o dispositivo desligado, pressione Liga/Desliga + Diminuir volume até entrar no modo fastboot), digite a primeira linha em seu computador:
$ pmbootstrap flasher boot
$ pmbootstrap flasher flash_kernel
Como todos os comandos pmbootstrap, você pode verificar as páginas de ajuda para obter detalhes:
$ pmbootstrap flasher --help
$ pmbootstrap flasher flash_rootfs --help
== Veja também ==
* Alternativas para flashing regular
* Instalação Alpine existente
* Portando para um novo dispositivo
Guia