Feltételezzük hogy telepítettük a rendszermag forrását és a szükséges fejlesztői eszközöket (pl. a fordítót), ezután ellenőrizhetjük a rendszer stabilitását a következő kicsiny szkripttel:
#!/bin/bash # # Adapted from http://www.bitwizard.nl/sig11 # #set -x cd /usr/src/linux t=1 while [ -f log.$t ] do t=`expr $t + 1` done if [ ! -r .config ]; then echo -e echo -e "There was no .config file found in /usr/src/linux ." echo -e "This means that the kernel sources have not been configured yet." echo -e "If you continue, \"make cloneconfig\" will be executed to create" echo -e "a kernel configuration based on the currently running kernel." echo -e "\n" echo -e "Press <Ctrl>-<C> to abort or <ENTER> to continue ..." read make cloneconfig fi touch log.1 watch "ls -lt log.*" & while true do make clean &> /dev/null make -k bzImage > log.$t 2> /dev/null t=`expr $t + 1` done
A szkript eredeti verziója az alábbi címen található: http://www.bitwizard.nl/sig11. Itt néhány háttérinformációt is olvashatunk a teszttel kapcsolatban.
A teszt előnyei más módszerekkel (pl, memtest86) szemben:
A szkript egy végtelen ciklusban fordítja a rendszermagot (make bzimage) és menti a make kimenetét egy külön naplófájlba (amely egyre nő) minden egyes futáskor.
Normál esetben minden egyes futás ugyanazt a kimenetet kell eredményezze.
Amíg fut, a szkript folyamatosan frissülő információkat ad, amelyek az alábbi paranccsal nézhetők meg:
ls -l /usr/src/linux/log.*
It could look like this:
Every 2s: ls -lt log.* Wed Aug 8 15:22:02 2001 -rw-r--r-- 1 root root 5472 Aug 8 15:22 log.4 -rw-r--r-- 1 root root 127120 Aug 8 15:21 log.3 -rw-r--r-- 1 root root 127120 Aug 8 15:12 log.2 -rw-r--r-- 1 root root 127120 Aug 8 15:04 log.1
Ebben a példában az első három alkalommal teljesen végrehajtódott a szkript. Jó jel, ha a fájlméret nem különbözik. Mindenesetre a legbiztosabb módszer ha a tesztet 24 órán keresztül futtatjuk. Jobb módszer a fájlméretek összehasonlításánál az md5sum ellenőrzőösszegek használata:
linux:/usr/src/linux # md5sum log.* 51e25c01370ce034b2c00d4c71995f02 log.1 51e25c01370ce034b2c00d4c71995f02 log.2 51e25c01370ce034b2c00d4c71995f02 log.3 a014cc76b1fb46a3cc5b84484403a1b7 log.4
Nem meglepő, hogy a negyedik naplófájl eltérő ellenörző összegű, mivel ennek futása nem fejeződött még be. Az összes többi (befejezett) naplófájl azonos ellenőrző összeget mutat.
Megjegyzés: Különféle okokból az első futtatás eltérő kimenetet eredményezhet a továbbiakhoz képest. Általános szabályként kimondhatjuk, hogy az első és utolsó (nem befejezett) naplófájlon kívüli naplófájlok ellenőrző összegének meg kell egyeznie.