Inhoudsopgave:

Linux Kiosk-tablet van Acer Aspire Switch 10 (Baytrail) - Ajarnpa
Linux Kiosk-tablet van Acer Aspire Switch 10 (Baytrail) - Ajarnpa

Video: Linux Kiosk-tablet van Acer Aspire Switch 10 (Baytrail) - Ajarnpa

Video: Linux Kiosk-tablet van Acer Aspire Switch 10 (Baytrail) - Ajarnpa
Video: Weekly Wrapup 43 - Acer Alternative to Surface, Compute Stick News, and More! 2024, Juli-
Anonim
Linux Kiosk-tablet van Acer Aspire Switch 10 (Baytrail)
Linux Kiosk-tablet van Acer Aspire Switch 10 (Baytrail)
Linux Kiosk-tablet van Acer Aspire Switch 10 (Baytrail)
Linux Kiosk-tablet van Acer Aspire Switch 10 (Baytrail)

Ik had een tablet nodig voor het domoticasysteem in mijn vakantiewoning (https://www. SoS-OBX.us/). Na het kopen en testen van een paar verschillende tablets (HP Stream 7/8, Samsung Slate, geroote Kindle Fire) kwam ik uiteindelijk uit op een Acer Aspire Switch 10 (SW5-012). Het is stevig en flexibel, het heeft een extra knop die ik heb omgevormd tot een startpagina-knop, en het is voorzien van Gorilla Glass, wat zorgt voor een zeer sterk scherm dat gemakkelijk bestand moet zijn tegen een stootje van de huurders.

Maar het opzetten was niet eenvoudig. Met het Intel Atom Baytrail-systeem had ik te maken met een 32-bits UEFI in combinatie met een 64-bits besturingssysteem. Gelukkig is Linux begonnen met het bieden van uitstekende kernelondersteuning voor deze machines. Met Lubuntu 17.10 kon ik hier een werkbare kiosk van maken. Ik ben er ook in geslaagd om enkele van de aanwijzingen te stroomlijnen om het algehele proces een stuk eenvoudiger te maken - geen eindeloze herstarts, grub-commando's of module-compilatie meer!!

Nu begrijp ik dat dit technisch gezien geen tablet is (een volledige Switch 10 bevat een afneembaar toetsenbord), maar ik vond er 4 op eBay voor ongeveer $ 80 per stuk, dus ik kocht ze allemaal.

Stap 1: Onderdelen

Onderdelen
Onderdelen

Voor deze instructable heb je nodig:

  • Acer Aspire Switch 10 (SW5-012) -- werkt mogelijk ook met andere modellen en met de Switch 11, maar die zijn niet getest. Het is belangrijk dat je de versie met de Broadcom wifi hebt. Ik heb niet kunnen testen met de Realtek wifi-versie.
  • Een multipoort USB-hub met een MicroUSB-connector. Gebruik geen USB OTG-connector voor de SW5-012.
  • Een USB-muis en -toetsenbord
  • Een flashstation met 2 GB of meer opslagruimte
  • Een praktische kennis van op Ubuntu gebaseerde installaties en Linux in het algemeen

U hebt ook een machine nodig om de opstartbare afbeelding te maken. Die machine zou een ISO-image moeten hebben van de nieuwste versie van Lubuntu (ik gebruikte v 17.10.1, beschikbaar op https://lubuntu.net/downloads/) en een kopie van Rufus (https://rufus.akeo.ie/) als het op Windows is gebaseerd, anders werkt dd voor *nix.

Haak alles in de USB-hub en sluit het vervolgens aan op de Switch 10.

Stap 2: Bereid het opstartbare USB-apparaat voor en start het op

Opstartbaar USB-apparaat voorbereiden en opstarten
Opstartbaar USB-apparaat voorbereiden en opstarten
Opstartbaar USB-apparaat voorbereiden en opstarten
Opstartbaar USB-apparaat voorbereiden en opstarten
Opstartbaar USB-apparaat voorbereiden en opstarten
Opstartbaar USB-apparaat voorbereiden en opstarten

Ik ga ervan uit dat je al over de vaardigheden beschikt om een opstartbare USB-drive te maken met Rufus. Dat gezegd hebbende, zorg ervoor dat u "MBR-partitieschema voor UEFI" kiest onder "Partitieschema en doelsysteemtype".

Nadat u de opstartbare schijf hebt gemaakt, moet u ook een 32-bits UEFI-opstartbestand in de map \EFI\BOOT plaatsen. Ik heb er een aan dit project toegevoegd, maar je kunt ze op veel plaatsen online krijgen of je kunt er zelf een bouwen met linux als dat nodig is.

Zodra je een opstartbare USB hebt, start je de Switch 10 door tegelijkertijd op "Volume omhoog" en "Aan/uit" te drukken en vast te houden totdat de tablet start. De knoppen zitten aan de rechterkant.

Zodra de machine opstart in het BIOS, moet u naar "Beveiliging" gaan en een supervisorwachtwoord instellen. Deze machine heeft dit nodig om de UEFI-instellingen te wijzigen. Nadat u een wachtwoord heeft ingesteld, navigeert u naar "Boot" en stelt u "Secure Boot" in op UITGESCHAKELD. Wijzig ook de opstartvolgorde zodat "USB HDD" eerst staat. Wijzigingen opslaan en opnieuw opstarten.

Stap 3: Start Lubuntu op, bereid het systeem voor op installatie

Kies "Probeer lubuntu zonder te installeren" en start op in een werkende lubuntu. U moet wat voorbereidend werk doen voordat u met de installatie begint. U moet met name het wifi-apparaat aan de praat krijgen en u wilt dat de 32-bits UEFI-binaire bestanden vooraf zijn geladen, zodat de installatie zonder fouten kan worden voltooid.

Open eerst een terminal en verhoog naar su met:

sudo su -

Om de wifi-stuurprogramma's te laden, moet u eerst bepalen welke firmware niet kon worden geladen:

dmesg | grep brcm

Je ziet waarschijnlijk zoiets als dit:

brcmfmac mmc0:0001:1: Direct laden van firmware voor brcm/brcmfmac43241b4-sdio.txt mislukt met fout -2

Dit betekent dat de NVRAM-firmware voor het apparaat een sjabloon nodig heeft om te laden. Configureer er een met:

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

De naam van de firmwaresjabloon moet overeenkomen met wat u in de dmesg-uitvoer hebt gezien. Laad vervolgens het stuurprogramma opnieuw met:

modprobe -r brcmfmac && modprobe brcmfmac

Wacht een paar seconden (5-10) en u zou moeten worden gevraagd om verbinding te maken met een wifi-netwerk.

Zorg er vervolgens voor dat aptitude is bijgewerkt

geschikte update

installeer vervolgens de grub 32-bits UEFI-stuurprogramma's:

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

Uw systeem is nu klaar voor een redelijk naadloze installatie.

Stap 4: Installeer Lubuntu

Als u bekend bent met een Ubuntu-desktopinstallatie, zal deze er ongeveer hetzelfde uitzien. Wanneer u wordt gevraagd om te partitioneren, selecteert u "Iets anders" en partitioneert u handmatig. Mijn apparaat heeft een SSD van 50 GB, dus ik heb de volgende partities gekozen:

mmcblk1p1 - EFI - 256 MB

mmcblk1p2 - ext2 - 256MB mounten als /boot mmcblk1p3 - ext4 - 47.5GB mounten als /mmcblk1p4 - swap - rest van de ruimte, maar niet minder dan 2GB

Installeer ook het "apparaat voor installatie van de bootloader" als de EFI-partitie. Zorg ervoor dat Lubuntu updates kan downloaden tijdens de installatie (niet vereist, maar zeer wenselijk).

Wanneer de installatie is voltooid, start u opnieuw op, maar laat u de USB-drive erin zitten (nog één stap voordat deze zonder deze kan worden opgestart).

Stap 5: Maak het systeem opstartbaar zonder USB-station

Schakel het systeem uit en start vervolgens in BIOS (Volume hoger / Power). U wordt gevraagd om het Supervisor-wachtwoord dat u eerder hebt ingevoerd.

Ga in BIOS naar "Boot" en schakel Secure Boot opnieuw in, ga vervolgens naar "Beveiliging" en selecteer "Selecteer een UEFI-bestand als vertrouwd voor uitvoering". Navigeer vanuit het meegeleverde menu door HDD1\EFI\ubuntu en kies "grubia32.efi" en geef het een naam in de volgende prompt (welke naam u maar wilt - het verschijnt alleen in BIOS) en klik vervolgens op OK.

Ga terug naar "Boot" en schakel Secure Boot uit en sla de wijzigingen op.

Verwijder de USB-stick en start het systeem opnieuw op. Het zou moeten opstarten naar Lubuntu!!!

Stap 6: Andere componenten toevoegen, voorkeuren wijzigen

Een paar andere componenten die u het beheer van deze tablet wilt vergemakkelijken:

apt install openssh-server chromuim-browser overzichtelijk

Chromium is de L/Ubuntu-versie van Chrome die kan worden geïnstalleerd vanuit Aptitude.

In "Voorkeuren" schakel ik alle sluimer- en afsluitmodi uit, verwijder de schermvergrendeling en stel het leegmaken van het scherm in op 5 minuten (batterij) en 10 minuten (aangesloten). Stel de gebruiker ook in om automatisch in te loggen.

Stap 7: Login instellen om de browser te starten

Open eerst Chromuim en stel vervolgens de startpagina in op uw domoticasysteem. Op mijn netwerk (zowel thuis als bij het vakantiehuis) staat "https://home/"

SSH naar de tablet en maak een map aan (als deze nog niet bestaat) onder de autologin-gebruiker -- de mijne heet "kiosk" -- genaamd ~/.config/autostart en maak vervolgens een bestand met de naam "kiosk.desktop" met het volgende inhoud:

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

Maak vervolgens het scriptbestand op /home/kiosk/kiosk.sh met de volgende inhoud:

#!/bin/bash# Voer dit script uit in display 0 - de monitor

export DISPLAY=:0# Verberg de muis van de displayunclutter 'Als Chromium crasht (meestal als gevolg van opnieuw opstarten), verwijder dan de crashvlag zodat we de vervelende waarschuwing niet krijgen -i 's/"exited_cleanly":false/" exited_cleanly":true/' /home/kiosk/.config/chromium/Default/Preferencessed -i 's/"exit_type":"Crashed"/"exit_type":"Normaal"/' /home/kiosk/.config/chromium /Default/Preferences# Vertraging om draadloos verbinding te maken/bin/sleep 5s# Voer Chromium uit en open tabs/usr/bin/chromium-browser --kiosk --window-position=0, 0 https://home/ &

Stap 8: Wijs de "Windows"-toets opnieuw toe aan de startpagina van de browser

Opnieuw toewijzen
Opnieuw toewijzen
Opnieuw toewijzen
Opnieuw toewijzen
Opnieuw toewijzen
Opnieuw toewijzen

Nu werkt bijna alles, maar soms wil ik emby starten op mijn HA-tablet. Omdat ik geen toetsenbord of adresbalk heb, heb ik een gemakkelijke manier nodig om terug te keren naar de startpagina van de browser. Weet je nog die kleine Windows-logotoets aan de zijkant van de tablet? Ik zal dat opnieuw gebruiken om "Crtl-Home" naar de browser te sturen en me terug te brengen naar de startpagina.

Laten we een script maken met de naam chromiumHome.sh en dit in de homedirectory van de kioskgebruiker plaatsen:

#!/bin/bashxdotool keyup Super_L; xdotool-toets alt+Home#OPMERKING: je zou ook in staat moeten zijn om de --clearmodifiers parameter van xdo tool te gebruiken en de eerste opdracht van de tweedelige hierboven te verwijderen

Vervolgens gebruiken we een van de functies van Openbox om de sleutels opnieuw toe te wijzen. Open ~/.config/openbox/lubuntu-rc.xml en zoek de sectie met het label "" en voeg de volgende tekst toe:

/home/kiosk/chromiumHome.sh

Met deze code wordt de Windows-sleutel (ook bekend als de "SUPER" -sleutel) opnieuw toegewezen om het chromiumHome.sh-script uit te voeren. Start de tablet opnieuw op en probeer het!

Nu heb je een nette kleine tablet voor je domoticasysteem. De tablet is duurzaam (niet "robuust" maar duurzaam) heeft een behoorlijke levensduur van de batterij (3+ uur), en met de aluminium standaard die ik ervoor heb gekregen, maakt het een zeer afgewerkt uitziend stuk voor je thuisbioscoop.

Stap 9: Andere dingen om te overwegen en verder te ontwikkelen

Er is nog ruimte voor verbetering. Hier is een lijst met dingen die ik van plan ben te repareren:

  • Verplaats "kiosk" naar een niet-administratieve gebruiker zodat de wifi-verbinding kan worden gedeeld, maar het wifi-wachtwoord is onzichtbaar
  • Afsluiten toont nog steeds het afsluitmenu in plaats van alleen de tablet af te sluiten (hoewel ik het gedrag in Voorkeuren heb gewijzigd van "Vragen" in "Afsluiten")
  • Plaats wat betere logo's gericht op de branding van mijn vakantiewoning (het heet "Shades of Summer") in plaats van de Acer- en Lubuntu-logo's
  • Misschien wat tijd besteden aan het proberen om geluid en bluetooth werkend te krijgen (niet kritisch, maar leuk om te hebben)
  • Voeg een indicator voor de levensduur van de batterij toe aan de webpagina (omdat de taakbalk verborgen is, weet de gebruiker niet dat de batterij bijna leeg is totdat er een waarschuwing verschijnt)
  • Verander de opstartvolgorde terug om de HDD als primair te gebruiken om te voorkomen dat een gast een USB-apparaat op mijn tablet start

Stap 10: Referenties en dankbetuigingen

Een van de verbazingwekkende effecten van de OpenSource-beweging is het vermogen voor jongens zoals ik om op de schouders van reuzen te staan wanneer ik iets probeer samen te stellen om aan mijn specifieke behoeften te voldoen waar de markt ofwel niet heeft geproduceerd of veel meer wil dan ik' ben bereid te betalen. Dus ik zou graag de volgende referenties willen toevoegen waar ik alle kennis vond die ik nodig had:

gist.github.com/franga2000/2154d09f864894b… - informatie over hoe de 32-bits bootloader op deze apparaten werkt

wiki.debian.org/InstallingDebianOn/Asus/T1… - info over hoe wifi werkend te krijgen op een Baytrail-systeem

openbox.org/wiki/Help:Bindings - Informatie over sleutelbindingen voor Openbox

github.com/baskerville/sxhkd/issues/86 - hulp bij het oplossen van het keymapping-probleem

Aanbevolen: