Embedded-Bereitstellung fĂŒr Windows und Linux

Dieser Artikel beschreibt die schnelle Bereitstellung eines eingebetteten Systems auf Basis von Windows 10 und Debian Linux. Beispiele fĂŒr den Aufbau einer sicheren Schnittstelle werden gegeben.

EinfĂŒhrung


Bei der Entwicklung von GerĂ€ten mit einer grafischen Mensch-Maschine-Schnittstelle entsteht frĂŒher oder spĂ€ter nicht nur die Aufgabe, die Schnittstelle selbst zu erstellen, sondern auch die Plattform auszuwĂ€hlen, auf der sie arbeiten soll. Eine solche Plattform kann entweder ein Einplatinencomputer mit einem Betriebssystem oder ein Mikrocontroller mit einem Bildschirm und einer Reihe relevanter Bibliotheken oder eine andere ursprĂŒngliche Lösung sein.


Es kommt hĂ€ufig vor, dass auf der obersten Ebene des Steuerungssystems, auf dem die Schnittstelle ausgefĂŒhrt wird, auch Kommunikationsaufgaben mit der Außenwelt und die Interaktion mit einer Vielzahl von PeripheriegerĂ€ten ausgefĂŒhrt werden. DarĂŒber hinaus kann die BenutzeroberflĂ€che selbst sehr hohe Anforderungen an die grafischen Ressourcen stellen. Vor diesem Hintergrund und um Arbeitskosten zu sparen, ist es möglich, einen Einplatinencomputer als Basis zu verwenden und ein vorgefertigtes Betriebssystem darauf zu installieren. Die Softwareentwicklung kann in diesem Fall durch die Verwendung moderner Frameworks mit guter Dokumentation und einer Reihe von Beispielen erheblich vereinfacht werden.


Schnittstellenanforderungen


Aus Sicht des Benutzers sollte die Schnittstelle die folgenden Anforderungen erfĂŒllen:


  • Beim Laden im Vollbildmodus sollte eine Anwendung angezeigt werden. Es handelt sich um dieselbe BenutzeroberflĂ€che und dieselbe grafische Shell.
  • Außer dieser Anwendung sollte dem Benutzer nichts mehr zur VerfĂŒgung stehen.
  • Die Anwendung sollte die ganze Zeit funktionieren, das System sollte nicht einschlafen, der Bildschirm sollte sich nicht ausschalten.
  • Alle TastaturkĂŒrzel, Helfer, Eingabehilfen und Ă€hnliche Funktionen sollten deaktiviert sein.
  • Im Falle eines Fehlers der Anwendung sollte diese vom System automatisch neu gestartet werden.
  • Das System stellt keine besonderen Anforderungen an Geschwindigkeits- oder Echtzeitmodi. Es ist jedoch erforderlich, dass die Schnittstelle ohne merkliche Verzögerungen auf Benutzerbefehle reagiert.
  • Das System muss gegen wiederholte harte Neustarts resistent sein. Es muss kein spezielles Skript ausgefĂŒhrt werden, um die Arbeit abzuschließen.
  • Es sollte möglich sein, die fertige Baugruppe schnell in eine Reihe von GerĂ€ten zu klonen, wobei alle erforderlichen Einstellungen im automatischen Modus vorgenommen werden.

Mit anderen Worten, eine vollstÀndige EinschrÀnkung der Benutzeraktionen, StabilitÀt und Skalierbarkeit.


FĂŒr das Betriebssystem eines Einplatinencomputers werden sofort zwei Optionen in Betracht gezogen, eine basierend auf Windows und eine basierend auf Linux, und sie miteinander verglichen.


Erstellen wir beispielsweise eine Touchscreen-Kiosk-OberflĂ€che. Nehmen wir als Anwendung eines der Qt Quick-Schulungsbeispiele und implementieren es mit einigen Änderungen. Das Qt-Framework ist fĂŒr beide Betriebssysteme verfĂŒgbar.


