sysfs a 2.6.0-* kernelekben (miért sucks az lm_sensor?)

Címkék

A fórumban valaki megkérdezte, hogy hogyan lehet használni az lm_sensors hardver monitor eszközt a 2.6.0-* kernelekben. Mivel az lm_sensors még a régi, deprecated (ellenjavallt) /proc filerendszert használja, ezért az nem használható a 2.6-os kernellel. Az userspace utility sem működik, mert az i2c-proc kernelmodult keresi. Kicsit kanyarodjunk el:

A 2.6-os kernelben már az új sysfs kerül használatra (tulajdonképpen hasonlít a /proc-ra, csak más a struktúrája).

Ahhoz, hogy a sysfs működjön az alábbi dolgokat kell elvégezni a rendszeren:Létre kell hozni egy "sys" könyvtárat, és ki kell tölteni a /etc/fstab állományt a megfelelő bejegyzésekkel:

cd /

mkdir sys

vi /etc/fstab

szúrjuk be a következő sort:

sysfs /sys sysfs defaults 0 0

Ezután bootoljunk újra. A /sys alatt azt kell észrevennünk, hogy létrejött számos bejegyzés.

sunshine:/sys# ls -la

összesen 1

drwxr-xr-x 8 root root 0 2003-07-28 10:20 .

drwxr-xr-x 24 root root 560 2003-07-27 22:11 ..

drwxr-xr-x 7 root root 0 2003-07-28 10:20 block

drwxr-xr-x 10 root root 0 2003-07-28 10:20 bus

drwxr-xr-x 8 root root 0 2003-07-28 10:20 cdev

drwxr-xr-x 10 root root 0 2003-07-28 10:20 class

drwxr-xr-x 8 root root 0 2003-07-28 10:20 devices

drwxr-xr-x 2 root root 0 2003-07-28 10:20 firmware

térjünk vissza az lm_sensors-hoz. A 2.6.0-*-hoz csak a kernelbe épített lm_sensors stuffot tudjuk használni. Nézzünk be a

Character devices --->


    I2C support --->

      I2C support

      [...]

      I2C device interface


    I2C Hardware Sensors Mainboard support --->


      Intel 801

      ISA Bus support

      Intel PIIX4


    I2C Hardware Sensors Chip support --->


      Analog Devices ADM1021 and compatibles


Állítsuk be a gépnek megfelelően. Ha mindent jól csináltuk, betöltöttük az alaplapi szenzorunknak megfelelő modulokat, akkor a hőmérséklet lekérdezésnek elvileg működnie kell.

A hely hol keresni kell:

/sys/devices/legacy/...

Az user space utility-k egyelőre nem működnek, portolásuk folyamatban van. Addig amíg elkészül, várni kell.

Kapcsolódó threadek:

lm sensors sysfs file structure

what happened to i2c-proc

2.6.0-t1: i2c+sensors still whacky (hi Greg :)

Hozzászólások

Kezdo Linux-os vagyok, ezert csak felve jegyzem meg:

> cd /

> mkdir sys

mkdir /sys

> Ezután bootoljunk újra.

mount /sys

Ha tevedtem, elnezest. :-)

Valamikor a 2.5-os kernel fejlesztesenek soran Linus kijelentette, hogy a /proc filerendszer tele van mindenfele felesleges dologgal. Boldog-boldogtalan hasznalta a /proc-ot arra, hogy ott kulonbozo dolgoknak hozzon letre bejegyzeseket. A procfs-ben anarchia van az elrendezesben, a file formatumokban, az elnevezesben. Regi a kod, rossz a csatolofelulet.

Aztan valamikor par eve megjelent a /dev filerendszert "kivalto" (sose lett belole igazan semmi es ugy tunik, hogy nem is lesz) devfs. A devfsnek szinten hasonlo bajai vannak. Karbantarthatatlan forras bazis, regi kod, rossz csatolofelulet.

A sysfs RAM-alapu filerendszer, rendelkezik kernel programozoi felulettel, exportalja a kernel objektumokat es attributumokat, es ami fontos megmutatja az objektumok kozotti kapcsolatokat. ASCII alapu fileokat hasznal, es hasznalhato a hagyomanyos eszkozokkel (grep, ls, find).

Azzal, hogy megalkottak a sysfs-t egyesitani akarjak a 'proc'-t (amely a process-ekert van) a 'devfs'-t (amely az eszkozoket (devices) van) es a 'devpts'-st (amely a UNIX98 pseudo-terminalokert felel).

Nem azert csereltek le, hogy ne mukodjenek a regi programok, hanem ezt a kaoszt - amit az elobb felvazoltam - megszuntessek, es egy egyseges feluletet kapjanak. Ezt egyszer meg kellett csinalni, es ugy ereztek most volt itt az ideje. A regi programokat meg portolni kell az uj feature-re.

Ja meg valami. A /proc nem szunt meg, hanem parhuzamosan mukodik a /sys-sel. Azaz fokozatosan tevodnek at a dolgok a /proc-bol a /sys-be.

AFAIK: a sysfs-ben minden device alanyi jogon kap entryt, nem kell kulon

procfs_mkdir()-rel es a tobbiekkel molyolni. Azert nem a /proc-ban van

mert azt nem erre terveztek es az fs kod nem lenne kepes ellatni ezt a

feladatot.

BTW kivancsi volnek hogy mukodik a sysfs (-) sysctl mapping, ha van

egyaltalan (procfs-nel automatikus).

(/AFAIK)

A Linux-on akkor jo a reboot, mikor az X11 (vagy FB) jol elrontja a videomodot, es ugymarad, de ezen tul minek...? :)

>csak amig nem mountolod, addig nem latod mi van rajta. de attol meg letezik.

ez a "en rebootolnek biztos ami biztos' ez mar windowsnal is uncsi kicsit... plane linuxnal.

Jo esely van ra, hogy egy linux rendszeren neked eleteben egyszer kell sysfs-t beallitani. Ahhoz, hogy valaki kiserletezzen (mar pedig ez a cikk erosen arrol szol) ki lehet birni egy rebootot (mar csak azert is, hogy *biztos* minden jo legyen, a kovetkezo indotaskor meg amugy is mar rendeltetesszeruen fog a dolog mukodni). Nyilvan ha te nem birod ki, akkor azt csinalsz amit akarsz. Szerintem ez az egesz a fent leirtak szempontjabol k erdektelen.

>ez mar windowsnal is uncsi kicsit...

rotfl.