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
Nem todos os métodos de instalação e flash funcionam para todos os dispositivos. Por favor, verifique a sua página wiki do dispositivo para mais instruções! Abaixo você encontrará explicações genéricas sobre o que install e flash , caso as instruções de instalação do seu dispositivo estejam faltando. Se for esse o caso, estenda a wiki de arcordo do dispositivo. |
Ao executar o processo de instalação, você será solicitado para uma senha. Se sua interface de usuário não permitir um teclado completo na tela de bloqueio ou você não tiver um teclado conectado ao seu dispositivo, você deve criar uma senha numérica. |
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 (uselsblk
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#60).
$ 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