Um nicht in die Nuancen der Installation von Windows und Linux auf einer ARM-Plattform einzutauchen, kann das System einfach auf der Basis eines x86-kompatiblen Prozessors zusammengestellt werden. In diesem Fall wurde eines der vielen verfĂŒgbaren Boards auf der Intel Bay Trail-Plattform fĂŒr Experimente verwendet.


Ein Paket aller Programme und Skripte ist auf GitHub verfĂŒgbar.


Windows-Pfad


Zu einer Zeit wurde Windows Embedded von Microsoft eingefĂŒhrt, um eingebettete Systeme zu erstellen. Bereits in der frĂŒhen Version von Windows Embedded XP erhielten Entwickler eine Reihe von Tools zum Zusammenstellen der am meisten abgeschnittenen, jedoch mit den erforderlichen Bildtreibern ausgestatteten Tools. Diese Baugruppen benötigten ein Minimum an RAM und funktionierten auch auf schwachen Prozessoren einwandfrei. Die Technologie wurde in der Version von Windows Embedded Standard 7 entwickelt, in der an den Prozess des Erstellens eigener Assemblys erinnert wurde. Windows Embedded verwendete die Ideologie eines offenen Katalogs von Modulen, und jeder konnte sein System nur mit den erforderlichen Komponenten ausstatten. Die neueste Version, in der dieser Ansatz verfĂŒgbar war, ist Windows Embedded Standard 8.1, obwohl in abgeschnittener Form.


Das moderne Windows 10 IoT ist eine Alternative zu Windows Embedded, unterscheidet sich jedoch stark von seinen VorgĂ€ngern. Ein offener Komponentenkatalog ist nicht mehr verfĂŒgbar. Die Möglichkeit, Lichtbilder vom Designer zu sammeln und daraus eigene Installationsdisketten zu erstellen, ist verschwunden. Spezielle Optionen eines eingebetteten Systems, wie z. B. ein Aufnahmefilter, ein Bootloader-Branding, ein Tastaturfilter usw., sind jetzt in einem vorinstallierten System konfiguriert. DarĂŒber hinaus ist die UnterstĂŒtzung dieser Funktionen nur als Teil der schweren Version von Windows 10 Enterprise verfĂŒgbar.


Trotz der hohen Systemanforderungen, insbesondere hinsichtlich der RAM-GrĂ¶ĂŸe, verursacht die Verwendung selbst schwerer Versionen in eingebetteten Lösungen keine besonderen Probleme, vor allem aufgrund der VerfĂŒgbarkeit von Hardwarekomponenten. Vergessen Sie außerdem nicht, dass es in den letzten Jahren schwieriger geworden ist, eine Lizenz fĂŒr alte Produkte von Microsoft zu kaufen.


Schnelle Lösung


Bei der ersten PrĂŒfung stellt sich heraus, dass selbst unter normalen Windows 10-Funktionen bereits eine integrierte Funktion fĂŒr den zugewiesenen Zugriff vorhanden ist (Abb. 1), die wie eine vorgefertigte Lösung fĂŒr die Aufgabe aussieht.


Zu wahrer zugriff

Abb. 1. Zugewiesene Zugriffsfunktion


Ein Programm, das in diesem Fall als Schnittstelle verwendet werden kann, sollte zunĂ€chst als universelle Windows-Plattformanwendung entwickelt werden. Diese AppX-Anwendungen werden beispielsweise auf einem Windows Phone installiert. Eine einfache Vollbildanwendung kann natĂŒrlich in appx konvertiert und mit den erforderlichen Zertifikaten signiert und dann installiert werden. Es kann als Schnittstelle fungieren, jedoch ohne angemessenen Schutz. Leider hat der Benutzer im normalen Modus "Zugewiesener Zugriff" weiterhin offenen Zugriff auf einige Systemeinstellungen und Hotkeys. Infolgedessen kann mit diesem Ansatz keine Schnittstelle erhalten werden, die alle oben genannten Anforderungen erfĂŒllt. Das System muss auf andere Weise manuell konfiguriert werden.


