Linux 7.0

Linux 7.0

Nach zwei Monaten der Entwicklung stellte Linus Torvalds den Release des Kernels Linux 7.0. Zu den auffälligsten Änderungen gehören: die Regeln für die Nutzung von KI-Assistenten, der Anschluss von Rust an die Hauptfunktionen des Kernels, die Verbesserung der Swap-Leistung, die Standardaktivierung des Modus PREEMPT_LAZY, die Unterstützung von Filtern für io_uring-Operationen, ein neues Dateisystem Nullfs, die Infrastruktur fserror, die XFS-Monitoring-Tools, die Unterstützung für Remapping in Btrfs, die Standardaktivierung der Version NFS 4.1, die Integration des post-quanten Kryptoalgorithmus ML-DSA, die Aktivierung von AccECN im Netzwerk-Subsystem, sowie die erste Unterstützung für WiFi 8.

Die Nummer 7.0 wurde vergeben, da in der Version 6.x genügend Releases gesammelt wurden, um die erste Ziffer der Versionsnummer zu ändern (zu der Zeit wurde die 6.0 direkt nach der 5.19 veröffentlicht). Die Änderung der Nummerierung erfolgt aus ästhetischen Gründen und ist ein formeller Schritt, der das Unbehagen aufgrund der Ansammlung der vielen Releases in dieser Serie beseitigt.

In die neue Version wurden 15.624 Korrekturen von 2.477 Entwicklern aufgenommen, die Patchgröße beträgt 56 MB (Änderungen betrafen 18.053 Dateien, 704.060 Codezeilen wurden hinzugefügt und 278.132 Codezeilen entfernt). Im vorherigen Release gab es 15.657 Korrekturen von 2.237 Entwicklern, die Patchgröße betrug 52 MB. Etwa 51 % aller in 7.0 präsentierten Änderungen beziehen sich auf Gerätetreiber, rund 11 % betreffen das Update von architekturspezifischem Code, 14 % haben mit dem Netzwerk-Stack zu tun, 5 % mit Dateisystemen und 3 % mit internen Kernsubsystemen.

Hauptneuerungen im Kernel 7.0 (kernelnewbies.org, lwn.net, OpenNET):

  • Festplattensubsystem, Ein-/Ausgabe und Dateisysteme
    • Die Infrastruktur fserror wurde implementiert und ein eine API zur Erfassung von Informationen über Ein-/Ausgabefehler und zur Beschädigung von Metadaten beim Arbeiten mit Dateien. Die vorgeschlagene Infrastruktur standardisiert in Dateisystemen die Übermittlung von Fehlerinformationen an den Benutzerraum über den fsnotify-Mechanismus.
    • In XFS wurden hinzugefügt Neue Möglichkeiten zur Überwachung des Zustands des Dateisystems aus dem Benutzerspeicher. Es wurde die ioctl-Operation XFS_IOC_HEALTH_MONITOR vorgeschlagen, die einen Dateideskriptor zurückgibt, über den Informationen zu Abstürzen im Zusammenhang mit Metadatenbeschädigungen oder Ein-/Ausgabefehlern abgerufen werden können, sowie Veränderungen des Zustands des Dateisystems, wie das Aushängen und Herunterfahren, überwacht werden können. Zusätzlich wurde ein über systemd gesteuerter Hintergrundprozess xfs_healer vorgeschlagen, der Ereignisse über den Zustand des Dateisystems aus dem Benutzerspeicher verarbeitet und bei Bedarf automatisch startet. Wiederherstellungsverfahren.
    • Das Dateisystem Btrfs hat experimentelle Unterstützung für die Struktur "Remap-Baum" (remap tree), die in Zukunft als Zwischenschicht für Ein- und Ausgabeoperationen genutzt werden kann. Der Zweck dieser Funktion besteht darin, dass nach der Verschiebung von Daten auf dem Speicher anstelle der Aktualisierung aller mit diesen Daten verbundenen Strukturen in der zusätzlichen Struktur „remap tree“ die alten und neuen Datenadressen gespeichert werden, sodass bei einem Zugriff auf die Daten die Adressen umgeschrieben werden. Dieser neue Ansatz wird als zuverlässiger und flexibler präsentiert und vereinfacht die zukünftige Erweiterung der Funktionen von Btrfs.
    • In Btrfs wurde Unterstützung für direkten Ein- und Ausgabe in Situationen, in denen die Blockgröße größer ist als die Speicherseite im System.
    • Im Rahmen von wurde hinzugefügt ein neues Nullfs-Dateisystem, das als Platzhalter für das Root-FS verwendet werden kann. Das Nullfs-Dateisystem ist immer leer, enthält keine Daten und unterstützt keine Änderungen. Der Zweck von Nullfs besteht darin, als anfängliches FS genutzt zu werden, um den Bootprozess zu vereinfachen – oberhalb von Nullfs werden dann andere FS gemountet und der Systemaufruf pivot_root() verwendet, um das Root-FS zu wechseln, anstatt den Inhalt von initramfs zu löschen und das damit verbundene Root-FS zu verwenden.
    • Implementiert Aktualisierung der Informationen über die Änderungszeit von Dateien im nicht blockierenden Modus. Zuvor gab der Aufruf von file_update_time_flags() mit der Flagge IOCB_NOWAIT den Fehler -EAGAIN zurück, was die Verwendung von direkten Schreiboperationen im nicht blockierenden Modus verhinderte.
    • In Dateisystemen gibt es den Bereich separat aktivierbarer Optionen. umgestellt Unterstützung für Benachrichtigungs-Sperren (lease). Standardmäßig wird dieser Mechanismus jetzt aufgrund von Problemen mit Dateisystemen, die ursprünglich nicht für seine Verwendung ausgelegt waren, nicht aktiviert. Zum Beispiel unterstützen die Dateisysteme 9p und cephfs dies nicht.
    • Im EROFS-Dateisystem (Extendable Read-Only File System), das für die Verwendung auf Partitionen vorgesehen ist, die nur im Lesezugriff verfügbar sind, wird standardmäßig der Algorithmus LZMA zur Komprimierung eingesetzt. Optional sind die Algorithmen DEFLATE und Zstandard verfügbar, die nicht mehr als experimentell gekennzeichnet sind. Es wird eine gemeinsame Nutzung von Einträgen im Seiten-Cache (page-cache) für identische Dateien in verschiedenen EROFS-Dateisystemen umgesetzt.
    • Entfernt Der Laptop-Modus reduziert den Energieverbrauch, indem Schreibvorgänge auf die Festplatte verzögert und gebündelt werden, um die Zeit im Ruhezustand zu verlängern und die Anzahl der Aufwachvorgänge zu reduzieren. Dieser Modus ist nicht mehr relevant, da in modernen mobilen Geräten Festplatten durch SSDs ersetzt wurden.
    • Das Dateisystem F2FS wurde auf die Verwendung größerer Seiten-Skripte (große Folios) umgestellt.
    • Die Entwicklung des ntfs3 Treibers wurde wiederbelebt, daran arbeitet die Firma Paragon Software. Es wurde Unterstützung für Dateivorgänge auf iomap-Basis hinzugefügt, die Optionen llseek SEEK_DATA/SEEK_HOLE implementiert und der delalloc-Modus für verzögerte Zuweisung von Blöcken hinzugefügt. In der Zwischenzeit wurde in der Mailingliste der Kernel-Entwickler im Februar die Genehmigung für die Aufnahme einer neuen NTFS-Implementierung in eine der zukünftigen Kernel-Versionen erteilt — ntfsplus,die entwickelt wurde, um ntfs3 zu ersetzen.
    • Standardmäßig wird beim Erstellen wurde hinzugefügt die Version 4.1 des NFS-Protokolls (CONFIG_NFS_V4_1) verwendet. sichergestellt Die Sperrung des Exports über NFS spezialisierter Pseudo-Dateisysteme wie pidfs und nsfs. In NFSD wurde wurde die experimentelle Möglichkeit zur Verwendung von POSIX ACLs und hinzugefügt die Unterstützung für dynamische Anpassung des Thread-Pools je nach Auslastung hinzugefügt.
  • Speicher und Systemdienste
    • Offizielle Regeln wurden genehmigt einsatz von KI-Assistenten und Integration in den Kern automatisch generierter Inhalte. Beim Übermitteln von generiertem Code muss dieser mit dem Tag Assisted-by gekennzeichnet werden, das den verwendeten KI-Assistenten angibt. KI-Assistenten ist es untersagt, das Tag Signed-off-by hinzuzufügen – die Person, die den Patch übermittelt hat, gilt als dessen Autor, trägt die Verantwortung für die übermittelte Änderung und gewährleistet deren Qualität. Entwicklern wird vorgeschrieben, die durch KI generierten Codes manuell zu überprüfen und die Übereinstimmung mit den Lizenzanforderungen zu überprüfen.

    • Unterstützung für Rust umgestellt von experimentell zu den Hauptfunktionen des Kerns.

    • Abgeschlossen Integration in den Kern des Mechanismus „Swap Table“, der die Leistung des Swappings verbessert. Die Beschleunigung wird durch eine reduzierte Konkurrenz um den Zugriff auf den Swap-Cache, effizientere Suchvorgänge im Cache und verminderte Fragmentierung erreicht. Der auf Swap Table basierende Backend wird für das Caching des Swappings anstelle des XArray-Backends verwendet und hat im redis-benchmark-Test mit BGSAVE die Anzahl der verarbeiteten Anfragen um 22 % erhöht.

    • Unterstützung für die in Clang 22 eingeführte Erweiterung Thread Safety Analysis, das es ermöglicht, potenzielle Race Conditions und Fehler, die durch fehlerhafte Sperrsetzungen verursacht werden, bereits während der Kompilierung zu erkennen. Die Erweiterung bietet eine Reihe von Attributen wie GUARDED_BY(…), REQUIRES(…), RELEASE(…) und ACQUIRE(…), mit denen die von Sperren betroffenen Funktionen gekennzeichnet und die Geltungsbereiche der Sperren (Kontextdefinition) getrennt werden können. Während der Kompilierung erfolgt eine Überprüfung der Korrektheit der Anwendung von Synchronisationsprimitive wie Mutexen, basierend auf der Einschätzung von Aktivitäten oder Inaktivität des zugehörigen Kontexts.

    • Im Systemaufruf open_tree ein Das OPEN_TREE_NAMESPACE-Flag ermöglicht eine vereinfachte Konfiguration von isolierten Containern und beschleunigt das Starten von Containern auf Systemen mit einer großen Anzahl von Einhängepunkten. Ähnlich wie OPEN_TREE_CLONE kopiert das neue Flag nur den angegebenen Mount-Baum, gibt jedoch anstelle eines lokalen Dateideskriptors einen Dateideskriptor im neuen Namensraum der Einhängepunkte zurück, in dem der kopierte Baum über der Kopie des echten Root-Dateisystems eingehängt wird. Das OPEN_TREE_NAMESPACE-Flag wird benötigt, um eine Trennung der Operationen unshare(CLONE_NEWNS) und pivot_root() zu vermeiden, die bei der Erstellung von Containern angewendet werden.

    • Im Systemaufruf rseq ein Der Mechanismus zur Erweiterung der Zeitslices ermöglicht es, zusätzliche Rechenzeit für die ununterbrochene Ausführung kritischer Sektionen zu erhalten. Die Idee besteht darin, Unterbrechungen durch den Task-Scheduler in kritischen Sektionen mit gesetzter Sperre zu vermeiden, um zu verhindern, dass die Kontrolle an andere Threads übergeben wird, die Ressourcen verwenden, bei denen die Sperre weiterhin gesetzt ist. Die Erweiterung des Zeitslices erfolgt ohne zusätzliche overhead-Kosten, jedoch ohne die strengen Garantien, die bei einer vollständigen Prioritätsregulierung gegeben sind.

    • Für die Architekturen arm64, loongarch, powerpc, riscv, s390 und x86 ist der preemptive Modus des Task-Schedulers standardmäßig aktiviert. geändert von PREEMPT_NONE auf PREEMPT_LAZY. Die Anzahl möglicher Modi wurde reduziert Von vier bis zwei – PREEMPT_FULL und PREEMPT_LAZY (die Modi PREEMPT_NONE und PREEMPT_VOLUNTARY bleiben nur für Architekturen, die PREEMPT_FULL und PREEMPT_LAZY nicht unterstützen). Der Modus PREEMPT_LAZY wendet das vollständige Preemption-Modell (PREEMPT_FULL) auf Echtzeitanwendungen (RR/FIFO/DEADLINE) an, verzögert jedoch die Preemption normaler Aufgaben (SCHED_NORMAL) bis zur Tick-Grenze. Die Verzögerung führt zu einer Verringerung der Preemption von Lock-Haltern, was die Leistung näher an die Konfigurationen bringt, die ein freiwilliges Preemption-Modell verwenden. Das heißt, PREEMPT_LAZY ermöglicht die Erhaltung der vollständigen Preemption-Fähigkeiten für Echtzeitanwendungen, minimiert jedoch die Leistungseinbußen für normale Aufgaben.

      Aktivierung von PREEMPT_LAZY führte zu einer ernsthaften Regression, die die Leistung von PostgreSQL auf ARM64-Systemen halbiert. Um den Leistungsabfall zu beheben, sollten die Entwickler von PostgreSQL eine Lösung die PR_RSEQ_SLICE_EXTENSION-Option aktivieren, um die Wahrscheinlichkeit der Preemption des Lock-Halters zu verringern.

    • Die Übertragung von Änderungen aus dem Branch Rust-for-Linux , die mit der Nutzung, die mit der Verwendung von Rust als zweiter Sprache für die Entwicklung von Treibern und Kernel-Modulen verbunden sind (Rust-Support ist standardmäßig nicht aktiviert und führt nicht dazu, dass Rust zu den erforderlichen Build-Abhängigkeiten des Kernels gehört). Durch die zuvor integrierte Bibliothek „syn (crates.io)“ wurde die Größe des Rust-Codes im Kernel durch die Vereinfachung der Definitionen vorhandener prozeduraler Makros verringert. Die Möglichkeiten der Bibliotheken kernel, macros und pin-init wurden erweitert.

    • In das asynchrone I/O-System io_uring hinzugefügt Option zur Verwendung nicht-zirkulärer Warteschlangen (non-circular submission queue), die effektiver im Cache gespeichert werden können, wenn die Ausführung der Anfrage vor der Rückkehr aus dem Systemaufruf abgeschlossen ist.

    • Im eBPF-Subsystem im BTF-Mechanismus (BPF Type Format), das Informationen zur Typüberprüfung im BPF-Pseudocode bereitstellt, um Debugging-Informationen zu finden, wurde wurde eine binäre Suche implementiert, die die Effizienz des Ladens von BPF-Programmen erhöht hat. In eBPF hinzugefügt wurde die Unterstützung für implizite Argumente bei der Aufruf kfunc (Kernel-Funktionen, die für die Verwendung in BPF-Programmen verfügbar sind), die mit dem Flag KF_IMPLICIT_ARGS definiert wurden.

    • Entfernt Code zur Unterstützung eines initialen RAM-Disk (initrd) basierend auf linuxrc, das seit langem als veraltet gilt. Die verbleibenden implementierungen von initrd sollen 2027 entfernt werden. Anstelle von initrd sollte initramfs verwendet werden (der Unterschied besteht darin, dass initrd die initiale Bootumgebung in einem Disk-Image platziert, während initramfs sie im Dateisystem platziert).

    • Im Blockgerät zram, verwendet für die komprimierte Speicherung des Swap-Bereichs im Speicher, geändert die Logik der Verarbeitung von komprimierten Speicherseiten beim optionalen Verschieben von Daten in den permanenten Speicher im Falle, dass der verfügbare Arbeitsspeicher voll ist. Früher wurden die Speicherseiten vor der Speicherung auf dem physischen Medium dekomprimiert, nun werden sie komprimiert so gespeichert, wie sie sind, was die CPU-Belastung reduziert und Energie bei der autonomen Nutzung spart.

    • In das Dienstprogramm timerlat, die zur Messung der Latenzen bei der Arbeit des Task-Schedulers vorgesehen ist, hinzugefügt Option —bpf-action zur Ausführung von BPF-Programmen im Falle einer Überschreitung des festgelegten Schwellenwerts.

    • In das ftrace-Trace-System wurde eine Einstellung für bitmask-list hinzugefügt, um Bitmasken in lesbarer Form (als Liste von Bits und nicht als hexadezimale Zahl) auszugeben. In tracefs wurden Möglichkeiten für Audits hinzugefügt von Filtern und Trigger. Hinzugefügt Die perf sched stats-Befehle sammeln und zeigen Statistiken über die Arbeit des Task-Schedulers an.

    • Es wurden hinzugefügt Die LOGO_LINUX_MONO_FILE, LOGO_LINUX_VGA16_FILE und LOGO_LINUX_CLUT224_FILE Sammlungsoptionen zur Bestimmung der Bilddatei des Logos, das beim Laden des Kernels anstelle des Standardlogos mit dem Pinguin Tux angezeigt wird.

  • Virtualisierung und Sicherheit
    • Im io_uring-System für asynchrone Ein-/Ausgabe. wurde Die Möglichkeit, BPF-Programme mit Filtern anzuhängen, die steuern, was bestimmte SQE (Submission Queue Entry) Operationen tun dürfen (ähnlich wie Systemaufrufe in io_uring). Die hinzugefügte Funktionalität entspricht den Filtern von Systemaufrufen. Filter können an bestimmte Aufgaben gebunden werden und werden bei der Erzeugung anderer Prozesse nach dem Aufruf von fork() vererbt. Bei aktiven Filtern können überlagernde Filter nur zusätzliche Einschränkungen hinzufügen, jedoch bestehende nicht deaktivieren. Die implementierte Funktionalität ermöglicht die Blockierung Methoden der Umgehung der Filterung von Systemaufrufen in Sandbox-Umgebungen, die auf der Ausführung von ähnlichen Operationen basieren, die von io_uring bereitgestellt werden.
    • In SELinux hinzugefügt die Möglichkeit zur Verwaltung des Zugriffs auf BPF-Tokens, die es ermöglichen Nicht privilegierten Prozessen die Ausführung bestimmter privilegierter Operationen mit BPF zu ermöglichen, beispielsweise das Laden von BPF-Programmen in den Kernel und das Erstellen map-Strukturen.
    • Hinzugefügt Unterstützung des Algorithmus zur Erstellung digitaler Signaturen ML-DSA (CRYSTALS-Dilithium), basierend auf der Gittertheorie und resistent gegen Angriffe von Quantencomputern. Es wurde die Möglichkeit, ML-DSA zur Authentifizierung von Kernel-Modulen zu verwenden.
    • Entfernt die Möglichkeit, Signaturschemata mit dem Algorithmus SHA-1 zur Überprüfung von Kernel-Modulen zu verwenden (die Unterstützung für das Laden signierter Module bleibt erhalten).
    • Im Audit-Protokoll NETFILTER_PKT wurden hinzugefügt die Felder sport und dport zur Überprüfung von Netzwerkportnummern und nicht nur von IP-Adressen.
    • Für Systeme mit RISC-V-Architektur wurde Unterstützung der Erweiterungen Zicfiss und Zicfilp, die Hardwarefunktionen zur Anwendung des CFI-Schutzes (Control Flow Integrity) bereitstellen, der Störungen der normalen Ausführungsreihenfolge von Anweisungen (Control Flow) durch die Nutzung von Exploits, die die in der Speichervorlage gespeicherten Funktionszeiger ändern, verhindert.
    • Im Hypervisor KVM wurde Die Möglichkeit, Informationen über die Unterstützung des Prozessors für die ERAPS-Erweiterung (Enhanced Return Address Predictor Security) an die Gastbetriebssysteme zu übermitteln, ermöglicht es, auf bestimmte CPU-Zustandsreset-Operationen beim Zurückgeben der Kontrolle an das Host-System zu verzichten. Darüber hinaus, hinzugefügt die Unterstützung der Zuweisung von Hardware zu den Gastbetriebssystemen zur Leistungsüberwachung (PMU, Performance Monitoring Unit), was die Genauigkeit des Profilings im Vergleich zur Verwendung emulierter PMUs verbessert.
    • Im Treiber für den Hypervisor Hyper-V hinzugefügt die Unterstützung der debugfs-Schnittstelle zur Einsichtnahme in die Statistiken des Hypervisors.
  • Netzwerksubsystem
    • Standardmäßig aktiviert ist die AccECN-Erweiterung (Accurate Explicit Congestion Notification), die eine verbesserte Variante der ECN (wikipedia.org) implementiert., das es Hosts ermöglicht, bei Überlastung IP-Pakete zu kennzeichnen, anstatt sie abzulehnen. Dadurch kann der Beginn eines Staus in Kommunikationskanälen ermittelt werden, ohne dass Pakete verloren gehen. Die ursprüngliche ECN-Erweiterung hat die Einschränkung, dass nur ein Überlastsignal pro TCP-Übertragungszyklus (RTT, Round-Trip Time, Senden einer Anfrage und Erhalten einer Antwort) gesendet werden kann. AccECN hebt diese Beschränkung auf und ermöglicht es dem Empfänger, dem Sender mehrere Überlastmarkierungen im TCP-Paket-Header zu übermitteln. Die Algorithmen zur Überlaststeuerung können diese Informationen nutzen, um genauer auf Überlastungen zu reagieren, anstatt die Paketübertragung bei geringfügigen Überlastungen drastisch zu reduzieren.
    • In die Implementierung des Algorithmus zur Steuerung der Netzwerkwarteschlangen Cake hinzugefügt Die Möglichkeit, mehrere Queues zur Lastverteilung auf mehrere CPU-Kerne zu verarbeiten. Der CAKE-Algorithmus wird verwendet, um die negativen Auswirkungen der Pufferung von Paketen an Routergeräten zu verringern und zielt darauf ab, die maximal mögliche Bandbreite und die minimalen Latenzen, selbst bei langsamen Verbindungen, zu erreichen.
    • In Sockets VSOCK, die zur Interaktion mit virtuellen Maschinen verwendet werden, hinzugefügt Unterstützung von Netzwerk-Namensräumen (network namespace).
    • Hinzugefügt Die erste Implementierung des zukünftigen Standards WiFi 8 (802.11bn, Ultra High Reliability WiFi).
    • Es wurden hinzugefügt Optimierungen, die eine Steigerung der Verarbeitungseffizienz von eingehenden UDP-Paketen um 12% bei Stress-Tests in einem 100-Gigabit-Netzwerk ermöglichten.
  • Ausrüstung
    • Im AMDGPU-Treiber wurde Unterstützung IP-Blöcken, die in neuen AMD-GPUs wie SMUIO 15.x, PSP 15.x, IH 6.1.1/7.1, MMHUB 3.4/4.2, GC 11.5.4/12.1, SDMA 6.1.4/7.1/7.11.4 und JPEG 5.3 verwendet werden.
    • Im Nouveau-Treiber wurde die Frequenzregelung auf Tegra 186+-Systemen verbessert.
    • Im Treiber i915 hinzugefügt Erste Unterstützung des Display-IP-Blocks Xe3p_LPD, der in Intel Nova Lake-P-Prozessoren verwendet wird.
    • Fortsetzung der Arbeiten am DRM-Treiber (Direct Rendering Manager) Xe für GPUs basierend auf der Intel Xe Architektur, die in Intel-Grafikkarten der Arc-Serie und in integrierter Grafik seit den Tiger Lake-Prozessoren verwendet wird. Ein Modus wurde hinzugefügt. Multi Queue. Es wurden hinzugefügt Komponenten, die zur Diagnose von GPU-Hängern in Mesa erforderlich sind. Hinzugefügt Unterstützung des MERT-Mechanismus zur Verwaltung des Zugriffs auf den GPU-Speicher.
    • Fortsetzung der Integration von Nova-Treiberelementen für NVIDIA-GPUs, die mit GSP-Firmware ausgestattet sind und seit der NVIDIA GeForce RTX 2000-Serie auf der Turing-Mikroarchitektur verwendet werden. Der Treiber ist in Rust geschrieben. In der neuen Version wurde die Vorbereitung zur Implementierung der Unterstützung für GPUs auf Grundlage der Turing-Mikroarchitektur durchgeführt und verschiedene interne Änderungen vorgenommen.
    • Hinzugefügt Unterstützung von Controllern und Peripheriegeräten mit einem mehrkanaligen SPI (Serial Peripheral Interface), das die Übertragung von Daten in mehreren parallelen Strömen ermöglicht.
    • Hinzugefügt Treiber für kombinierte Type-C-Anschlüsse, die in Geräten mit Apple Silicon verwendet werden und die Schnittstellen USB3, DP-AltMode und Thunderbolt/USB4 kombinieren.
    • Unterstützung von Audiokomponenten der Chips Tegra238, Minisforum V3 SE, iBasso DC04U, Intel Nova Lake, Nova Lake S und Focusrite Forte wurde hinzugefügt.
    • Unterstützung für ARM-Plattformen, SoC und Geräte hinzugefügt: Arduino UnoQ, OrangePi 6 Plus, OrangePi CM5, Anbernic RG-DS, Realtek Kent, Qualcomm Kaanapali, Mediatek Ezurio, Facebook Anacapa, Microchip LAN9668, Khadas VIM1S, QNAP TS133, i.MX952, i.MX93, i.MX94, VHIP4 EvalBoard, TQ-Systems MBLS1028A, Agilex5, Radxa CM3J, Glymur,
    • Unterstützung für Smartphones und Tablets hinzugefügt: Fairphone Gen 6 (SoC Qualcomm Milos/Snapdragon 7s Gen 3), Pixel 3/3 xl, Microsoft Surface Pro 11.

Gleichzeitig hat die lateinamerikanische Free Software Foundation die Variante ist gut gelungen. vollständig freies Kernel 7.0Linux-libre 7.0-gnu, bereinigt von Elementen der Firmware und Treiber, die nicht-freie Komponenten oder Codeabschnitte enthalten, deren Anwendungsbereich vom Hersteller eingeschränkt ist. In der Version 7.0 wurde eine Bereinigung von Blobs im iwlwifi-Treiber durchgeführt. Der Reinigungscode in den Treibern amdgpu, adreno, TI PRUeth, air_en8811h, ath12k, TI VPE, rtw8852b, rt1320, rt5575 SPI, tas2783, Intel catpt wurde aktualisiert. Die Benennung der Blobs in dts-Dateien (Device Tree) für ARM-Chips wurde bereinigt.

Quelle: linux.org.ru

Zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern kaufen 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Servern | ProHoster