Normale Ansicht

Es gibt neue verfügbare Artikel. Klicken Sie, um die Seite zu aktualisieren.
Ältere BeiträgeHaupt-Feeds

SD-Karten mit 4 TByte Speicher angekündigt

Von: jdo
14. April 2024 um 07:30

Western Digital hat auf der NAB 2024 einige neue und spannende Technologien sowie Storage-Lösungen angekündigt. Ziemlich beeindruckend finde ich die Ankündigungen von microSD-Karten mit 2 TByte Speicher und SD-Karten mit 4 TByte Platz. Ein Raspberry Pi 5 mit so viel Speicherplatz ist fast schon ein vollwertiger Computer. Wobei man hier anmerken muss, dass es microSD-Karten mit 1,5 TByte bereits gibt und das ebenfalls ordentlich viel Platz ist. Genügend Platz kann man allerdings nie haben und daher ist die Ankündigung von […]

Der Beitrag SD-Karten mit 4 TByte Speicher angekündigt ist von bitblokes.de.

Raspberry Pi 5 mit PCIe-SSD

02. Februar 2024 um 18:02

Der neue Raspberry Pi 5 verfügt erstmals über eine PCIe-Schnittstelle. Leider hat man sich bei der Raspberry Pi Foundation nicht dazu aufraffen können, gleich auch einen Slot für eine PCIe-SSD vorzusehen. Gut möglich, dass es auch einfach an Platzgründen gescheitert ist. Oder wird dieser Slot das Kaufargument für den Raspberry Pi 6 sein? Egal.

Mittlerweile gibt es diverse Aufsteckplatinen für den Raspberry Pi, die den Anschluss einer PCIe-SSD ermöglichen. Sie unterscheiden sich darin, ob sie über oder unter der Hauptplatine des Raspberry Pis montiert werden, ob sie kompatibel zum Lüfter sind und in welchen Größen sie SSDs aufnehmen können. (Kleinere Aufsteckplatinen sind mit den langen 2280-er SSDs überfordert.)

Update: Im Mai 2024 stellte auch die Raspberry Pi Foundation einen SSD-Adapter vor. Vorteil: billig. Nachteil: nur für kleine SSDs geeignet (2230/2242). Siehe https://www.raspberrypi.com/news/m-2-hat-on-sale-now-for-12/

NVMe Base von Pimoroni

Für diesen Artikel habe ich die NVMe Base der britischen Firma Pimoroni ausprobiert (Link). Inklusive Versand kostet das Teil ca. 24 €, der Zoll kommt gegebenenfalls hinzu. Die Platine wird mit einem winzigen Kabel und einer Menge Schrauben geliefert.

Die PCIe-Platine von Pimoroni mit einem Kabel und diversen Schrauben

Der Zusammenbau ist fummelig, aber nicht besonders schwierig. Auf YouTube gibt es eine ausgezeichnete Anleitung. Achten Sie darauf, dass Sie wirklich eine PCIe-SSD verwenden und nicht eine alte M2-SATA-SSD, die Sie vielleicht noch im Keller liegen haben!

Raspberry Pi 5 + Pimoroni PCIe-Platine mit SSD

Nachdem Sie alles zusammengeschraubt haben, starten Sie Ihren Raspberry Pi neu (immer noch von der SD-Karte). Vergewissern Sie sich mit lsblk im Terminal, dass die SSD erkannt wurde! Entscheidend ist, dass die Ausgabe eine oder mehrere Zeilen mit dem Devicenamen nmve0n1* enthält.

lsblk

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
mmcblk0     179:0    0  29,7G  0 disk 
├─mmcblk0p1 179:1    0   512M  0 part /boot/firmware
└─mmcblk0p2 179:2    0  29,2G  0 part 
nvme0n1     259:0    0 476,9G  0 disk 
Nach der Sandwich-Montage

Raspberry-Pi-OS klonen und von der SSD booten

Jetzt müssen Sie Ihre Raspberry-Pi-OS-Installation von der SD-Karte auf die SSD übertragen. Dazu starten Sie das Programm Zubehör/SD Card Copier, wählen als Datenquelle die SD-Karte und als Ziel die SSD aus.

Das Bild zeigt ein Fenster des "SD Card Copier" Programms, das zur Duplizierung von Daten von einer SD-Karte auf ein anderes Speichermedium verwendet wird. Im Fenster sind zwei Dropdown-Menüs zu sehen: "Von Gerät kopieren" ist auf "SC32G (/dev/mmcblk0)" eingestellt und "Auf Gerät kopieren" zeigt "HFS512GD9TNG-62A0A (/dev/nvme0n1)". Es gibt auch eine Option für "New Partition UUIDs", die nicht ausgewählt ist, sowie "Hilfe", "Schließen" und "Start" Buttons.
Inhalt der SD-Karte auf die SSD übertragen

SD Card Copier kopiert das Dateisystem im laufenden Betrieb, was ein wenig heikel ist und im ungünstigen Fall zu Fehlern führen kann. Der Prozess dauert ein paar Minuten. Während dieser Zeit sollten Sie auf dem Raspberry Pi nicht arbeiten! Das Kopier-Tool passt die Größe der Partitionen und Dateisysteme automatisch an die Größe der SSD an.

Als letzten Schritt müssen Sie nun noch den Boot-Modus ändern, damit Ihr Raspberry Pi in Zukunft die SSD als Bootmedium verwendet, nicht mehr die SD-Karte. Dazu führen Sie im Terminal sudo raspi-config aus und wählen Advanced Options -> Boot Order -> NVMe/USB Boot.

Das Bild zeigt ein geöffnetes Terminalfenster mit dem Raspberry Pi Software Configuration Tool (raspi-config). Es werden Optionen für die Boot-Konfiguration des Raspberry Pi angezeigt: B1 für den Boot von SD-Karte, B2 für den Boot von NVMe/USB und B3 für den Netzwerk-Boot. Nutzer können hier die Boot-Reihenfolge einstellen oder ändern.
Mit »raspi-config« stellen Sie den Boot-Modus um

Selbst wenn alles klappt, verläuft der nächste Boot-Vorgang enttäuschend. Der Raspberry Pi lässt sich mit der Erkennung der SSD so viel Zeit, dass die Zeit bis zum Erscheinen des Desktops sich nicht verkürzt, sondern im Gegenteil ein paar Sekunden verlängert (bei meinen Tests ca. 26 Sekunden, mit SD-Karte nur 20 Sekunden). Falls Sie sich unsicher sind, ob die SSD überhaupt verwendet wird, führen Sie noch einmal lsblk aus. Der Mountpoint / muss jetzt bei einem nvme-Device stehen:

lsblk

NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
nvme0n1     259:0    0 476,9G  0 disk 
├─nvme0n1p1 259:1    0   512M  0 part /boot/firmware
└─nvme0n1p2 259:2    0 476,4G  0 part /

Wie viel die SSD an Geschwindigkeit bringt, merken Sie am ehesten beim Start großer Programme (Firefox, Chromium, Gimp, Mathematica usw.), der jetzt spürbar schneller erfolgt. Auch größere Update (sudo apt full-upgrade) gehen viel schneller vonstatten.

Benchmark-Tests

Ist die höhere Geschwindigkeit nur Einbildung, oder läuft der Raspberry Pi wirklich schneller? Diese Frage beantworten I/O-Benchmarktests. (I/O steht für Input/Output und bezeichnet den Transfer von Daten zu/von einem Datenträger.)

Ich habe den Pi Benchmark verwendet. Werfen Sie immer einen Blick in heruntergeladene Scripts, bevor Sie sie mit sudo ausführen!

wget https://raw.githubusercontent.com/TheRemote/ \
       PiBenchmarks/master/Storage.sh