Richtige Entscheidung


1. Erstinstallation


Daher benötigen wir zunĂ€chst die Windows 10 Enterprise LTSB-Distribution . Sie können das Original-Microsoft-Image aufnehmen, ein leichtes verwenden oder mit Tools von Drittanbietern ein eigenes erstellen. FĂŒr die Versuchsplatine wurde eine der vorgefertigten Baugruppen ausgewĂ€hlt (leichte 32-Bit-Version).


Wir installieren das System aus dem Distributionskit auf der Zielplatine. Bei der Installation wird die Festplatte in zwei Abschnitte unterteilt: C: - fĂŒr das System, D: - fĂŒr die Hauptanwendung, Dienstprogramme und Protokolle. Eine solche AufschlĂŒsselung ist in Zukunft fĂŒr den Aufzeichnungsfilter nĂŒtzlich. Nach der Installation warten wir, bis das EinstellungsmenĂŒ angezeigt wird, oder wir setzen das MenĂŒ mit den Netzwerkeinstellungen nicht fort.


Wir starten ĂŒber Strg + Umschalt + F3 in den Servicemodus.


Wenn wÀhrend des Installationsvorgangs keine Fehler aufgetreten sind, wechselt das System nach dem Neustart in das Dienstkonto des Administrators und das Fenster SysPrep wird auf dem Bildschirm angezeigt (Abb. 2). Es muss geschlossen sein, wir werden SysPrep anders starten und eine spezielle Antwortdatei verwenden, die noch erstellt werden muss.


Sysprep-Fenster

Abb. 2. Servicemodus.


2. Systemkonfiguration


FĂŒr weitere Aktionen benötigen Sie die Bereitstellungstools aus dem Windows 10 Assessment and Deployment Kit .


Von der Festplatte mit der auf der Karte installierten Windows-Distribution mĂŒssen Sie die Image- Datei install.wim extrahieren. Es kommt vor, dass diese Datei in einigen Assemblys in komprimierter Form mit der Erweiterung esd gespeichert werden kann. In diesem Fall mĂŒssen Sie es zuerst auspacken. HierfĂŒr wird das Dienstprogramm dism verwendet.


Finden Sie die Seriennummer der gewĂŒnschten Version im Container heraus (SourceIndex).


dism /Get-WimInfo /WimFile:install.esd 

Extrahieren Sie dann die Bilddatei (in diesem Fall die erste im Container).


 dism /export-image /SourceImageFile:install.esd /SourceIndex:1 /DestinationImageFile:install.wim /Compress:max /CheckIntegrity 

Jetzt mĂŒssen Sie das Image im Windows System Image Manager (ĂŒber die Bereitstellungstools) öffnen und ein Verzeichnis erstellen.


Es ist zu beachten, dass das Arbeiten mit Images im Windows System Image Manager nur möglich ist, wenn die Bittiefe des Images mit der Bittiefe des Hosts ĂŒbereinstimmt. Das heißt, es ist unmöglich, das Image der 32-Bit-Version in einem 64-Bit-System zu bearbeiten. Hier, wie sie sagen, kein Kommentar.


Bearbeiten Sie beim Erstellen des Verzeichnisses die Antwortdatei fĂŒr das Dienstprogramm SysPrep . Geben Sie die EigentĂŒmerinformationen ein, fĂŒgen Sie die erforderlichen Benutzer hinzu und konfigurieren Sie das erste Autologin (Abb. 3).


Antwortdatei

Abb. 3. Erstellen einer Antwortdatei.


Es macht keinen Sinn, alle Parameter aufzulisten. Der Inhalt der Antwortdatei befindet sich im Repository. Die Hauptsache ist, nicht zu vergessen, die CopyProfile- Parameter auf true , SkipReam auf 1 zu setzen und die Administrator- Autologin zu aktivieren. Sie können Ihren ProduktschlĂŒssel in Abschnitt 4 Spezialisieren - Microsoft-Windows-Shell-Setup - ProductKey eingeben .


3. Programme installieren


Als NĂ€chstes benötigen Sie die eigentliche install.wim- Image- Datei . Sie mĂŒssen sie daher neben der Antwortdatei customize.xml ablegen, in der Sie nach dem Speichern den Pfad zum Image manuell ersetzen mĂŒssen. Am Ende der Datei sollte die Zeile folgendermaßen aussehen:


 <cpi:offlineImage cpi:source="wim:d:/service/install.wim#Windows 10 Enterprise LTSB" xmlns:cpi="urn:schemas-microsoft-com:cpi" /> 

Um die KioskShell-Demo-OberflĂ€che zu erhalten, mĂŒssen Sie eine Version fĂŒr Windows aus dem Quellcode erstellen. Montagetipps befinden sich im Repository.


Wir kopieren die Dateien auf die Karte und erhalten die folgende Datei- und Verzeichnisstruktur:


 C:\ └── Design\ ├── backgroundDefault.jpg -      ( ) └── oemlogo.bmp -  ,      D:\ ├── Logs\ -       ├── Service\ │ ├── AfterSetup.bat -   ,     SysPrep │ ├── FirstLogon.bat -        │ ├── customize.xml -   │ ├── install.wim -   │ ├── CustomShellSetup.ps1 -  PowerShell     │ ├── EnableRules.ps1 -  PowerShell     │ ├── DisableAllRules.ps1 -      ( ) │ └── UserLogon.bat -      ( ) └── Shell\ -     "KioskShell.exe"    

4. Manuelle Systemeinrichtung


Wenn sich das System im Servicemodus befindet, können Sie so oft neu starten, wie Sie möchten. Das System kehrt automatisch dazu zurĂŒck. Bei einer langen Leerlaufzeit vor dem Einrichten der Stromversorgung wird der Bildschirm möglicherweise gesperrt und nicht wieder angezeigt. Nur ein Neustart hilft. Da jedes spezifische Projekt möglicherweise ĂŒber eigene Konfigurationsfunktionen verfĂŒgt, ist es besser, dies manuell durchzufĂŒhren. Sie können jedoch auch Automatisierungsskripts verwenden.


Wir installieren die erforderlichen Komponenten des eingebetteten Systems und deaktivieren die Benutzerkontensteuerung (siehe AfterSetup.bat aus dem Repository).


Installieren Sie alle Treiber, konfigurieren Sie die Hardware (IP-Netzwerkkarte, Auflösung und Ausrichtung des Bildschirms, AnschlĂŒsse externer GerĂ€te usw.), deaktivieren Sie Sticky Keys und alle Sonderfunktionen.


Da ich in Zukunft remote verwalten möchte, werden wir den Zugriff ĂŒber RDP ermöglichen. Das Administratorkennwort lĂ€uft in der Phase der automatischen Konfiguration ab.


Als NĂ€chstes mĂŒssen Sie das Systemupdate im Editor fĂŒr lokale Gruppenrichtlinien deaktivieren (im Abschnitt Computerkonfiguration - Administrative Vorlagen - Windows-Komponenten - Windows Update mĂŒssen Sie Konfigurierte automatische Updates auf Deaktiviert setzen ). DarĂŒber hinaus mĂŒssen Sie das automatische Scannen von Windows Update deaktivieren (im Aufgabenplaner im Abschnitt Microsoft - Windows - UpdateOrchestrator mĂŒssen Sie alle Aufgaben deaktivieren). Andernfalls wird bei jedem Start ein schwarzes Fenster angezeigt. Wenn Sie eine Verbindung zum Internet herstellen, beginnt Windows möglicherweise plötzlich mit der Aktualisierung.


Konfigurieren Sie als NĂ€chstes die Energieeinstellungen. Machen Sie dazu zunĂ€chst im Abschnitt Erweiterte Energieeinstellungen alle Energieeinstellungen sichtbar (dazu in der Registrierung in jedem UnterschlĂŒssel unter HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power \ PowerSettings \ 238C9FA8-0AAD-41ED-83F4-97BE242C8F20, wenn Sie den Parameter Attribute benötigen Wert fĂŒr ihn 2 ). Nachdem alle Einstellungen verfĂŒgbar sind, schalten Sie den Ruhemodus und den Abwesenheitsmodus aus, entfernen Sie die Aktion auf dem Netzschalter (sofern Sie nicht etwas anderes benötigen) und schalten Sie den Autorisierungs-Timer im Leerlauf aus. Als nĂ€chstes entfernen wir den Standby-Modus mit der Verbindung (setzen Sie im Abschnitt HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Power den Parameter CsEnabled auf 0 ). Schalten Sie gegebenenfalls die adaptive Helligkeitsregelung des Bildschirms aus.


Wenn alle Systemeinstellungen abgeschlossen sind, haben wir die letzte Möglichkeit, Änderungen vorzunehmen, da beim zweiten AusfĂŒhren des Skripts AfterSetup.bat der automatische Konfigurationsmechanismus mit SysPrep gestartet wird , der nicht gestoppt werden kann. Sie mĂŒssen immer noch daran denken, das System zu aktivieren (es wird empfohlen, sich mit den Aktivierungsoptionen fĂŒr Unternehmensversionen von Windows selbst vertraut zu machen). Bereits zu diesem Zeitpunkt können Sie eine Sicherungskopie der gesamten Festplatte erstellen und den vorlĂ€ufigen Status des Images bei zukĂŒnftigen Änderungen korrigieren.


Am Ende der Arbeit wird SysPrep nicht neu gestartet , sondern der Computer ausgeschaltet. Zu diesem Zeitpunkt können Sie bereits ein Arbeitsimage erstellen, das fĂŒr die Portierung auf eine Serie bereit ist.


5. EndgĂŒltige automatische Systemeinrichtung


Nach dem ersten Laden des Arbeitsabbilds (siehe FirstLogon.bat aus dem Repository) wird die sichere Schnittstelle konfiguriert, die automatische Anmeldung zum Benutzerkonto neu konfiguriert und die TastaturkĂŒrzel, die das System beschĂ€digen können, werden deaktiviert. Als nĂ€chstes wird der Unified Write Filter konfiguriert und aktiviert. In diesem Fall ist der Filter so konfiguriert, dass alle Partitionen mit Ausnahme der Ordner " Service" und " Protokolle" geschĂŒtzt werden, und verwendet einen 256-MB-Swap. Das System wird mehrmals neu gestartet. Wenn alles korrekt ausgefĂŒhrt wurde, wird beim nĂ€chsten Start eine sichere Schnittstelle angezeigt, die im Namen des Benutzerkontos gestartet wird.


Um das System vor Ort zu warten, können Sie zum Anmeldebildschirm wechseln und sich beispielsweise beim Administratorkonto anmelden. In Windows 10 wird hierfĂŒr eine Standardmethode bereitgestellt. Sie mĂŒssen die Taste „Win“ fĂŒnfmal hintereinander drĂŒcken.


Linux-Pfad


Es gibt keine einheitliche Methode zum Erstellen eingebetteter Systeme mit einer auf Linux basierenden grafischen OberflĂ€che. Da es jedoch keine einzige gemeinsame Verteilung gibt, handelt es sich um eine Systemfamilie, die nach völlig unterschiedlichen Prinzipien erstellt wird. Das nĂ€chstgelegene Thema scheint das Yocto Linux-Projekt zu sein. Es ist jedoch ziemlich schwierig, Bilder voller Anwendungen, Treiber und Bibliotheken von Drittanbietern zu sammeln. Um dieses Problem zu lösen, ist es einfacher, eine vorgefertigte, gut unterstĂŒtzte Distribution manuell zu konfigurieren.


Einfache Lösung


1. Erstinstallation


Zuallererst brauchen wir also die Distribution selbst, zum Beispiel Debian . Sie können einen anderen nehmen, Sie können Ihren eigenen machen. Die Hauptsache ist, dass die Distribution kein automatisches Update-System hat. FĂŒr das Experimental Board wurde Debian Linux 9 (64-Bit-Version, Kernel 4.9) ausgewĂ€hlt.


Wir installieren das System auf herkömmliche Weise. Bei der Installation teilen wir die Festplatte in zwei Abschnitte auf: sda1 - / fĂŒr das System, sda2 - / var / log fĂŒr System- und Softwareprotokolle. Eine solche AufschlĂŒsselung ist in Zukunft fĂŒr den Aufzeichnungsfilter nĂŒtzlich. Installieren Sie die Standard- xfce-GUI und den SSH- Server. Wir fĂŒgen wĂ€hrend der Installation des Benutzers einen Administrator hinzu und legen das Passwort fest.


Nach der Installation fĂŒgt der Root- Account als erstes den Administrator der sudo- Gruppe hinzu.


 apt install sudo adduser administrator sudo 

Wir gehen unter dem Benutzernamen Administrator in das System und fĂŒgen einen neuen Benutzer hinzu .


 sudo useradd -m user 

Der Einfachheit halber können Sie das Passwort fĂŒr ihn vollstĂ€ndig entfernen, da der Zugriff auf dieses Konto weiterhin ĂŒberall geschlossen bleibt.


 sudo passwd -d user 

2. Systemkonfiguration


Wir installieren Treiber, Firmware-Pakete und zusÀtzliche Programme nach Wunsch.


Um die Remoteverwaltung in Zukunft zu aktivieren, können Sie den vnc- Server bei Bedarf installieren und konfigurieren. In diesem Fall macht dies jedoch keinen Sinn, da alle administrativen Aufgaben einfach ĂŒber die Konsole ausgefĂŒhrt werden können und hierfĂŒr nur der Zugriff ĂŒber ssh ausreicht.


Linux kann verschiedene Fenstermanager fĂŒr verschiedene Benutzer verwenden. Installieren Sie einen minimalistischen Manager mit der Möglichkeit zur Feinabstimmung, damit die BenutzeroberflĂ€che funktioniert. Und fĂŒr die Konfiguration benötigen Sie einige weitere Anwendungen.


 sudo apt install fluxbox arandr plymouth 

Mit arandr können Sie bei Bedarf die Auflösung und Ausrichtung des Bildschirms Àndern und die Konfiguration dann als Skript speichern (Abb. 4).


Bildschirmparameter set_resolution.sh


Abb. 4. Bildschirmeinstellungen.


Als NĂ€chstes mĂŒssen Sie sich einmal unter dem Benutzerkonto beim System anmelden, nachdem Sie die zuvor als Fenstermanager installierte Fluxbox ausgewĂ€hlt und sich dann erneut abgemeldet haben. Dies ist erforderlich, damit Fluxbox beim ersten Start alle Einstellungsdateien erstellt und als Standardmanager fĂŒr das Benutzerkonto ausgewĂ€hlt wird (siehe die .dmrc- Datei im Home-Verzeichnis des Benutzers ).


Jetzt mĂŒssen Sie die Fluxbox so konfigurieren, dass sie die oben beschriebenen Schnittstellenanforderungen erfĂŒllt. Deaktivieren Sie dazu das Fenster session.screen0.toolbar.visible in /home/user/.fluxbox/init : false , kommentieren Sie alle TastaturkĂŒrzel mit Ausnahme der LautstĂ€rketasten in /home/user/.fluxbox/keys und in / home / user / aus. Fluxbox / Startup FĂŒgen Sie den Start des Bildschirmkonfigurationsskripts hinzu und deaktivieren Sie die Energiesparfunktionen des Monitors und die automatische AusfĂŒhrung der Vollbildanwendung. Das Skript startet die Anwendung im Falle eines unerwarteten Fehlers neu.


 set_resolution.sh xset -dmps s off /home/user/autostart.sh & 

Jetzt mĂŒssen Sie den Systemstartvorgang beschleunigen und vor dem Benutzer verbergen. Setzen Sie dazu GRUB_TIMEOUT = 0 in / etc / default / grub und setzen Sie quiet_boot = "1" in /etc/grub.d/10_linux . Um die Animation beim Laden in die Kernelparameter GRUB_CMDLINE_LINUX anzuzeigen, mĂŒssen Sie die BegrĂŒĂŸungsoption hinzufĂŒgen. Wenn sich die Bildschirmausrichtung Ă€ndert, wird je nach Richtung die Option fbcon = drehen: 1 oder fbcon = drehen: 3 hinzugefĂŒgt . Bei Bedarf können Sie die Auflösung und Ausrichtung auf dem Anmeldebildschirm Ă€ndern. Dazu muss display-setup-script = set_resolution.sh in /etc/lightdm/lightdm.conf angegeben werden . Und wenn Sie den Cursor ausblenden mĂŒssen, fĂŒgen Sie xserver-command = X -core -nocursor hinzu .


Wir wÀhlen einen Animationsstil zum Laden.


 sudo plymouth-set-default-theme -R text 

Und schließlich alle Änderungen beheben.


 sudo update-grub2 

3. Programme installieren


Um die KioskShell-Demo-OberflĂ€che zu erhalten, mĂŒssen Sie eine Linux-Version aus dem Quellcode erstellen. Montagetipps befinden sich im Repository.


Wir kopieren die Dateien auf die Karte und erhalten die folgende Datei- und Verzeichnisstruktur:


 / ├── usr/ -      "KioskShell"    ├── local/ │ └── bin/ │ └── set_resolution.sh └── home/ ├── administrator/ │ └── relogin.sh -       └── user/ └── autostart.sh -     

4. EndgĂŒltige Systemeinrichtung


In dieser Phase können Sie eine Sicherungskopie der gesamten Festplatte erstellen und den vorlĂ€ufigen Status des Images fĂŒr den Fall von zukĂŒnftigen Änderungen korrigieren.


Richten Sie die automatische Anmeldung unter dem Benutzerkonto ein. Setzen Sie dazu autologin-user = user in /etc/lightdm/lightdm.conf .


Stellen Sie nun den Schreibschutz ein.


 sudo apt install bilibop 

WÀhlen Sie bei der Installation die dynamische gefÀlschte GerÀtezuordnung aus .


Bearbeiten Sie die Einstellungsdatei /etc/bilibop/bilibop.conf . Wir aktivieren das Modul mit dem Parameter BILIBOP_LOCKFS = "true" und fĂŒgen den Ausnahmen BILIBOP_LOCKFS_WHITELIST = "/ var / log" einen Abschnitt mit Protokollen hinzu. Aktivieren Sie die Möglichkeit, den Schutz bei Bedarf vorĂŒbergehend zu deaktivieren. BILIBOP_LOCKFS_POLICY = "soft" . Und da das System keine VerschlĂŒsselung enthĂ€lt, mĂŒssen Sie BILIBOP_LOCKFS_SWAP_POLICY = "soft" setzen .


Wir starten das System neu und wenn alles richtig gemacht ist, erscheint eine sichere Schnittstelle, die im Namen des Benutzerkontos gestartet wird.


Der letzte Schritt kann leicht automatisiert werden, um beim ersten Start ein System mit automatischer Konfiguration zu erhalten. Dadurch wird eine Verteilung fĂŒr die Skalierung auf mehrere GerĂ€te erstellt (dieser Mechanismus soll unabhĂ€ngig implementiert werden).


Um das System an Ort und Stelle zu warten, können Sie zum Anmeldebildschirm gelangen und sich beim Administratorkonto anmelden. Unter Linux mĂŒssen Sie zuerst ĂŒber Strg + Alt + F1 zur Konsole gelangen. Erzwingen Sie nach der Anmeldung beim Administratorkonto, dass sich der Benutzer vom System abmeldet.


 sudo skill -KILL -u user 

Kehren Sie dann ĂŒber Strg + Alt + F7 in den Grafikmodus zurĂŒck und melden Sie sich erneut als Administrator an.


Schlussfolgerungen


UnabhĂ€ngig davon, welcher Pfad gewĂ€hlt wurde, ist das Endergebnis das gleiche Ergebnis. Bei richtiger Konfiguration erfĂŒllt die BenutzeroberflĂ€che alle oben beschriebenen Anforderungen. Es sind nur visuelle Unterschiede möglich, die in der Regel mit den Funktionen zum Rendern grafischer Elemente mithilfe der Hardwarebeschleunigung auf verschiedenen Plattformen verbunden sind.


GeschĂŒtzte Shell-Anwendung

Abb. 5. Die Schnittstelle ist in Betrieb.


Da die Basis des Systems ein Einplatinencomputer ist, ist die Installation von Touchscreens oder anderen Steuerelementen kein Problem. Wenn Sie ĂŒber die entsprechende Anwendung verfĂŒgen, können Sie auf dieser Basis nicht nur die Steuerkonsole oder das interaktive Dashboard des GerĂ€ts erstellen, sondern auch andere GerĂ€te, z. B. Informationen oder Handelsterminals.


Auswahlproblem


Es gibt eine Meinung, dass Linux sehr schwer zu konfigurieren und zu warten ist, aber gleichzeitig kostenlos ist und Windows einfach und bequem ist, aber Geld kostet. Dies ist vielleicht wahr, aber nur auf Haushaltsebene. Bei der Erstellung eingebetteter Systeme sollten andere UmstĂ€nde berĂŒcksichtigt werden. Beispielsweise scheint die Feinabstimmung von Windows, insbesondere im Hinblick auf die Energieverwaltung und andere Elemente auf niedriger Ebene, nicht mehr einfach und bequem zu sein. Vergessen Sie außerdem nicht, dass Windows 10 sehr hohe Ressourcenanforderungen stellt. In diesem Beispiel war es möglich, den Speicherverbrauch eines sauberen Systems mehrmals zu messen, und im Ruhezustand waren es ungefĂ€hr 400 MB. Zum Vergleich: Linux Debian mit all seinen Add-Ons belegte etwa 200 MB Speicherplatz. Wenn Sie ĂŒber mehrere Gigabyte RAM verfĂŒgen, ist dies natĂŒrlich kein Problem. Bei Verwendung von Windows und hoch geladenen Clientanwendungen mĂŒssen Sie jedoch leistungsstĂ€rkere Single-Board-Computer verwenden. Linux ist weniger ressourcenintensiv, aber sehr schwer zu konfigurieren und erfordert einen ordentlichen Ansatz, insbesondere bei der Arbeit mit dem Bootloader. DarĂŒber hinaus ist es bei der Entwicklung und Implementierung einiger Elemente in das System manchmal erforderlich, einen eigenen Kernel mit speziellen Parametern zusammenzustellen. Es ist effektiv, erfordert jedoch ein angemessenes Maß an Geschicklichkeit.


Es ist schwierig, im Rahmen der Erstellung einer sicheren Schnittstelle eine eindeutige Entscheidung zu treffen. Die KomplexitĂ€t der Bereitstellung von Systemen ist ungefĂ€hr gleich. Die Kosten fĂŒr den Erwerb von Windows-Lizenzen fĂŒr eine Reihe von Instrumenten können den Kosten fĂŒr die Wartung von Systemen unter Linux entsprechen. Welches System Sie wĂ€hlen, entscheiden Sie.


Verschiedene Mensch-Maschine-Schnittstellen, die auf den beschriebenen Beispielen basieren, wurden vom Autor in elektronische GerĂ€te fĂŒr eine Vielzahl von Anwendungen eingefĂŒhrt und haben ihre FunktionsfĂ€higkeit in der realen Welt bewiesen.

Source: https://habr.com/ru/post/de434086/


All Articles