db.dobo.sk

kernel

bez komentára

S kernelom možno obcovať niekoľko sposobmi:

  • prekomplilovať ho
  • pomocou modulov
  • za behu parametricky cez /proc

1. kompilácia kernelu (pre Centos)

tento (RPM way ) a tento link (klasická cesta)

2. moduly

Moduly sú kusy softu, ktoré sa zavádzajú ako drivery pre nejaků funkcionalitu/hardware. Fyzicky sa nachádzajú v /lib/modules/KERNEL_VER . V prípade, že ho chcem zaviesť hneď po štarte systému do jadra, tak umiestniť konfigurák do /etc/modprobe.d/. V niektorých iných verziách sú moduly, ktoré nabiehajú po štarte jadra v /etc/modules.conf (nabiehajú pred démonmi a pred runlevelom!). Modul beží v kernel space, nie v userspace a dobrý všeobecný článok o programovaní modulov má Derek Molloy.

userspace-kernelspace

lsmod —–> vylistuje všetky moduly zavedené do jadra, uvedie názov, veľkosť a vlastníka (procesy a zariadenia, kt. ho používajú)

modinfo @MODUL —–> detailný výpis parametrov modulu

xxxxxxxxxxxxxxxxxxxxxx

insmod (modprobe) – zavedenie modulu

rmmod (modprobe -r) – odstranenie modulu (nepojde, ak sú tam závislosti vylistovateľné v lsmod), príp. použiť depmod -n na list závislostí

xxxxxxxxxxxxxxxxxxxxxxx

 

3. /proc/sys

Parametry kernelu je možné meniť za behu vo virtuálnom pseudosystéme /proc. Robí sa to 3 sposobni:

  • vypísaním parametrov priamo do konfiguráku – napr echo “1” > /proc/sys/net/ipv4/ip_forward – neni persistent
  • cez utilitku sysctl, korá robí to isté – ale s rozdielnou syntaxou (sysctl -w net.ipv4.ip_forward=1). prepínač “w” je na write a syntax má zvláštnu dotovú. Je persistent, zapíše sa to do /etc/sysctl.conf
  • zápisom do konfiguráku /etc/sysctl.conf – je persistent

sysctl -a ——> vypísanie všetkých systémových parametrov (napr. u mňa aktiálne 820)

sysctl -p  /etc/sysctl.conf ——> znovu načítať obsah hlavného konfu

píše: ďobo

July 12th, 2016 o 11:12 am

chlievik: linux

okomentuj