Laut Wiki verwendet das Arch-Image keine Hard Float-Unterstützung und ich bin mir ziemlich sicher, dass es den ARMv5-Befehlssatz verwendet. Wäre es möglich, eine Distribution zu erstellen, die Hard Float und ARMv6 verwendet?
Laut Wiki verwendet das Arch-Image keine Hard Float-Unterstützung und ich bin mir ziemlich sicher, dass es den ARMv5-Befehlssatz verwendet. Wäre es möglich, eine Distribution zu erstellen, die Hard Float und ARMv6 verwendet?
Antworten:
UPDATE: Arch Linux ARM unterstützt jetzt nativ und
armv6h
wird auf dem Pi optimiert ausgeführt. Der Rest dieser Antwort gilt weiterhin für andere Architekturen.
Ja, es wäre möglich, aber Sie müssten jede Software für ARMv6-hard neu kompilieren. Arch hat Systeme und Infrastrukturen erstellt, um dies automatisch für die unterstützten Plattformen (ARMv5-soft und ARMv7-hard) zu tun. Sie müssten dies also selbst irgendwo duplizieren, um ARMv6-hard-Versionen von allem zu erstellen.
Es wäre durchaus möglich, dies auf einem normalen Desktop-PC mit Arch zu tun. Es braucht nur Zeit, um alles zum Laufen zu bringen. Sie müssten dann auch Paketaktualisierungen verfolgen und Ihr Build-System dazu bringen, neue Versionen abzurufen und auch zu kompilieren, damit Ihre Software nicht veraltet ist.
Wenn Sie (oder jemand anderes) dies getan haben, wäre es nützlich, die kompilierten Binärdateien irgendwo auf einer öffentlichen Website zu veröffentlichen, damit andere Benutzer Ihre neue Arch-Variante verwenden können, ohne sich Gedanken über die Kompilierung selbst machen zu müssen.
Wenn Sie dies unternehmen möchten, müssen Sie sich mit folgenden Themen vertraut machen:
Ein guter Anfang wäre, einige Pakete aus AUR auszuwählen und sie in Ihrem eigenen Repository zu kompilieren und sicherzustellen, dass Sie sie mit pacman synchronisieren können. Sobald dies erledigt ist, müssen Sie nur noch die Compiler-Flags (für ARMv6-hard) anpassen und dann für wahrscheinlich alle Pakete im Standard-Repo [core] wiederholen.
Sie können pacman dann anweisen, stattdessen jedes Paket auf Ihrem Pi von Ihrem neuen Hardfloat-Repo neu zu installieren, neu zu starten und dann alles von Ihren eigenen Hardfloat-Paketen aus auszuführen.