less Storage.sh       
sudo bash Storage.sh
Auf dem Bild ist ein Terminalfenster zu sehen, in dem die Ergebnisse eines SSD-Benchmarktests dargestellt sind. Es zeigt verschiedene Messwerte wie die Lesegeschwindigkeit (HDparm) und die Schreibgeschwindigkeit (DD). Der Test wurde mit dem Tool `iozone` durchgeführt, das für die Messung der Dateisystemleistung verwendet wird. Unten im Fenster sind die Gesamtergebnisse des Tests in einer Tabelle zusammengefasst, wobei die Kategorie, die Testart und die entsprechenden Ergebnisse aufgelistet sind.
SSD-Benchmarktest

Ich habe den Test viermal ausgeführt:

  • Mit einer gewöhnlichen SD-Karte.
  • Mit einer SATA-SSD (Samsung 840) via USB3.
  • Mit einer PCIe-SSD (Hynix 512 GB PCIe Gen 3 HFS512GD9TNG-62A0A)
  • Mit einer PCIe-SSD (wie oben) plus PCIe Gen 3 (Details folgen gleich).

Die Unterschiede sind wirklich dramatisch:

Modell                 Pi 5 + SD     Pi 5 + USB    Pi 5 + PCIe     Pi 5 + PCIe 3
-----------------    -----------  -------------  -------------   ---------------
Disk Read                73 MB/s       184 MB/s       348 MB/s          378 MB/s
Cached Disk Read         85 MB/s       186 MB/s       358 MB/s          556 MB/s
Disk Write               14 MB/s       121 MB/s       146 MB/s          135 MB/s
4k random read         3550 IOPS     32926 IOPS    96.150 IOPS      173.559 IOPS
4k random write         918 IOPS     27270 IOPS    81.920 IOPS       83.934 IOPS
4k read               15112 KB/s     28559 KB/s   175.220 KB/s      227.388 KB/s
4k write               4070 KB/s     28032 KB/s   140.384 KB/s      172.500 KB/s   
4k random read        13213 KB/s     17153 KB/s    50.767 KB/s       54.682 KB/s
4k random write        2862 KB/s     27507 KB/s   160.041 KB/s      203.630 KB/s        
Score                       1385           9285         34.723            43.266

Beachten Sie aber, dass das synthetische Tests sind! Im realen Betrieb fühlt sich Ihr Raspberry Pi natürlich schneller an, aber keineswegs in dem Ausmaß, den die obigen Tests vermuten lassen.

PCIe Gen 3

Standardmäßig verwendet der Raspberry Pi PCI Gen 2. Mit dem Einbau von zwei Zeilen Code in /boot/firmware/config.txt können Sie den erheblich schnelleren Modus PCI Gen 3 aktivieren. (Der Tipp stammt vom PCIe-Experten Jeff Geerling.)

# in /boot/firmware/config.txt
dtparam=pciex1
dtparam=pciex1_gen=3

Die obigen Benchmarktests beweisen, dass die Einstellung tatsächlich einiges an Zusatz-Performance bringt. Ehrlicherweise muss ich sagen, dass Sie davon im normalen Betrieb aber wenig spüren.

Bleibt noch die Frage, ob die Einstellung gefährlich ist. Die Raspberry Pi Foundation muss ja einen Grund gehabt haben, warum sie PCI Gen 3 nicht standardmäßig aktiviert hat. Zumindest bei meinen Tests sind keine Probleme aufgetreten. Auch dmesg hat keine beunruhigenden Kernel-Messages geliefert.

Fazit

Es ist natürlich cool, den Raspberry Pi mit einer schnellen SSD zu verwenden. Für Bastelprojekte ist dies nicht notwendig, aber wenn Sie vor haben, Ihren Pi als Server, NAS etc. einzusetzen, beschleunigt die SSD I/O-Vorgänge enorm.

Schön wäre, wenn der Raspberry Pi in Zukunft einen PCIe-Slot erhält, um (zumindest kurze) SSDs ohne Zusatzplatine zu nutzen. Bis dahin sind die Erweiterungsplatinen eine Übergangslösung.

In der Community ist zuletzt die Frage aufgetaucht, ob der Raspberry Pi überhaupt noch preiswert ist. Diese Frage ist nicht unberechtigt: Die Kosten für einen neuen Pi 5 + Netzteil + Lüfter + SSD-Platine + SSD + Gehäuse gehen in Richtung 150 €. Sofern Sie ein Gehäuse finden, in dem der Pi samt SSD-Platine Platz findet … Um dieses Geld bekommen Sie auch schon komplette Mini-PCs (z.B. die Chuwi Larkbox X). Je nach Anwendung muss man fairerweise zugeben, dass ein derartiger Mini-PC tatsächlich ein besserer Deal ist.

Quellen/Links

OpenBSD will indirekte Systemaufrufe unterbinden

30. Oktober 2023 um 10:32

Das Team von OpenBSD will den Syscall-Aufruf komplett aus seinem System entfernen. Das soll Exploits deutlich erschweren.

Das auf Sicherheit fokussierte Open-Source-Betriebssystem OpenBSD möchte den Systemaufruf Syscall komplett aus dem eigenen Kernel und der Standard-C-Bibliothek entfernen. Das kündigt der Begründer und Leiter von OpenBSD, Theo de Raadt, auf der Mailingliste des Projekts an und verschickt dazu auch passende Änderungsdateien. Ziel dieser tiefgreifenden Änderung ist, wie es bei dem Projekt zu erwarten ist, die Sicherheit zu erhöhen.

Mit Hilfe des Syscall-Aufrufs können die anderen Systemaufrufe des Betriebssystems indirekt über eine Zahl aufgerufen werden, die die entsprechende Assembler-Sprache der genutzten Plattform unterstützen muss. Dafür gibt es Tabellen, welche etwa im Fall von OpenBSD bis zur Gründung des Projekts zurückreichen. Die Idee des Syscall-Aufrufs ist dabei noch deutlich älter und stammt dabei aus dem originalen BSD von Anfang der 80er Jahre, ist seitdem aber auch von anderen unixartigen Systemen implementiert worden. In der Linux-Dokumentation etwa heißt es, der Aufruf sei sinnvoll für den Fall, falls der gewünschte Systemaufruf über keine eigene Wrapper-Funktion in der C-Bibliothek verfüge.

De Raadt begründet den Schritt mit dem Ziel, möglichst viele Aktionen unterbinden zu wollen, die bei der Ausnutzung einer Sicherheitslücke zum Ausführen von Code führen können. Er schreibt weiter: “Mir ist klar, dass wir niemals alle [von den Angreifern] verwendeten Mechanismen vollständig beseitigen können. Ich hoffe jedoch, dass ich die Programmierer von Angriffen dazu zwinge, immer kompliziertere Methoden zu verwenden. Gleichzeitig bedeutet dies, dass weniger Methoden verfügbar sind. Andere Methoden machen die Ausnutzung anfälliger. Dies drückt die Erfolgsquoten in den ‘statistischen Niedrigprozentbereich’.”

Weiter heißt es, der Entwickler versuche dabei zuerst, die einfachen Methoden zu entfernen und Angreifer eben zu immer komplexeren Aufgaben zu zwingen. In Zukunft sollen auch die komplexeren Aufgaben zum Ausnutzen von Sicherheitslücken unterbunden werden. Sollte die Änderung für den Syscall-Aufruf wie geplant umgesetzt werden, muss sich das Team zunächst aber um die damit verbundenen Auswirkungen auf andere Software kümmern. So müssen viele Programme angepasst werden, die den Aufruf bisher benutzt haben. Das gelte insbesondere für das Go-Ökosystem, schreibt de Raadt.

Der Beitrag OpenBSD will indirekte Systemaufrufe unterbinden erschien zuerst auf Linux-Magazin.

OpenBSD 7.4 bringt Neuerungen

17. Oktober 2023 um 08:31

Mit OpenBSD 7.4 können die Entwickler die inzwischen 55. Release des Betriebssystems ankündigen.  Version 7.4 biete signifikante Verbesserungen, einschließlich neuer Features, in fast allen Bereichen des Systems, heißt es weiter.

Entsprechend lang ist die Liste der Neuerungen und Änderungen in der Ankündigung von Hauptentwickler Theo de Raadt.Release Notes. Zu den Neuerungen zählt ein kqueue1()-Systemaufruf, der ein Close-on-Exec-Verhalten ermöglicht. Außerdem gibt es eine verbesserte Integrität des Arm64-Kontrollflusses und Unterstützung für TCP-Segmentierungs-Offloading.

Zu en Bugfixes zählt, dass es kein undefiniertes Verhalten bei der Verwendung von MS-DOS-Dateisystemen mehr gibt. Die Korrekturen für diesen Bug habe man von FreeBSD importiert, teilt de Raadt mit.

Zudem ist es VMM-Gästen nun erlaubt, Supervisor IBT (Indirect Branch Tracking)zu aktivieren und zu verwenden. Bei den Treibern gibt es ebenfalls diverse Updates, etwa einen Treiber für den Qualcomm RNG-Chip, der auf dem ThinkPad X13s als Random Number Generator zum Einsatz kommt. In der Mitteilung sind alle Neuerungen und Änderungen vermerkt.

Der Beitrag OpenBSD 7.4 bringt Neuerungen erschien zuerst auf Linux-Magazin.

FreeBSD 13.2 bringt Updates und Features

12. April 2023 um 08:09

Die Entwickler von FreeBSD haben mit Version 13.2 die dritte Ausgabe im stabilen 13er-Zweig veröffentlicht und dabei eine ganze Reihe von aktualisierten Paketen integriert.

So kommt OpenSSH in Version 9.2p1 und OpenSSL in Ausgabe 1.1.1t. ZFS wurde auf OpenZFS Version 2.1.9 aktualisiert, Sendmail auf Version 8.17.1 und Sqlite auf die Version 3.40.1.

Dass der Bhyve-Hypervisor jetzt mehr als 16 virtuelle CPUs in einem Gast unterstützt, zählt zu den neuen Features. Standardmäßig erlaubt bhyve jedem Gast, die gleiche Anzahl von vCPUs zu erzeugen wie die Anzahl der physischen CPUs auf dem Host. Diese Grenze kann über die Loader-Tunable hw.vmm.maxcpu angepasst werden.

Dass sich nun Snapshots auf UFS-Dateisystemen erstellen lassen, wenn diese mit Journalde Soft-Updates betrieben werden, ist ebenfalls neu.

FreeBSD 13.2 ist für die Architekturen amd64, i386, powerpc, powerpc64, powerpc64le, powerpcspe, armv6, armv7, aarch64 und riscv64 verfügbar.

Der Beitrag FreeBSD 13.2 bringt Updates und Features erschien zuerst auf Linux-Magazin.

helloSystem 0.8 – FreeBSD im macOS Look

Von: jdo
22. Januar 2023 um 07:43

Das Betriebssystem helloSystem 0.8 basiert auf FreeBSD 13.1-RELEASE und lehnt sich beim Design eindeutig an macOS an. Auf GitHub ist unter den Entwicklern auch Clement Lefebvre gelistet und den kennen die meisten Linuxer als die treibende Kraft hinter Linux Mint. Aus diesem Grund war ich auch neugierig und habe mir das System kurz angesehen. Die VirtualBox Guest Additions sind vorinstalliert und deswegen war es einfach, das Betriebssystem in VirtualBox zu betreiben. Einige AppImage-Dateien lassen sich nun über den Befehl launch […]

Der Beitrag helloSystem 0.8 – FreeBSD im macOS Look ist von bitblokes.de.

OpenVPN 2.6 Beta mit DCO unterstützt OpenSSL 3.0

Von: jdo
09. Dezember 2022 um 10:11

Ab sofort kannst Du eine erste Beta-Version von OpenVPN 2.6 testen. Es ist ein wichtiger Meilenstein, weil es Unterstützung für Data Channel Offloading (DCO) Kernel-Beschleunigung bietet – für Linux, FreeBSD und Windows. Wer sich wie ich für VPNs interessiert, ist über mehr Performance immer dankbar. Die Beschleunigung wird mit dem Kernel-Modul ovpn-dco umgesetzt, das sich bisher allerdings noch nicht im Mainline-Kernel befindet. Im Blog von OpenVPN findest Du weitere Informationen zu DCO und auch Benchmarks, die zeigen sollen, dass das […]

Der Beitrag OpenVPN 2.6 Beta mit DCO unterstützt OpenSSL 3.0 ist von bitblokes.de.

FreeBSD warnt vor Ping-Sicherheitslücke

06. Dezember 2022 um 09:48

Die Entwickler von FreeBSD haben ein Advisory für eine über das Ping-Programm ausnutzbare Sicherheitslücke herausgegeben. Über das Ping-Kommando könnte unter Umständen Schadcode eingeschmuggelt werden, heißt es in der Warnung der Entwickler.

Anwender von FreeBSD müssen ihr System auf den neuesten Stand bringen, um das Problem zu beheben, heißt es in der Meldung. Die jeweilige Vorgehensweise dafür ist im Advisory beschrieben.

Mit Ping lässt sich die Erreichbarkeit eines entfernten Hosts mit Hilfe von ICMP-Nachrichten testen. Um ICMP-Nachrichten zu senden und zu empfangen, verwendet Ping RAW-Sockets und benötige daher erhöhte Rechte, teilen die FreeBSD-Entwickler mit.

Ping lese IP-Pakete aus dem Netz, um die Antworten mit der Funktion pr_pack() zu verarbeiten.  Als Teil der Verarbeitung muss ping den IP-Header, den ICMP-Header und, falls vorhanden, ein “zitiertes Paket” rekonstruieren, das das Paket darstellt, das einen ICMP-Fehler erzeugt hat, teilt FreeBSD mit.  Das “quoted packet” habe wiederum einen IP-Header und einen ICMP-Header.

Die Funktion pr_pack() kopiere die empfangenen IP- und ICMP-Header zur weiteren Verarbeitung in Stack Buffers.  Und dabei entstehe das Problem, weil das mögliche Vorhandensein von IP-Options-Headern nach dem IP-Header weder in der Antwort noch in dem zitierten Paket berücksichtigt werde. Sei diese IP-Optionen vorhanden, überlaufe pr_pack() den Zielpuffer um bis zu 40 Bytes, heißt es weiter.

Dieser Speichersicherheitsfehler könne von einem entfernten Host ausgelöst werden und das Ping-Programm zum Absturz bringen.  Es sei auch möglich sein, dass ein bösartiger Host die eine Remotecodeausführung in Ping auslöse.

Der Beitrag FreeBSD warnt vor Ping-Sicherheitslücke erschien zuerst auf Linux-Magazin.

FreeBSD nimmt WireGuard-Unterstützung wieder im Kernel auf

Von: jdo
31. Oktober 2022 um 06:38

FreeBSD plante bereits die Aufnahme des VPN-Protokolls WireGuard in den Kernel, hat sich dann aber doch dagegen entschieden. Das Entwickler-Team hatte damals Bedenken bezüglich der Qualität. Ein paar WireGuard-Versionen später, scheint die Qualität nun aber zu stimmen. Der Erfinder des VPN-Protokolls hat offensichtlich an der Entwicklung für die FreeBSD-Implementierung selbst mitgearbeitet, wie Du hier sehen kannst. Damit wird FreeBSD 14 inklusive des Kernel-Moduls von WireGuard ausgeliefert. In den Linux-Kernel hat es WireGuard bereits geschafft und es funktioniert großartig.

Der Beitrag FreeBSD nimmt WireGuard-Unterstützung wieder im Kernel auf ist von bitblokes.de.

❌
❌