Portál AbcLinuxu, 3. května 2025 14:17
Sběr informací o našem hardware. Popis postupů a nástrojů využitelných ke zjištění hardwarové konfigurace systému. Podrobné informace o hardwarových součástech jsou klíčové pro správné nastavení před kompilací jádra.
Jak již bylo zmíněno v prvním díle seriálu (Cesta do hlubin kompilace jádra - 1), kompilace jádra není nic těžkého. Největší problém nastává u výběru součástí jádra. Důležité především je, aby v kernelu nechybělo nic potřebného. Jinak by mohl nastat případ, že by nepracoval například nějaký hardware (zvuková karta, síťová karta, atp.), jelikož by naše jádro nemělo pro daný hardware patřičnou podporu. Tohle může eliminovat způsob, při kterém do jádra naplácáme téměř vše, veškerou podporu všech možných zařízení. To by ale vznikl příliš velký kernel a celá práce by neměla smysl. My se snažíme o vytvoření optimalizovaného jádra přímo pro náš počítač. Chceme si vytvořit jádro na míru. Proto potřebujeme vědět, co vše se ukrývá v našem PC, abychom mohli následně vybrat jen podporu těch komponent, které nás právě zajímají. Pojďme se seznámit s kroky, které vám pomohou zjistit informace o našem hardware.
/proc
Viz také článek Adresár /proc - brána do jadra.
První možností, jak najít informace o hardware našeho počítače, je
nahlédnutí do adresáře /proc
. Jedná se o virtuální souborový
systém, který byl prvotně vyvinut pro správu procesů, ale dnes je z něj mocný nástroj pro kontrolu a konfiguraci systému Linux. Uvedu zde příslušné soubory a adresáře /proc
, které nás budou zajímat v rámci poskytnutí informací, které potřebujeme pro výběr komponent jádra. Ještě důležitějším nástrojem vedle /proc
je aplikace lspci, o které se zmíním následně.
/proc/cpuinfo
První soubor, který nás zajímá. Zde najdeme informace o CPU. Pro zvolení správné podpory CPU při kompilaci jádra nás zajímá především název modelu.
model name : AMD Athlon(tm) XP 2800+
/proc/pci
Zde najdeme informace o hardware, který se nachází na PCI sběrnici nebo má s touto sběrnicí cokoli společného.
/proc/bus/input/devices
Na tomto místě nalezneme informace o připojených vstupních zařízeních, jako je myš, klávesnice a kupodivu i takový PC Speaker.
/proc/bus/usb/devices
Stejné jako předchozí případ, avšak tento soubor se týká USB zařízení.
/proc/ide
Tento adresář poskytuje informace o veškerých ovladačích IDE zařízení v PC.
/proc/scsi
Má-li někdo SCSI řadič a na něm připojené SCSI zařízení, veškeré informace nalezne zde.
Další možností je použití programu lspci z balíčku pciutils, který prozradí tytéž informace, jež se nachází v /proc/pci
, a ještě mnohem více. Zde uvádím názorný příklad použití lspci a výklad pro nás důležitých informací.
root@mercury:/# lspci
00:00.0 Host bridge: nVidia Corporation nForce2 AGP (different version?)
(rev c1)
00:00.1 RAM memory: nVidia Corporation nForce2 Memory Controller 0 (rev
c1)
00:00.2 RAM memory: nVidia Corporation nForce2 Memory Controller 4 (rev
c1)
00:00.3 RAM memory: nVidia Corporation nForce2 Memory Controller 3 (rev
c1)
00:00.4 RAM memory: nVidia Corporation nForce2 Memory Controller 2 (rev
c1)
00:00.5 RAM memory: nVidia Corporation nForce2 Memory Controller 5 (rev
c1)
00:01.0 ISA bridge: nVidia Corporation nForce2 ISA Bridge (rev a4)
00:01.1 SMBus: nVidia Corporation nForce2 SMBus (MCP) (rev a2)
00:02.0 USB Controller: nVidia Corporation nForce2 USB Controller (rev a4)
00:02.1 USB Controller: nVidia Corporation nForce2 USB Controller (rev
a4)
00:02.2 USB Controller: nVidia Corporation nForce2 USB Controller (rev
a4)
00:08.0 PCI bridge: nVidia Corporation nForce2 External PCI Bridge (rev a3)
00:09.0 IDE interface: nVidia Corporation nForce2 IDE (rev a2)
00:1e.0 PCI bridge: nVidia Corporation nForce2 AGP (rev c1)
01:06.0 RAID bus controller: CMD Technology Inc PCI0649 (rev 02)
01:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
01:08.0 Ethernet controller: Realtek Semiconductor Co., Ltd.
RTL-8139/8139C/8139C+ (rev 10)
01:09.0 Multimedia audio controller: Creative Labs SB Live! EMU10k1 (rev 08)
01:09.1 Input device controller: Creative Labs SB Live! MIDI/Game Port (rev 08)
02:00.0 VGA compatible controller: nVidia Corporation NV15DDR [GeForce2 Ti] (rev a4)
dmesg
Tímto příkazem se zobrazí výpis hlášení jádra při procesu bootování. Je tak možné naleznout množství potřebných informací o našem hardware.
Kromě zde uvedených postupů máme možnost použít různé aplikace, které nám podají souhrnné informace o hardware.
Program lshw podává velmi podrobné informace o hardware. Z grafických detekčních programů se mi jeví jako jeden z těch povedenějších. Program je možné spustit v konzoli i v grafickém režimu.
KInfoCenter je součástí grafického uživatelského prostředí KDE. Čte informace přímo z /proc
. Napomáhá lépe se orientovat v tomto virtuálním souborovém systému.
Tento díl má být pouze návodem, jak si obstarat důležité informace o hardware, které jsou potřebné pro úspěšné sestavení jádra. O samotném sestavování kernelu toho tentokrát nebylo moc řečeno, avšak právě tento krok je velmi důležitý předstupeň při kompilování jádra. V dalším díle se již seznámíme s prvními subsystémy kernelu.
cat /proc/interrupts
dmesg - print or control the kernel ring bufferAutor význam zaměnil se souborem /var/log/dmesg, kde jsou výpisy dmesg z fáze bootování.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.