System.map pro novy kernel ?
Jan Kasprzak
kas na informatics.muni.cz
Pondělí Březen 10 17:58:47 CET 1997
Jiri Polach pise:
:
: Po neuspesnem pokusu nainstalovat si kernel 2.0.23 z Debianovskeho baliku jse
: m
: se rozhodl, ze si kernel zkompiluji a zkonfiguruji sam ze zdrojaku. Ctu
: Kernel-HOWTO a Modules-HOWTO, ale nenasel jsem nikde zadnou informaci o
: souborech, ktere se zdaji byt na verzi kernelu zavisle a to sice /System.map
: a
: /boot/psdatabase (mam totiz z predchozich instalaci Debian baliku kernelu
: nekolik souboru System.map-X.X.X, kde X.X.X je verze a pak symbolicky link
: System.map -> System.map-Y.Y.Y, kde Y.Y.Y je aktualni verze; obdobne
: /boot/psdatabase).
System.map vznikne pri kompilaci kernelu v korenovem adresari
zdrojoveho stromu (tj obvykle v /usr/src/linux/System.map) a staci ji jen
zkopirovat do /boot nebo kam. Psdatabase se vytvori souborem psupdate.
: Kde a jak se tyto soubory tvori ? Vzniknou pri kompilaci kernelu ? Jsou pro
: beh Linuxu nutne, nebo jen vhodne (jediny odkaz na System.map jsem totiz nase
: l
: v man klogd a z nej se zdalo, ze jeho nepritomnost neni kriticka) ?
:
System.map je umisteni vsech symbolu v adresovem prostoru jadra.
Pokud dojde k chybe systemu (napr. Kernel Oops), jsou vypisy adres
namapovatelne do prislusnych funkci jadra prave pomoci System.map (coz lze
delat rucne, nebo pres ksymoops nebo to dela klogd).
Psdatabase je v podstate totez v binarni podobe a vytvari se to
pomoci psupdate. Pouziva to program ps (a asi i top) ke zobrazeni polozky
WCHAN (wait channel), coz je misto, kde proces prave ceka. Takze muzeme
takto zjistit konkretni cast jadra, ve ktere je proces zablokovan.
-Yenya
--
Jan "Yenya" Kasprzak <kas na fi.muni.cz> http://www.fi.muni.cz/~kas/
[[[[ ^^^ Please note my new address. ]]]]
[[[[ Czech Linux Homepage: http://www.fi.muni.cz/~kas/linux/ ]]]]
``Hoping the problem magically goes away by ignoring it is the "microsoft
approach to programming" and should never be allowed.'' --Linus Torvalds
Další informace o konferenci Linux