Via C3 Nehamiah proci VS. kernel

Fórumok

Sziasztok!

Hozzám került két régi Pentium III korabeli thin client gép. Mindegyikben egy 800 Mhz-es Via C3 Nehamiah proci van. Ezek elviekben x86-os procik, de nem száz százalékosan 586-os kompatibilisek. Ez egy amolyan kissé lebutított x86 CPU, amit Win futtatásra használtak. Ha jól emlékszem akkor non-PAE vagy mi.

A problémám az, hogy 99%-ban semmilyen általam próbált Linux nem ment fel a gépre (a boot folyamatnál elakadtak). Ezt a hibát kétféleképpen tudtam átugrani:

- Processzor csere: valós Intel PIII procira
- Windows használata (pl. XP)

Egyik sem megfelelő megoldás, mert nem akarok a winfossal szívni, illetve a normál P3 procik nagyobb hűtőbordát és ventilátort igényelnek, ami egyfelől zajos, másfelől pedig nem férnek el a gépben.

Csupán egyetlen egy Linux volt hajlandó felmászni a gépre: a Puppy Linux egyik őskövület verziója. Ez szintén nem megoldás, mert számos olyan cucc hiányzik belőle, ami a Debianban megvan, és nekem bizony kellene :)

Mivel eléggé kezdő vagyok és most ismerkedem a Linux világával, ezért Tőletek kérnék segítséget, hogy vajon mi lehet a gond?

(Ő az: http://i.ebayimg.com/00/s/NjA0WDkwMA==/$(KGrHqRHJDoFBQI8!WV9BQdI0(zob!~~48_72.JPG)

Hozzászólások

Köszönöm, igen, erre a fórumra én is rábukkantam már. Az én gondom az, hogy az install folyamatig sem jutok el. Már ott beáll a gép, mint a cövek, amikor az installer választómenüje jelenik meg a NORMAL, EXPERT, NORMAL GUI, EXPERT GUI stb. opciókkal. Ott kimerevedik és semmit sem csinál.

Két linuxot is futtattam rajta: OpenSUSE 12.3 i386, és FreeBSD ;). Természetesen a PAE hiánya miatt pl. a CentOS felejtős.

Ebben a kettőben benne van a szükséges cpu és crypto engine támogatás (pl. ssl - Ezzel nem egy 10 évvel fiatalabb processzort lever, bár maga nem olyan gyos.)

A szűk keresztmetszet a memória, mert egyes elmebeteg installerek 1,5GB limit alatt szétfagynak. Én csak file/adatbázis szervernek, tv meghajtására ;) és tűzfalnak használtam 512MB - no swap.

Közben utánaolvastam kicsit a neten, de nekem még kínai az ún. kernelfordítás témakör. Lehetséges, hogy ez megoldás lenne abban az esetben, ha ragaszkodom a Debian-hoz?

Igen, jól érted. Elnézést ha nem fogalmazok egyértelműen. A bootloader is kiakad mint a franc. A 4-es (etch) verzióig mentem vissza, az se szerette. A 3-as már annyira régi, hogy totálisan másképp vannak benne dolgok, parancsok. Kezdőként örülök, ha a modernebb (5-6-7-8) verziókat tudom kezelni :) A gép egy speciális hálózatos IP forwarding feladatra és egy soros portos modem kezelésére lenne használva. A "mai" verziók alatt már van sejtésem, hogy miképpen mennek a dolgok, de a régiekben elveszek :(

A C3 486 módban megy.
Anno CentOS 4 és FreeBSD 6-tal használtam. CentOS 5 már elhasalt.
Szóval -march=486

Beléptem egyik régi ipari PC-be, amit üzemeltetek és teszi a dolgát.

$ cat /proc/cpuinfo
processor : 0
vendor_id : CentaurHauls
cpu family : 6
model : 9
model name : VIA Nehemiah
stepping : 8
cpu MHz : 798.016
cache size : 64 KB

$ cat /proc/version
Linux version 3.2.0-4-486 (debian-kernel@lists.debian.org) (gcc version 4.6.3 (Debian 4.6.3-14) ) #1 Debian 3.2.65-1+deb7u2

$ cat /etc/debian_version
7.8

Mindebből annyi a trükk, hogy

1. 32 bites Linux disztribúció kell
2. PAE támogatás ne legyen a kernelbe fordítva, mert a PAE vizsgálatnál sok PAE képességgel nem rendelkező proci lefagy, a VIA-k is.

# apt-cache search linux-image
linux-image-486 - Linux for older PCs (meta-package)
linux-image-686 - Linux for modern PCs (dummy package)

# apt-cache show linux-image-686
...
Depends: linux-image-686-pae
...

Ezért kell a "linux-image-486" nevű, mert az nem tartalmazza a PAE kezelést (> 4 GB RAM kezelése 32 bites rendszeren). A GCC fordítási opciója nyugodtan lehet "-march=i686", viszi a VIA.

Nehezítés: sok disztribúció telepítője ma már PAE-s kernelt tartalmaz alapból. Ekkor a telepítés folyamata már a kernel indulásánál lefagy.

- vagy olyan módosítást kell keresni, amely telepítő nem PAE-s kernellel startol
- vagy PAE-képes procin feltelepíteni és a kernelt a fentiek alapján lecserélni a feltelepítetten és mehet vissza a VIA-s gépre.

Ööööööööö........bevallom férfiasan: fogalmam sincs miképpen zajlik egy ilyen kernel fordítás vagy kernel csere. De legalább már tudom, hogy hol bukik el a dolog. Köszönöm, hogy megnézted!

ui:

Gondoltam a PIII-866 procik underclock-olására is, pl. 566-600 MHz körülre. Ezzel csökken a melegedés, de a VIA C3 ebből a szempontból akkoris verhetetlen.

Igen, hiszen a PAE nélküli kernelt bírja a PAE képességgel rendelkező CPU.
Ellenben amint írtam, a PAE képességgel nem rendelkező CPU-nál nem az a gond, hogy nem tudja a PAE-t, hanem hogy a PAE vizsgálatba belefagy.

Tehát:
- PAE képességgel rendelkező procin telepíteni
- kernelcsere nem PAE-s kernelre
- PAE képesség nélküli procira vissza

Jó hír: a 32 bites Debian telepítők még mindig PAE nélküli kernellel indulnak. Viszont amit feltelepít, az alapból PAE-sra telepíti. Azaz még a telepítő CD-nél kell kézzel felrakni a nem PAE-s kernelt.

Így az is egy lehetséges út, hogy a PAE képesség nélküli procin telepítve a telepítés legvége előtti lépésben:

alt-F2 # root konzol
chroot /target
apt-cache search linux-image
apt-get install ... megfelelő nem PAE-s
exit

Akkor este meglesek egy procc cserét és kipróbálom a javaslatod :) Bár lehet, hogy a 32 bitesek non-pae üzemmódban indulnak, de ezektől kihal a gép és a telepítő sem indul el :( A bootloader utáni első tizedmásodpercben kőmerev lesz a masina :(

Esetleg valaki tud egy érthető leírásohoz egy linket dobni? Szeretném megtanulni egyszer az egyedi igényekre szabott kernel készítést is, hogy ne kelljen procicserével szórakozni. Nem túl elegáns módszer és nem mindig kivitelezhető.

atrakod a hdd-t egy "normalis" x86 gepbe, feltelepited a rendszert oda. bootolod a rendszert, majd felrakod a neked kello kernelt: apt-get install linux-image-486
visszarakod a hdd-t a via-s gepbe, majd a grub menubol kivalasztod hogy a 486-os kernel bootoljon. (grub menuhoz lehet nyomni kell a bal shiftet, use google :D )
ha minden oke, nincs mar szukseged a pae-s kernelre, ezert leszedheted: apt-get remove linux-image-3.2.0-4-686-pae

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

P3 proci alatt feltettem a 486 kernelt, lecsekkoltam, hogy éppen milyen fut a gépen. Azt leszedtem. Reboot. és a 486-os kernel fut. Visszatettem a Via C3 procit és megy a gép rendesen.

Ezer hála és köszönet a tippekért :) De miképpen lehetne olyan installert csinálni ami el is indul rendesen enélkül a mizéria nélkül?

Erre is van friss tesztem.

VIA C3 800:

$ dd if=/dev/urandom of=teszt bs=1M count=50
50+0 beolvasott rekord
50+0 kiírt rekord
52428800 bájt (52 MB) másolva, 55,9284 mp, 937 kB/s

$ time gzip teszt

real 0m30.188s
user 0m26.346s
sys 0m1.448s

Odroid-C1 hűtőborda nélküli SBC egyetlen magját terhelve (sőt van még 3 darab, az alábbi feladat alatt alvó magja):

$ dd if=/dev/urandom of=teszt bs=1M count=50
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 20.6121 s, 2.5 MB/s
tc@odroid-c1:/tmp$ time gzip teszt

real 0m11.390s
user 0m10.860s
sys 0m0.520s

Tehát a VIA C3-800-hoz képest magonként közel 3-szor gyorsabb. És van összesen 4 magja az odroid-c1 -nek és ventillátor sőt hűtőborda nélkül.

Mellesleg ugyanez a laptopomon:

$ cat /proc/cpuinfo
...
model name : Intel(R) Core(TM) i5-3337U CPU @ 1.80GHz
...

$ dd if=/dev/urandom of=teszt bs=1M count=50
50+0 beolvasott rekord
50+0 kiírt rekord
52428800 bájt (52 MB) másolva, 3,34692 mp, 15,7 MB/s

$ time gzip teszt

real 0m2.062s
user 0m1.996s
sys 0m0.064s

Látszik, hogy 5,5-szer gyorsabb a hűtőbordás + ventillátoros Intel 18 wattosa.
Ebből kettő mag + 2 HT van benne, az Odroid-C1-ben 4. Intel áll nyerésre kb. 2,5-szeres teljesítménnyel.

Ha viszont a benchmarkok alapján veszem az Odroid-XU4-et, akkor az a laptopomat eléri számítási teljesítményben. Legalábbis gzip tömörítést nézve.

Ennyit az x86 <---> ARM tempóról.

Továbbá az is látszik, hogy eljárt a 10 éve még jónak számító CPU-k felett az idő. És az is, hogy az órajel frekvenciája nem sokat árul el az utasításdarálás tempójáról. Erre a benchmarkok és tesztek jobb támpontot adnak.

Bónusz: odroid-u3 -ason is elvégeztem a tesztet. Szintén egyetlen magját használva a 4-ből.

$ dd if=/dev/urandom of=teszt bs=1M count=50
50+0 beolvasott rekord
50+0 kiírt rekord
52428800 bájt (52 MB) másolva, 12,3482 mp, 4,2 MB/s

$ time gzip teszt

real 0m7.007s
user 0m6.835s
sys 0m0.165s

És mindezeket összevetve a VIA C3 800 0,937 MB/s pszeudorandom generálásával és 30 másodperces tömörítésével látható, hogy valójában eljárt felette az idő.

Látványos a teszt :) De nem is azért választottam a C3-ast, mert szupergyors. Inkább azért, mert ez állt rendelkezésre és az adott projektre nem akartam sok pénzt költeni. A C3-al szerelt thin client csak 1800 Ft-ba került. És egy komplett PC. Többet nem akartam rászánni. A projektem így is áll, sajnos a hálózatokba még bele kell ásnom magam a következő hónapokban.