[Eisfair] Eisfair 32bit und NOPL. Zukunft?

Kay Martinen usenet at martinen.de
Mo Sep 4 22:51:06 CEST 2023


Hallo

Durch einen Hinweis fand ich eben raus das auf meinem kleinen Miniserver 
der bisher mit aktuellem EISFAIR-1 32bit läuft ein anderes Linux wohl 
nicht laufen wird/würde.

Grund ist das die Atom N270 CPU dort drin die NOPL (Long NOP) 
Instruktion nicht kennt. Und ein Debian 12 "Bookworm" in 32bit soll lt.

<https://www.debian.org/releases/stable/i386/release-notes/ch-information.de.html#i386-is-i686>

-snip-
deckt jetzt keine i586-Prozessoren mehr ab. Neue Minimumanforderung ist 
i686. Im Detail ist es so, dass die i386-Architektur jetzt die "long 
NOP"-Instruktion (NOPL) erfordert, während in Bullseye noch einige 
i586-Prozessoren ohne diese Instruktion unterstützt wurden (z.B. der 
"AMD Geode").
-snap-

Die CPU in meinem MiniServer:

-snip-
homes # lscpu
Architecture:           i686
   CPU op-mode(s):       32-bit
   Address sizes:        32 bits physical, 32 bits virtual
   Byte Order:           Little Endian
CPU(s):                 2
   On-line CPU(s) list:  0,1
Vendor ID:              GenuineIntel
   BIOS Vendor ID:       Intel
   Model name:           Intel(R) Atom(TM) CPU N270   @ 1.60GHz
     BIOS Model name:    Intel(R) Atom(TM)  CPU @ 1.6GHz
     BIOS CPU family:    1
     CPU family:         6
     Model:              28
     Thread(s) per core: 2
     Core(s) per socket: 1
     Socket(s):          1
     Stepping:           2
     CPU(s) scaling MHz: 50%
     CPU max MHz:        1600.0000
     CPU min MHz:        800.0000
     BogoMIPS:           3200.15
     Flags:              fpu vme de pse tsc msr pae mce cx8 apic sep 
mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx 
constant_tsc arch_perfmon pebs bts cpuid a
                         perfmperf pni dtes64 monitor ds_cpl est tm2 
ssse3 xtpr pdcm movbe lahf_lm dtherm
Caches (sum of all):
   L1d:                  24 KiB (1 instance)
   L1i:                  32 KiB (1 instance)
   L2:                   512 KiB (1 instance)
-snap-

Heißt: i686 passt zwar aber das NOPL Flag fehlt = Denial of Service.

Ich hab das selbst Probiert ein Debian 12.1.0-i386 dort zu starten. Der 
kommt durch das Bootmenü und lädt vmlinux und initrd, schaltet den 
Bildschirm schwarz, zeigt einen Blinkenden Cursor und... das war's. 
Ende, Keine Eingabe möglich, keine weiteren Ausgaben, kein umschalten 
der konsolen. Einfach nix, stehen geblieben.

Ich schreibe das hier falls jemand ähnliches vorhaben sollte.

Debian 12 benutzt linux 6.1.0-10-686 (Release Juli '23)
Eisfair hat momentan 5.15.119-eisfair-1-SMP #1 (Hier aktuell)

Und ich kann nicht wissen ob und wann bei EISFAIR ein Kernelwechsel 
statt fände der in die Version 6.1 ginge. Und ob dieser Kernel dann 
ebenfalls das NOPL-Flag erfordert. Ich nehme es an.

Was ich anhand obigem nur schließen kann ist das in dem Fall Boards mit 
älteren Atom und vermutlich Geode CPUs (= die kein NOPL kennen) dann 
komplett (r)aus fallen würden. Sprich: Ohne Änderung würde ein Update 
das System dann wohl lahmlegen und die Rückkehr zum vorigen kernel 
erfordern - und das verbleiben auf dem Stand.

Ob es Userland-Software gibt die NOPL erfordert weiß ich nicht. Man kann 
annehmen das; wenn der Debian kernel es erfordert; manche programme nach 
ziehen könnten.

Gut, das ist jetzt nur ein Problem älterer HW. Ich weiß nicht ob das bei 
EISFAIR jetzt groß ein Thema ist, auch weil neuere HW das Feature wohl 
haben wird. Ich finde dieses kleine ITX Board für einen Sparsamen 
Homedirectory-Server der 24/7 laufen könnte allerdings immer noch 
schnell genug (besser den, als den Fetten Fileserver durch laufen 
lassen). Ähnlich ginge es mir mit den Futro S200 von denen ich noch zwei 
habe. Einer war mal als FLI4L im Einsatz, der andere wurde mal mit 
EISFAIR bespielt. Der ist mit seiner Transmeta CPU (700MHz, 256 MB) 
schon ein bisschen langsam, aber das Atom Board verdaute sogar den 
systemd-wechsel. Was mich an dem noch freut: lscpu sagt

-snip-
Vulnerabilities:
   Itlb multihit:        Not affected
   L1tf:                 Not affected
   Mds:                  Not affected
   Meltdown:             Not affected
   Mmio stale data:      Not affected
   Retbleed:             Not affected
   Spec store bypass:    Not affected
   Spectre v1:           Not affected
   Spectre v2:           Not affected
   Srbds:                Not affected
   Tsx async abort:      Not affected
-snip-

Die In-Order Execution zeigt den Seitenkanal-schnüfflern den 
Stinkefinger. ;-) Und, ja das mitigations=off hab ich vorher raus 
genommen und neu gebootet.


Kurz: Ein FYI für die Zukunft, ein Pro-Alte HW Bewahren und die Frage ob 
das Eisfair-Team dazu was sagen könnte.

Da es die Weiterentwicklung auch betrifft. XP nach .dev mit f'up2 nach 
.eisfair

Bye/
    /Kay

-- 
"Kann ein Wurstbrot die Welt retten?" :-)


Mehr Informationen über die Mailingliste Eisfair