Índice:

Linux Kiosk Tablet da Acer Aspire Switch 10 (Baytrail): 10 etapas
Linux Kiosk Tablet da Acer Aspire Switch 10 (Baytrail): 10 etapas

Vídeo: Linux Kiosk Tablet da Acer Aspire Switch 10 (Baytrail): 10 etapas

Vídeo: Linux Kiosk Tablet da Acer Aspire Switch 10 (Baytrail): 10 etapas
Vídeo: Demo Video, Unlock android device by Kali linux 2024, Novembro
Anonim
Linux Kiosk Tablet da Acer Aspire Switch 10 (Baytrail)
Linux Kiosk Tablet da Acer Aspire Switch 10 (Baytrail)
Linux Kiosk Tablet da Acer Aspire Switch 10 (Baytrail)
Linux Kiosk Tablet da Acer Aspire Switch 10 (Baytrail)

Eu precisava de um tablet para o sistema de automação residencial na minha propriedade de aluguel por temporada (https://www. SoS-OBX.us/). Depois de comprar e testar alguns tablets diferentes (HP Stream 7/8, Samsung Slate, Kindle Fire com root), finalmente decidi por um Acer Aspire Switch 10 (SW5-012). É robusto e flexível, tem um botão extra que reaproveitei para um botão de página inicial, e possui Gorilla Glass, que cria uma tela muito forte que deve facilmente resistir a uma pancada dos locatários.

Mas não foi fácil de configurar. Com o sistema Intel Atom Baytrail, tive que enfrentar um UEFI de 32 bits acoplado a um sistema operacional de 64 bits. Felizmente, o Linux começou a fornecer excelente suporte de kernel para essas máquinas. Usando o Lubuntu 17.10, consegui transformar isso em um quiosque viável. Eu também consegui agilizar algumas das direções para tornar o processo geral muito mais fácil - chega de reinicializações intermináveis, comandos grub ou compilação de módulos !!

Agora, eu entendo que este não é tecnicamente um tablet (um Switch 10 completo inclui um teclado destacável), mas encontrei 4 no eBay por cerca de US $ 80 cada, então comprei todos.

Etapa 1: peças

Peças
Peças

Para este instrutível, você precisará de:

  • Acer Aspire Switch 10 (SW5-012) - também pode funcionar com outros modelos e com o Switch 11, mas não foram testados. É importante que você tenha a versão com o wi-fi Broadcom. Não consegui testar com a versão wi-fi Realtek.
  • Um hub USB multiporta com um conector MicroUSB. Não use um conector USB OTG para o SW5-012.
  • Um mouse e teclado USB
  • Uma unidade flash com 2 GB ou mais de armazenamento
  • Um conhecimento prático de instalações baseadas no Ubuntu e Linux em geral

Você também precisará de uma máquina para criar a imagem inicializável. Essa máquina deve ter uma imagem ISO da versão mais recente do Lubuntu (usei v 17.10.1, disponível em https://lubuntu.net/downloads/) e uma cópia do Rufus (https://rufus.akeo.ie/) se for baseado no Windows, caso contrário, o dd funcionará para * nix.

Conecte tudo ao hub USB e, em seguida, conecte-o ao Switch 10.

Etapa 2: preparar o dispositivo USB inicializável e inicializá-lo

Prepare o dispositivo USB inicializável e inicialize-o
Prepare o dispositivo USB inicializável e inicialize-o
Prepare o dispositivo USB inicializável e inicialize-o
Prepare o dispositivo USB inicializável e inicialize-o
Prepare o dispositivo USB inicializável e inicialize-o
Prepare o dispositivo USB inicializável e inicialize-o

Vou presumir que você já tem as habilidades para fazer uma unidade USB inicializável usando o Rufus. Dito isso, certifique-se de escolher "Esquema de partição MBR para UEFI" em "Esquema de partição e tipo de sistema de destino".

Depois de criar a unidade inicializável, você também precisará colocar um arquivo de inicialização UEFI de 32 bits no diretório / EFI / BOOT. Anexei um a este projeto, mas você pode obtê-los em muitos lugares online ou pode construir o seu próprio usando o Linux, se precisar.

Assim que tiver um USB inicializável, inicie o Switch 10 pressionando "Aumentar volume" e "Ligar" ao mesmo tempo e segurando até que o tablet seja iniciado. Os botões estão do lado direito.

Assim que a máquina for ligada ao BIOS, você desejará navegar até "Segurança" e definir uma senha de supervisor. Esta máquina exige isso para alterar as configurações de UEFI. Depois de definir uma senha, navegue até "Boot" e defina "Secure Boot" como DISABLED. Altere também a ordem de inicialização para que "USB HDD" seja o primeiro. Salve as alterações e reinicie.

Etapa 3: inicialize no Lubuntu, prepare o sistema para instalação

Escolha "Tentar o lubuntu sem instalar" e inicialize em um lubuntu funcional. Você precisará fazer algum trabalho de preparação antes de iniciar a instalação. Especificamente, você precisará colocar o dispositivo wi-fi em execução e deseja que os binários UEFI de 32 bits sejam pré-carregados para que a instalação possa ser concluída sem erros.

Primeiro, abra um terminal e eleve ao su com:

sudo su -

Para carregar os drivers wi-fi, primeiro determine qual firmware falhou ao carregar:

dmesg | grep brcm

Você provavelmente verá algo assim:

brcmfmac mmc0: 0001: 1: O carregamento direto do firmware para brcm / brcmfmac43241b4-sdio.txt falhou com o erro -2

Isso significa que o firmware NVRAM para o dispositivo precisa de um modelo para carregar. Configure um usando:

cp / sys / firmware / efi / efivars / nvram-74b00bd9-805a-4d61-b5f1-43268123d113 /lib/firmware/brcm/brcmfmac43241b4-sdio.txt

O nome do modelo de firmware deve corresponder ao que você viu na saída do dmesg. Em seguida, recarregue o driver usando:

modprobe -r brcmfmac && modprobe brcmfmac

Aguarde alguns segundos (5-10) e será solicitado que você se conecte a uma rede wi-fi.

Em seguida, certifique-se de que o aptitude esteja atualizado

atualização apt

em seguida, instale os drivers UEFI grub de 32 bits:

apt install grub-efi-ia32 grub-efi-ia32-bin

Seu sistema agora está pronto para uma instalação razoavelmente contínua.

Etapa 4: Instale o Lubuntu

Se você estiver familiarizado com a instalação de desktop do Ubuntu, isso será muito semelhante. Quando for solicitado o particionamento, selecione "Outra coisa" e particione manualmente. Meu dispositivo tem um SSD de 50 GB, então escolhi as seguintes partições:

mmcblk1p1 - EFI - 256 MB

mmcblk1p2 - ext2 - montagem de 256 MB como / boot mmcblk1p3 - ext4 - montagem de 47,5 GB como / mmcblk1p4 - troca - resto do espaço, mas não inferior a 2 GB

Além disso, instale o "dispositivo para instalação do carregador de inicialização" deve ser a partição EFI. Certifique-se de permitir que o Lubuntu baixe atualizações durante a instalação (não é obrigatório, mas altamente desejável).

Quando a instalação for concluída, reinicie, mas deixe a unidade USB inserida (mais uma etapa antes que seja inicializável sem ela).

Etapa 5: tornar o sistema inicializável sem unidade USB

Desligue o sistema e inicie no BIOS (aumentar volume / energia). Será solicitada a senha de supervisor que você digitou antes.

No BIOS, vá para "Inicializar" e reative a Inicialização segura, vá para "Segurança" e selecione "Selecione um arquivo UEFI como confiável para execução." A partir do menu fornecido, navegue através de HDD1 / EFI / ubuntu e escolha "grubia32.efi" então dê a ele um nome no próximo prompt (qualquer nome que você quiser - ele só aparecerá na BIOS) e clique em OK.

Volte para "Inicializar" e desative a Inicialização segura e salve as alterações.

Remova a unidade flash USB e reinicie o sistema. Ele deve inicializar no Lubuntu !!!

Etapa 6: adicionar outros componentes, alterar preferências

Alguns outros componentes que você deseja facilitar o gerenciamento deste tablet:

apt install opensh-server chromuim-browser organizador

Chromium é a versão L / Ubuntu do Chrome que pode ser instalada a partir do Aptitude.

Em "Preferências", desativo todos os modos de hibernação e desligamento, removo o bloqueio de tela e defino a tela em branco para 5 minutos (bateria) e 10 minutos (conectado). Configure também o usuário para fazer login automaticamente.

Etapa 7: Configure o login para iniciar o navegador

Primeiro, abra o Chromuim e, em seguida, defina a página inicial para o seu sistema de automação residencial. Na minha rede (tanto em casa quanto na casa de férias) está "https:// home /"

SSH no tablet e crie um diretório (se ainda não existir) sob o usuário autologin - o meu é chamado de "quiosque" - chamado de ~ /.config / autostart e crie um arquivo chamado "kiosk.desktop" com o seguinte contente:

[Desktop Entry] Type = Nome do aplicativo = Kiosk Exec = / home / kiosk / kiosk.sh X-GNOME-Autostart-enabled = true

Em seguida, crie o arquivo de script em /home/kiosk/kiosk.sh com o seguinte conteúdo:

#! / bin / bash # Execute este script na tela 0 - o monitor

export DISPLAY =: 0 # Ocultar o mouse do displayunclutter &#Se o Chromium travar (geralmente devido à reinicialização), limpe o sinalizador de travamento para que não tenhamos o incômodo aviso bloqueado -i 's / "exited_cleanly": false / " exited_cleanly ": true / '/home/kiosk/.config/chromium/Default/Preferencessed -i' s /" exit_type ":" Crashed "/" exit_type ":" Normal "/ '/home/kiosk/.config/chromium / Default / Preferences # Atraso para permitir a conexão sem fio a / bin / sleep 5s # Execute o Chromium e abra as guias / usr / bin / chromium-browser --kiosk --window-position = 0, 0 https:// home / &

Etapa 8: Remapear a chave "Windows" para a página inicial do navegador

Remapear
Remapear
Remapear
Remapear
Remapear
Remapear

Agora, quase tudo funciona, mas às vezes eu quero lançar emby no meu tablet HA. Como não tenho teclado ou barra de endereço, preciso de uma maneira fácil de retornar à página inicial do navegador. Lembra daquela pequena tecla com o logotipo do Windows na lateral do tablet? Vou reformular isso para enviar "Crtl-Home" ao navegador e retornar à página inicial.

Vamos criar um script chamado chromiumHome.sh e colocá-lo no diretório inicial do usuário do quiosque:

#! / bin / bashxdotool keyup Super_L; Tecla xdotool alt + Home # NOTA: Você também deve ser capaz de usar o parâmetro --clearmodifiers da ferramenta xdo e remover o primeiro comando das duas partes acima

Em seguida, usaremos um dos recursos do Openbox para remapear as chaves. Abra ~ /.config / openbox / lubuntu-rc.xml e encontre a seção rotulada como "" e adicione o seguinte texto:

/home/kiosk/chromiumHome.sh

Este código remapeará a chave do Windows (também conhecida como chave "SUPER") para executar o script chromiumHome.sh. Reinicie o tablet e experimente!

Agora você tem um pequeno tablet bacana para o seu sistema de automação residencial. O tablet é durável (não "robusto", mas durável), tem uma duração de bateria decente (mais de 3 horas) e com o suporte de alumínio que comprei para ele, é uma peça com aparência muito acabada para o seu home theater.

Etapa 9: Outras coisas a considerar e desenvolver mais

Ainda há espaço para melhorias. Aqui está uma lista de coisas que pretendo corrigir:

  • Mova o "quiosque" para um usuário não administrativo para que a conexão wi-fi possa ser compartilhada, mas a senha wi-fi seja invisível
  • O desligamento ainda mostra o menu de desligamento em vez de apenas desligar o tablet (embora eu tenha alterado o comportamento em Preferências de "Perguntar" para "Desligar")
  • Coloque alguns logotipos melhores direcionados à marca do meu aluguel de temporada (é chamado de "Tons de verão") em vez dos logotipos Acer e Lubuntu
  • Talvez passe algum tempo tentando fazer o som e o bluetooth funcionarem (não é crítico, mas é bom ter)
  • Adicione um indicador de bateria à página da web (como a barra de tarefas está oculta, o usuário não sabe que a bateria está fraca até que um alerta apareça)
  • Altere a ordem de inicialização de volta para usar o HDD como principal para evitar que qualquer convidado inicie um dispositivo USB no meu tablet

Etapa 10: Referências e agradecimentos

Um dos efeitos surpreendentes do movimento OpenSource é a capacidade de caras como eu se erguerem sobre os ombros de gigantes quando tento montar algo para atender às minhas necessidades específicas, onde o mercado não conseguiu produzir ou quer muito mais do que eu. estou disposto a pagar. Portanto, gostaria de adicionar as seguintes referências onde encontrei todo o conhecimento de que precisava:

gist.github.com/franga2000/2154d09f864894b… - informações sobre como o bootloader de 32 bits funciona nesses dispositivos

wiki.debian.org/InstallingDebianOn/Asus/T1… - informações sobre como fazer o wi-fi funcionar em um sistema Baytrail

openbox.org/wiki/Help:Bindings - Informações sobre vinculação de teclas para Openbox

github.com/baskerville/sxhkd/issues/86 - ajuda na solução do problema de mapeamento de teclado

Recomendado: