 Okay, herzlich willkommen. Mein Thema handelt um Mainline-Open Source Software auf einem Singleboard-Computer. Ich habe mich damit jetzt einige Monate beschäftigt im lokalen Chaos Starmstadt. Ja, also ich habe folgende Gliederung vor. Ich stelle mich jetzt kurz vor, gehe auf die Hardware und Software ein, zeige die Installation von einem Debian-System, bespreche dann den Bootvorgang rudimentär, gehe dann auf Docker ein, also was man dann alles mit diesem Singleboard-Computer machen kann. Erkläre euch, wo meine Schwächen noch liegen, wie ich, wo ich Probleme habe und ich würde mich da freuen, wenn ihr mich dann unterstützen könnt mit Tipps und Möglichkeiten. Ja, also ich beschäftige mich mit dem Linux-Kando in dem Debian OS seit etwa 20 Jahren. Ich bin jetzt fast 50 und vorher habe ich in Schulzeiten Amiga und Perkin Elma Unix nutzen können. Im Studium habe ich dann viel mit Windows gearbeitet und dann kam eigentlich auch erst Linux auf. Ich habe damals die SUSE Distribution benutzt und zu dieser Zeit, wo ich angefangen habe, SUSE zu benutzen, da wurden noch die CD-ROM-Treiber für SUSE entwickelt und da waren nicht für alle CD-ROMs, so kann ich mich noch erinnern, die CD-ROM-Treiber standen da gar nicht so zur Verfügung. Ja, weshalb bin ich motiviert, mich mit Singleboard-Computer und Open Source Software zu beschäftigen. Also ich habe vor ein paar Jahren sozusagen einen auf Heise Newsticker, einen sehr interessanten Artikel gelesen über BIOS-RootKit direkt vom Hersteller. Es ist also so, die meisten von ihnen benutzen die Notebooks dieses Herstellers hier im Raum und da ist es so, dass also der Hersteller einfach Software nachladen kann ins BIOS und das geschieht also ohne Zustimmung oder kann ohne Zustimmung des Nutzers des Computers passieren. Und ich habe mir damals schon die Frage gestellt, was kann ich denn ändern? Ich kann ein Notebook kaufen und eigentlich kann ich es nur so benutzen. Und ich habe jetzt gemerkt, dass diese Singleboard-Computer doch eine Möglichkeit haben, dass man jetzt eine Chance hat, also diesen BIOS-Rootkits, also die direkt vom Hersteller kommen, dass man denen entkommen kann. Also mein Ziel war, als ich mich damit beschäftigt habe, dass ich eben keine Rootkits möchte und auch eigentlich gar keinen BIOS-Update mehr machen möchte, was ich nicht selber vornehmen kann, also dass ich keine binary Blobs auf meinem System akzeptieren muss. Ich suche natürlich auch nach einer praktikablen Lösung, also das heißt für mich, dass ich den Singleboard-Computer mobil auch nutzen kann als Desktop und als Server und dass die Hardware-Komponenten am Markt verfügbar sind. Das heißt, ich kann die mir heute bestellen beim Hardware-Lieferanten meines Vertrauens und dann werden die mir, sagen wir mal, nach ein paar Tagen geliefert. Und ich musste also jetzt nicht speziell warten oder es sollen auch keine Sonderanfertigungen sein. Und die Software und die Anleitung sollen open source verfügbar sein, das heißt, sobald ich die Hardware habe, kann ich sofort loslegen. Und so war meine Zielsetzung. Und ich bin diesen Ziel relativ nahe gekommen. Ja, und jetzt würde ich da sozusagen ein bisschen drauf eingehen. Also derzeit favorisierter Singleboard-Computer ist ein Rock Pie 4 von der Firma Ratxa und ich habe also das Buten mit einem Mainline-Newboot und mit einem Mainline-Linux-Colonel realisieren können. Da gibt es jetzt noch ein paar Schwächen, die stehen da auch noch aufgelistet. Da gehe ich näher später noch drauf ein und ich habe auch die noch zu erreichenen Ziele kurz aufgelistet. Da komme ich dann auch später nochmal, genau, gehe ich dann nochmal drauf ein. Ich möchte nur auf jeden Fall sagen, dass alle Ziele erreicht werden können, wenn man den Kernel des Vendors, also des Herstellers, nimmt. Das heißt, er kopiert den Mainline-Colonel und passt den Kernel dann entsprechend an und genauso kopiert er das Uboot und passt das Uboot dann entsprechend an. Nur ob er dann diesen Kernel weiter pflegt oder das Uboot weiter pflegt in ein paar Jahren, das weiß ich natürlich nicht und deswegen möchte ich mich nicht auf den Kernel des Herstellers verlassen. Der Hersteller bietet natürlich auch Binary Blocks an, mit denen das dann auch gut funktioniert. Da gehe ich dann auch später im Detail nochmal drauf ein und würde jetzt also zu der Hardware kommen. Also der Rock Pie ist wirklich ein ganz tolles System. Also das große Bild, was man da sieht, da sieht man das Bild von oben. Der sieht eigentlich aus wie ein Raspberry Pi, aber ich möchte noch mal betonen, ist kein Raspberry Pi, ist ein Rock Pie, das was anderes. Und der hat auch andere Feature. Und das ist auch nicht so verwechselnd mit dem Raspberry Pi 4, den es jetzt gibt, sondern Rock Pie. Also zum Beispiel hat er eine PC-Express-Schnittstelle. Man kann also dort eine richtige SSD mit einem M.2-Connector anschließen. Man kann auch eine Historischlösung mit einem EMMC realisieren. Also eine SD-Karte ist relativ langsam. Und einen EMMC-Storage-Ship, den sehen Sie da direkt klein neben in der Ecke, also da in der Mitte, so sieht der ungefähr aus. Und auf der Rückseite von dem Rock Pie, da kann man den einfach einklipsen. Und wenn ihr nachher vorkommen wollt, also hier an dem Gerät, habe ich das auch genauso realisiert. Aber die Lösung, die ich jetzt entsprechend hier vorstelle, ich möchte jetzt keinen EMMC-Ship benutzen als Storage, sondern ich möchte eine richtige SSD nutzen. Und dementsprechend habe ich mein Szenario, wie ich das jetzt hier konfiguriere, abgewandelt. Zum Strom möchte ich nochmal zum Ratsarock Pie was sagen, also das ist wirklich sensationell. Der kann also mit verschiedenen Spannungen umgehen, von 5V, 9V, 12V, 20V. Er kann auch über PoE, also mit Power over Ethernet, kann er entsprechend angesteuert werden. Dafür gibt es ein sogenanntes PoE-Head. Man kann dieses PoE-Head oben sehen, ganz oben rechts. Und das PoE-Head aufgebaut auf den Rock Pie, seht ihr oben links. Okay. Gut, jetzt habe ich ja gesagt, ich habe eine andere Storage-Lösung genutzt. Und zwar seht ihr da unten, dass ich ein USB-Gehäuse gekauft habe, also dass ich mit USB 3.0 dann das Gehäuse anschließe. Ihr seht das oben in der Mitte, das Gehäuse. Und das ist ein von Rezonic, ein Modell, das mir zugesagt hat. Und dort kann ich eine richtige SSD einbauen mit einem M.2-Anschluss. Wenn dann der Mainline-Colonel funktioniert, also dass man nicht mehr diese Umgehung mit dem USB benutzen muss. Dafür gibt es ein sogenanntes PC-Extension Board. Das seht ihr in der Mitte, rechts. Und das baut man dann auf den Rock Pie noch mit auf. Kann man einfach montieren, ist relativ einfach. Und dann kann man dort seine SSD in die M.2-Schnittstelle einfach einklipsen. Und jetzt seht ihr unten so ein Gehäuse. Da passt das auch alles schön rein. Also wenn ihr es als Server mit PoE zum Beispiel dann verwendet, dann ist da alles schön in den Gehäuse drin und da müsst ihr nur das Netzwerkkabel noch einstecken. Und dann ist der Rechner als Server sozusagen einsatzbereit. Also die derzeitige Storage-Lösung, mit der wir jetzt gleich weitermachen, sage ich nochmal kurz, also wir schließen eine Micro-SD-Karte noch an. Also der Rock Pie hat auch ein SD-Karten, Micro-SD-Kartenanschluss. Dort müssen wir die Software, die zum Buten notwendig ist, die müssen wir alle auf der SD-Karte installieren. Und das Routfallsystem, das installieren wir dann auf der entsprechenden SSD. So, jetzt kommen wir zur Software. Also alles, was ihr da seht, das braucht ihr an Software. Von ARM müsst ihr eine Trusted-Firmware kompilieren. Das ist nur eine Datei, da gehe ich gleich in der nächsten Folie drauf ein. Ihr braucht U-Boot von Wolfgang Dengs, das ist eine Firma hier in Deutschland. Sie bietet also ein Bootloader an, der auf ganz vielen Embedded-Systemen eingebaut wird. Also ist quasi der Standard, also eigentlich benutzt ihn jeder, der Embedded-Systeme entwickelt. Und sozusagen dieses Repository, was der Herr Dengs anbietet, das ist das Mainline U-Boot Repository. Also wenn da, wenn sozusagen in diesem Repository, der RockPy4 unterstützt wird, dann ist das sozusagen das, was, wo ich sage, ja, damit möchte ich gerne weiterarbeiten. Dasselbe ist der Colonel von Linus Thorwaldts, also das Colonel Repository, was Linus Thorwaldts selbst verwaltet. Derzeit hat es den Stand 5.3.Release-Kandidat 8. Ihr müsst folgendes wissen, also der RockPy4 wird, also das sind sehr viele Veränderungen, die jetzt erst in den Colonel eingearbeitet werden. Also das heißt, die sind auch sehr bemüht, also von RATSA, dass diese entsprechende Hardwareunterstützung in den Colonel einzugehält, auch im U-Boot. Als Distribution habe ich Debian Buster gewählt. Das ist die Distribution, die am meisten für freie Software, glaube ich, sich einsetzt und ja, die auch sehr weit verbreitet ist und auch einen entsprechenden Standard hat. Gut, also das, ich werde jetzt gleich auf den nächsten Folien, werde ich jetzt zeigen, wie alles kompiliert wird und dann werde ich ja zeigen, wie man Debian Buster auf dem Hostsystem installiert. Und jetzt gehe ich sozusagen hier weiter vorwärts. Also das Schaubild, was ihr da oben seht, das ist MakeMenuConfig, ich weiß nicht, ob ihr das kennt alle, aber damit kann man dann quasi das U-Boot nochmal extra konfigurieren. Da gehe ich aber eigentlich nicht drauf ein, ich wollte das nur jetzt erwähnen, dass man also entsprechend die Konfigurationen auch entsprechend nochmal sehr speziell einstellen kann. Also zuerst macht ihr das ganz einfach, ihr ladet die AMTRAST Firmware runter, das ist ein Git Repository, ladet ihr runter, entpacken, befehl Make und dann werden da irgendwelche Dateien erstellt und eine Datei, die wichtig ist, die wir brauchen, die ist hier in Rot dargestellt, das ist BL 31.11 und die brauchen wir nachher. Und zwar brauchen wir die dann, um im U-Boot dann entsprechend die anderen beiden Dateien, die unten stehen, IDB Loader Image und U-Boot ITB, dass die erfolgreich durchkompiliert werden. Ja, mit Mainline U-Boot macht ihr genau dasselbe, also Repository, runterladen, auspacken, dann kopiert man am besten einfach die BL 31.11 in des Hauptfahrts rechts von U-Boot. Standardmäßig wird U-Boot in USRSource installiert und ihr exportiert also diese eine Variable BL 31. Ja, und dann hat U-Boot extra eine Konfiguration für den Rockpy 4 entsprechend angelegt. Vielleicht habe ich einen Schreibfehler, vielleicht heißt es nicht Rockpy Config, sondern Rockpy 4 Config, das weiß ich jetzt nicht so genau, habe ich gerade gemerkt. Gut, dann wollte ich ja jetzt nicht darauf eingehen, dass man also die Konfiguration nochmal extra verändern kann, das würde man mit diesem Make-Menu-Config machen, das lasse ich jetzt weg, aber man könnte das nochmal entsprechend verfeinern. Und man kann also direkt nach Make-Rockpy-Config Make All machen, dann werden irgendwelche Dateien erstellt, also ihr könnt ein Kaffee kochen und Kuchen essen, es dauert ein bisschen und wenn das alles fertig ist, dann müsst ihr mit den zwei letzten Befehlen, stellt ihr dann einfach dieses IDB-Loader-Image her, indem ihr diese U-Boot TPL-Bin und die U-Boot SPL-Bin einfach zusammenmärscht. Das ist auch ein relativ einfacher Vorgang. Und dann habt ihr im Ergebnis also die zwei Dateien, der unten, und die braucht ihr nachher später, wenn wir die SD-Karte vorbereiten. Also ihr merkt euch jetzt einfach, das BL-31-11 braucht ihr jetzt nicht mehr, habt ihr schon verwendet, alles gut und die zwei unteren Dateien, die braucht ihr noch. So, ich komme jetzt zur Komplierung vom Linux-Colonel. Also ihr landet auch wieder den Linux-Colonel runter. Ihr führt dann diese Befehle aus MakeDislin, MakeDev-Config und dann könnt ihr natürlich auch wieder den Kernel speziell konfigurieren. Da gehe ich jetzt mal drauf ein, komme ich gleich zu. Und wenn man den fertig konfiguriert hat, dann macht man MakeDTBS und MakeBinDev-PKG. Und dann muss man wirklich ein bisschen länger warten. Also es dauert länger, wenn man das kompiliert. Und ja, am besten, also könnt ihr vielleicht das BAMforce Postfach von Euromuty dann entsprechend bearbeiten. Also es dauert wirklich sehr lange. Wichtig ist noch zu sagen, also die Komplierung macht ihr am besten auf einem ARM64-System. Und wichtig ist, dass ihr, also wenn ihr das auf einem normalen X86 macht, dann müsst ihr also bei den Make-Sachen noch entsprechende zusätzliche Parameter angeben. Also wer da Schwierigkeiten hat, der kann sich dann gerne auch an mich wenden. Ich kann dann auch gerne helfen. So, jetzt gehe ich nochmal auf die Konfiguration ein, weil das doch schon wichtig ist für später. Also wenn ihr zum Beispiel CryptoTargets, also wenn ihr verschlüsselte Fallsysteme nutzen möchtet, dann müsst ihr entsprechend CryptoTarget unter der LVM-Section entsprechend konfigurieren. Und ihr müsst unter der Crypto-Section dann entsprechend die Verschlüsselung, die ihr für das Routfallsystem benutzen wollt, auch entsprechend einstellen. Dieses Konfig USB-Serial FTDI-SIO, das ist das Kabel, was ich nachher zeige. Also wenn ihr sozusagen dieses Kabel nutzen wollt und das anstecken wollt an einen weiteren Rock Pie, dann muss der Köln dieses Modul kennen. Und für Docker, wenn man also Docker richtig realisieren will, zum Beispiel so Router, dann braucht man entsprechend die in der Netzwerkkonfiguration, die Konfiguration OpenV-Switch. Und für Amateurfunker ist dieser DVBT-Dongel ganz interessant, also damit kann man dann auch entsprechend spezielle Geräte dann anschließen. Okay, also wenn ihr dann Kekse gebügelt habt, dann nach der Zeit kommt dann entsprechend das Debian-Paket raus, insgesamt sind es vier Pakete, die produziert werden, aber nur das hier da unten, das braucht ihr. Also das Linux-Image 530RC8, wenn der Kernel 531 ist, dann heißt das natürlich entsprechend dann anders. Okay, also die Software haben wir jetzt sozusagen fertiggestellt und kompiliert. Und nun müssen wir uns über die Partitionierung der entsprechenden Storage-Komponenten sozusagen, damit müssen wir uns jetzt beschäftigen. Also Rockchip, da habe ich auf der Seite geguckt, die bieten also, sagen wir mal, ihre Vorstellung an, von wie man die SD-Karte partitioniert. Und also ich weiche davon ab, weil ich gemerkt habe und ich würde euch das auch raten, dass ihr davon abweicht, weil ihr müsst wirklich, also G-Disk und FDK-Experten werden, damit ihr das so einstellen könnt. Ich gehe jetzt einfach nur auf meine Sache ein. Also Rockchip zum Beispiel, also vielleicht nochmal der Unterschied zu Rockchip. Also ich möchte beim Buten den Grab-Bootloader auch laden. Der ist bei Debian einfach standard. Ich möchte also nicht von U-Boot direkt den Kernel anvisieren, sondern ich möchte vorhin auch den Umweg machen über den Grab-Bootloader. Deswegen habe ich eine EFI Partition erstellt und der Startsektor auf meiner Platte, den nehme ich 32.768. Und in diese EFI Partition wird dann später, da wird später der Bootloader sein und die EFI Partition, die muss man formatieren mit VFAT oder mit VAT32. Dann lege ich eine zweite Partition ein. Das ist das Bootfallsystem. Das hat die Formatierung mit Extende 2. Also ich habe die EFI Partition ein Gigabyte benutzt, deswegen ist der Startsektor entsprechend bei 2 Millionen. Und ich habe auch für die Bootpartition ungefähr ein Gigabyte Speicher vorgesehen. Und in der Bootpartition, da wird der Kernel untergebracht, die Initial RAM-Disk und die Device-Triblops, die ich auch vorhin kompliert habe. Die Partition 3 und 4 braucht man eigentlich nicht für die SD-Card und für das Szenario, was wir benötigen. Ich habe die jetzt trotzdem so angelegt, das kann man dann als Rescue-System nutzen. Also das müsst ihr einfach jetzt weglassen. Nur die ersten beiden Partitionen sind eigentlich relevant. So, jetzt kommen wir zur Partitionierung der SSD. Also eigentlich braucht man nur eine Partition, und zwar für das Bootfallsystem, damit aber später ich nicht nochmal die Platte neu partitionieren muss, habe ich entsprechend eine EFI Partition schon angelegt und auch eine Bootfallsystem Partition. Und weil ich auch gerne mit so Kryptosachen rumspiele, habe ich also, und mit Logical Volume Manager, habe ich also eine 3-Partition angelegt. Und da habe ich auch den meisten Speicher dann verbraten bei meiner 512-Gigabyte SSD. Und die letzte Partition, die 4., das ist eigentlich die sozusagen für eine normale Installation. Dort habe ich dann als Bootfallsystem deklariert. Und wenn dann der Mainline-Colonel weiterentwickelt ist und das U-Boot weiterentwickelt ist, dann wird es natürlich so sein, dass der U-Boot in den FBI-Flesch kommt und dann braucht man die entsprechenden EFI Partition und Boot Partition der SSD werden dann benutzt und dann braucht man die SD-Karte nicht mehr. Dann kann man also sozusagen den Rock-Pie anschalten und dann geht es gleich bei der PC-Express, geht es dann gleich weiter mit dem Booten. Dann braucht man auch nicht mehr das USB. So, jetzt kommt die Installation des Rust-Systems. Also ich habe jetzt keinen Stick, den ich runterlade, so ein ISO-Image und bootet es irgendwie, sondern ich mache das ein bisschen anders. Ich mache das mit dem Befehl DE Bootstrap. Ich möchte nochmal darauf hinweisen. Also ihr installiert am besten das System auf einem ARM64 System mit einem ARM64 Kernel. Sonst müsst ihr dann auch andere Parameter eingeben. Das ist aber also kein Hexenwerk. Das geht schon. Also jetzt nehmt ihr die 4. Partition von der SSD und die mountet ihr dann zum Beispiel in Slash Mount, wenn ihr das nicht benutzt. Und dann ja, dann führt ihr einfach diesen Befehl DE Bootstrap aus. Was der macht, ist ganz einfach. Also der geht auf die Debian-Sourcen, lädt alle Pakete runter, die ihr braucht, installiert die in diesem Verzeichnis und dann habt ihr schon ein komplettes Debian-System mit dem einen Befehl. Jetzt müssen wir das Change-Root-System, also das Change-Root vorbereiten. Dafür sind die nächsten 3 Zahlen notwendig. Also, dass man die beiden Partitionen von der MicroSD-Karte entsprechend einbindet und dass man die, sagen wir mal, Information dieses Hauptsystem liefert, dass man die auch in dem Change-Root-System zur Verfügung hat. Das ist diese Zeile mit Slash, also Mount-Minus-Bind-Slash-Dev-Slash-MNT-Slash-Dev-Semicolon und so weiter. Okay, dann wechselt man in das Change-Root-System. Macht einfach noch mal ein Update des Systems, dass alle Pakete aktuell sind und dann passt man entsprechend die Fallsystem-Tab an. Und man muss vorher, also das habe ich leider vergessen, in dem Vortrag zu erwähnen, also man muss vorher mit zum Beispiel BLK-ID, das ist ein Befehl, kann man die UUIDs der entsprechenden Partitionen bekommen und dann passt man entsprechend die Fallsystem-Tab mit den UUIDs dann an. Wenn man das gemacht hat, dann installiert man noch ein paar Pakete, insbesondere das Paketgroup EFI und das installiert dann einen EFI-Loader in der EFI-Partition. Und anschließend, also wenn ihr Krypto und sowas braucht, dann braucht ihr eben noch LVM2 und Krypt-Setup, damit ihr auch später Krypto-Fallsysteme nutzen könnt und entsprechend dann installiert ihr dieses eine Image, was ihr den Kernel, den ihr kompiliert habt, den installiert ihr entsprechend. Danach mit dpkg-i, das ist diese rote Zeile, die ihr da seht. Und eventuell müsst ihr auch noch die Grab-Konfiguration entsprechend editieren und dann müsst ihr unter die Zeile, wo init.rd angegeben ist, müsst ihr noch diese Zeile, device.c.slash und rk3399.rockpy.dtb angeben. Und ihr müsst dieses File, das habe ich leider vergessen, bei der Kompilierung anzugeben. Also, hier gibt es noch ein zweites Ergebnis, und zwar bei Make.dtbs, da werden diese Device-Tribulops entsprechend auch kompiliert aus den Sourcen und da gibt es dann eine Datei, und das ist eben diese Datei, die man dann in die Boot-Fallsystem-Partition entsprechend kopiert. So, die MicroSD-Karte ist ganz einfach zu installieren. Also, ihr wisst ja noch, die zwei Dateien, die wir in Uboot erstellt haben, die werden jetzt auf die MicroSD-Karte gebrannt. Dafür muss man natürlich das richtige Device eingeben. Also, Rockchip ist so, der hat ja einen Rockchip-Prozessor und der Rockchip-Prozessor, der fragt dann genau im Sektor 63 an. Und weil das immer mit 0 beginnt, muss man eben 64 Sektoren auslassen, damit man an der richtigen Stelle dieses IDB-Loder-Image-File entsprechend platziert. Ja, dann mountet ihr nochmal die EFI-Partition und es ist so, wenn ihr bei Debian grob EFI installiert, dann installiert ihr das in eine Datei in ein Verzeichnis, das heißt Debian. Und ihr stellt jetzt einfach nochmal ein Boot-Verzeichnis und kopiert einfach diese zwei Dateien, die da stehen, die kopiert ihr dann einfach nochmal in das Boot-Verzeichnis und benennt grob AA64 EFI in Boot AA64 um. Das ist jetzt die einfachste Lösung. Ansonsten müsstet ihr in dem Uboot das speziell konfigurieren. Ich denke, das ist trivialer. Deswegen habe ich jetzt hier diesen Weg so vorgeschlagen. So, vorhin habe ich ja von dem seriellen Kabel schon erzählt. Ihr braucht also jetzt, um den Bootvorgang entsprechend zu nutzen, müsst ihr dieses serielle Kabel auf dem Rock-Pie installieren. Und auf einem anderen Computer müsst ihr dann eine serielle Konsole öffnen. Ich benutze hier Minicom und ich habe mir extra eine Minicom-Datei erstellt mit diesen Parametern, die hier stehen. Und da steht jetzt 1,5 Millionen. Normalerweise steht da immer 9600 baut. Also es sind wirklich 1,5 Millionen, dass ihr euch da nicht irritieren lässt. Das sind also die Angaben, die beim Hersteller auch stehen. Und es funktioniert auch. So, also so sieht das System aus. Also die Festplatte, das ist dieses Rezonic Gehäuse. Dann in der Mitte ist der Rock-Pie. Da ist sozusagen alles angeschlossen. Strom kommt aus der Steckdose. Und das hellblaue USB, das steckt ihr jetzt in einen anderen Computer und da könnt ihr dann mit der als serielle Konsole drauf zugreifen. Okay, also wenn ihr das gemacht habt und Minicom aufgerufen habt, dann kriegt ihr so ein Screen. Und wenn ihr dann den Rock-Pie in die Steckdose steckt, dann seht ihr also, dass erst der TPL geladen wird. Also das ist übrigens eine Abkürzung für Terziere Program Loader. Und danach wird der SBL geladen. Das ist eine Abkürzung auch. Das ist der Secondary Program Loader. Und die beiden Sachen, die bewirken, dass das U-Boot komplett in den Rahmen geladen wird. Und ihr seht ja dann, das ist ein sehr aktuelles U-Boot, was ich hier benutzt habe aus dem Juli. Es gibt jetzt bestimmt also ein aktuelleres, das muss man entsprechend dann updaten. Und wie ihr hier sehen könnt, ist der Input, Output und der Error nur seriell. Also wenn man jetzt das U-Boot entsprechend konfiguriert, dann könnte man auch auf HDMI diese Video-Ausgabe haben. Das ist aber eine Sache, die habe ich noch nicht so konfiguriert und noch nicht so hingekriegt. Deswegen kann ich euch heute auch nur diese USB-Seriell-Variante zeigen. Normalerweise würde man jetzt das Boot einfach weiterlaufen lassen. Ich habe das natürlich jetzt hier abgebrochen, damit ich den Screenshot machen kann. Aber das Kommando Run Distro Boot CMD, das ist sozusagen das Kommando, was eigentlich ausgeführt wird. Und damit wird dann auch der Auto Boot einfach fortgesetzt. Und das ist eben jetzt das Schöne. Also jetzt wird der Standard Bootloader von Debian geladen. Und hier sind natürlich jetzt einige Kernels, die ich schon ausprobiert habe und auch andere Storage-Komponenten da. Also hier müsst ihr jetzt auf den ersten nur gucken. Der wäre auch die Fold ausgewählt. Und wenn man den einfach weiterlaufen lässt, dann wird der Kernel geladen. Und dann fragt er auch noch, weil ich jetzt hier ein Krypto-Fallsystem benutze nach meiner Passphrase, die kann ich dann eingeben. Und entsprechend wird dann das Routfallsystem entschlüsselt. Und dann bekomme ich den Logging-Screen. Und dieser Logging-Screen wird auch auf dem HDMI-Output ausgegeben. Und das sieht ganz normal aus wie jedes andere Debian. Man hat also 7 Terminals und ein X-Windows, wenn man das möchte. Ich habe hier den Quiet-Mode bei den Kernelparametern gewählt, weil ich sonst eine Riesenlatter hätte an Informationen, welche Dienste geladen werden und welche Treiber. Das habe ich deswegen weggelassen. Also ich fasse hier nochmal zusammen. Also man braucht ein paar Stunden, wenn man das System installiert hat. Und dann hat man so ein Logging-Screen und kann dann weitere Pakete installieren. Also zum Beispiel Docker. Das wäre jetzt also das nächste, was man dann installieren kann. Und dann kann man in Docker entsprechende Container erstellen. Und ich habe da auch schon viel experimentiert. Also es ist problemlos, also Docker zu nutzen. Weil ich das Modul OpenVswitch, was ich ja vorhin erwähnt habe, nutze, kann ich also den Docker-Container, der Routing-Macht erstellen. Ich habe auch einen Docker-Container erstellt, der eine ganze grafische Oberfläche darstellt. Das heißt, ich gebe nur ein in der Kommando-Zeile X, und kriege dann den Rest aus dem Docker-Container geliefert. Und wenn man dann weitere Docker-Container mit X-Oberfläche starten möchte, das geht auch. Also man kann dann in dem LXQT Desktop entsprechenden virtuelles Fenster aufmachen. Und da kann man dann entsprechend die Applikation mit reinladen. Also mehr will ich jetzt hier nicht drauf eingehen. Wer da mehr wissen will, der kann mich da gerne dann nach dem Talk ansprechen. So, jetzt komme ich zum aktuellen Stand. Also ich habe ja gesagt, also was mein favorisierter Singleboard-Computer ist. Ich habe wirklich viele Singleboard-Computer gekauft. Und das war jetzt mal wirklich gut. Also dieser Hersteller. Also ich habe ja schon gesagt, booten kann ich jetzt bisher nur über SSD-Karte. Und ich kann auch die SSD nicht richtig nutzen mit dem NVMe-Protokoll, weil eben das noch nicht vom Mainline-Current richtig unterstützt wird. Also die Sachen, die sozusagen jetzt noch stören. Also der Rock Pie, das habe ich noch nicht erwähnt, der hat einen sogenannten SPI-Flesch aufgelötet. Das ist ein kleiner Speicher. Und der reicht aus, dass man die zwei Dateien, IDB-Loader und UBoot.ITB, dass man die auf diesen kleinen Speicher kann. Leider gibt es vom Hersteller nur dort ein Binary-Blob. Das heißt, das geht schon, aber ich kann das nur mit dem Binary-Blob realisieren. Weil ich das nicht will. Weil das jetzt auch nicht das Szenario ist, was ich hier jetzt darstellen möchte, kann ich das eben noch nicht. Und wenn ich aber dann dazu in der Lage bin, sozusagen meine selbst kompilierten Binarys dann entsprechend auf den SPI-Flesch zu flaschen, dann kann ich auch alles auf die SSD also kann ich den Grub-Loader in der EV-Partition auf der SSD unterbringen und dann kann ich eben auch über PC-Express- und NVMe-Protokoll entsprechend starten. Und dann benötige ich die Micro-SD-Karte eben nicht mehr. Okay, wie schon erwähnt, also der Wendor-Körnel, damit funktioniert das alles und wenn man die Blobs von dem Hersteller nutzt und die sind ja redlich bemüht, dass sie entsprechend das Ganze in den Mainline-Körnel integrieren möchten. Okay, was? Also das sind die zwei Dinge, die offen, die technisch offen sind. Also ich habe leider nicht das richtige Device-Tree-Blob. Also ich habe dort in den Zursen genau nachgeschaut. PC-Express wird eben dort nicht unterstützt bisher. Und ich muss eben darauf warten, bis das in den Zursen so auftaucht, dass ich dann auch das richtige Device-Tree-Blob kompilieren kann. Und dieses muss man in der Situation dem U-Boot mitgeben und auch dem Linux-Körnel. Das habe ich ja schon erwähnt. Ich weiß leider nicht, wie das Mainline-U-Boot-File aussieht, was auf den SPI-Flash gespielt werden muss. Und das zweite große Thema ist, dass ich also bisher den Bootvorgang nur über die serielle Konsole entsprechend steuern kann und es wäre natürlich gut, wenn man das über die USB-Tastatur und über den HDMI-Output auch parallel machen kann. Das ist eben der Anpassung der U-Boot-Scripts und der U-Boot-Konfiguration. Ja, jetzt komme ich nochmal zu meiner eingänglichen Motivation. Weshalb ich das eigentlich hier alles mache zurück. Also, wir leben ja hier in Deutschland und wir haben es eigentlich ganz gut. Denn also ich denke, es ist einfach verboten, dass man hier diese Rootgids einfach installieren darf. Und dafür gibt es auch hier eine demokratische Mehrheit, die man auch nicht möchte und die dagegen auch entsprechend demokratisch auch vorgeht. Aber es gibt natürlich man muss natürlich wissen, also die Hersteller solcher Geräte, der bietet diese Dinge weltweit an und entsprechend gibt es also, da wird quasi dieses Feature auch mitgeliefert und bei uns eben in unserer freien Gesellschaft dieses Feature abgeschaltet oder wird blockiert. Aber es kann problemlos ja wieder angeschaltet werden. Und für mich ist es eben also stellen sich da für mich zwei Fragen. Also die Hersteller produzieren das, was der Markt möchte und ja, wie hoch ist denn der Marktanteil der freien Welt und wie hoch ist der Marktanteil totalisierer Staaten die eben entsprechende Systeme nachfragen. Und die zweite Frage, die sich natürlich jetzt für mich hier konkret in Deutschland oder in Europa stellt also inwieweit, also ist unsere freie Welt hier gefährdet, wenn man sich wahlen Gesetze und Vorhaben entsprechend anguckt die hier vor sich gehen. Ja, also ich werde jetzt etwas philosophisch ich denke vernünftige Lösungen, die liegen zwischen der Willkür und der Diktatur und ich denke, wir können uns darauf einigen und dass man die Freiheit mit Norm versehen muss, damit man hier alle gut zusammenleben und dass man wenn man Normen aufstellt dass man auch den Freiheitsaspekt entsprechend berücksichtigen sollte. Und mein favorisierender Ansatz ist dass unsere Freiheit gestärkt werden soll und geschützt werden soll, wenn wir Regeln aufstellen und meine zentrale Forderung ist dass wir Computer mit freier Software und freier Hardware betreiben dürfen und auch herstellen dürfen und wenn wir so eine Regel durchsetzen können demokratisch, dann wäre ich sehr zufrieden oder dass wir das nochmal in einer Regel formulieren dass auch allen klar ist, dass das nicht verboten gehört und ihr habt ja alle ein Smartphone und ich denke ihr seid vielleicht die die Zielgruppe die geeignete Anforderungen erstellen kann, wie ein sinnvolles, sicheres Smartphone was unsere Freiheit auch erhalten kann also zum Beispiel dass wir über unsere Daten bestimmen wie das auszusehen hat ich denke, da bin ich jedoch am richtigen Publikum dass mir solche Fragen und Anforderungen beantworten kann ja, also ein Singleboard-Computer als Notebook umzufunktionieren das war aus diesen Überlegungen heraus auch meine Wahl denn Singleboard-Computer die unterliegen einem sehr starken Wettbewerb und zwar, der ist preislich getrieben und technisch also sozusagen das gute daran ist, dass aus Kostengründen der Bioschip fehlt mit dem Hersteller-Rootkit und es ist auch so, dass einige Hersteller die veröffentlichen auch ihre Hardware-Spezifikationen um also mehr Vertrauen aufzubauen das heißt, Ratsa zum Beispiel hat seine Specs veröffentlicht es ist eigentlich einfach diesen Computer auch nachzubauen und selber zu produzieren also technisch möchte ich soweit vorankommen dass man ein Singleboard-Computer als Notebook-Alternative nutzen kann und ich werbe um eure Unterstützung und ich bin euch also sehr dankbar wenn ihr eure Kontakte nutzen könnt und spielen lasst wenn ihr eure Kontakte die sich auch in dieses Projekt mit involvieren wollen einmal technisch und einmal gesellschaftlich und damit ein freier Computer eine Chance hat und am Markt verfügbar ist brauchen wir eine Zielgruppe die als Marktmacht sich etablieren kann und technische Anforderungen aufstellt warum brauchen wir so eine Marktmacht damit potenzielle Hersteller für diese Zielgruppe auch trifft also wenn wir solche Geräte nachfragen dann werden die auch hergestellt und wenn wir Geräte die nicht unseren Anforderungen genügen wenn wir die angeboten bekommen und ablehnen dann verrotten die in den Regalen also ich danke nochmal ich möchte nochmal auf das Motto von MRCD in diesem Jahr hinweisen also ich frage nochmal dass der Blob genau oben der Arm Trusted Firmware das ist etwas was du... das hatte ich nicht gesehen danke genau also das war's das war's das war's das war's das war's das war's das war's nicht gesehen, danke ich will jetzt nicht völlig paranoid sein aber der offizielle Linux Kernel der man bei Linux Torwald runter lädt der enthält ja auch noch Blobs und es gibt ja von der Free Software Foundation Latin America noch den Linux Libre Kernel und hast du das auch schon mal ausprobiert mit dem Linux Libre Kernel nein, ich hab das noch nicht mit dem Linux Libre Kernel ausprobiert aber Das werde ich tun und ich werde dir ja gerne davon berichten. Also erfahrungsgemäß, Linux Libre in dem Fall sollte weitgehend funktionieren, zumindest finde ich gerade so im Kopf, ja die Kommentarware WLAN könnte problematisch werden, das wird nicht funktionieren. HDMI dürfte bei dem Gerät könnte auch noch so ein cruder Chip sein, dass es funktionieren dürfte. Ja, also da gibt es schon Nachrichten, dass es geht, also dass es offene Treiber gibt, für die GPU. Ja, also wenn sonst keine Fragen sind, dann stehe ich gerne zur Verfügung. Also die Hardware habe ich alle hier, wer sich das angucken will, ist herzlich eingeladen, ich pack das dann hier gerne noch alles aus, wenn jemand sich dafür interessiert. Also, macht's gut!