Hvernig á að hlaða og afferma kjarnaeiningar í Linux


Kjarnaeining er forrit sem hægt er að hlaða inn í eða losa úr kjarnanum ef óskað er eftir því, án þess að þurfa að endursamstilla hann (kjarnann) eða endurræsa kerfið, og er ætlað að auka virkni kjarnans.

Í almennum hugbúnaðarskilmálum eru einingar meira og minna eins og viðbætur við hugbúnað eins og WordPress. Viðbætur veita leið til að auka virkni hugbúnaðar, án þeirra þyrftu verktaki að smíða einn stóran hugbúnað með öllum virkni samþættum í pakka. Ef þörf er á nýrri virkni þyrfti að bæta þeim við í nýjum útgáfum hugbúnaðar.

Sömuleiðis án eininga þyrfti kjarnann að vera byggður með öllum virkni samþætta beint inn í kjarnamyndina. Þetta myndi þýða að hafa stærri kjarna og kerfisstjórar þyrftu að endursafna kjarnanum í hvert skipti sem þörf er á nýrri virkni.

Einfalt dæmi um einingu er tækjastjóri – sem gerir kjarnanum kleift að fá aðgang að vélbúnaðaríhlut/tæki sem er tengt við kerfið.

Listaðu allar hlaðnar kjarnaeiningar í Linux

Í Linux enda allar einingar á .ko viðbótinni og þær hlaðast venjulega sjálfkrafa þar sem vélbúnaðurinn greinist við ræsingu kerfisins. Hins vegar getur kerfisstjóri stjórnað einingunum með því að nota ákveðnar skipanir.

Til að skrá allar einingar sem nú eru hlaðnar í Linux getum við notað lsmod (list modules) skipunina sem les innihald /proc/modules eins og þessa.

# lsmod
Module                  Size  Used by
rfcomm                 69632  2
pci_stub               16384  1
vboxpci                24576  0
vboxnetadp             28672  0
vboxnetflt             28672  0
vboxdrv               454656  3 vboxnetadp,vboxnetflt,vboxpci
bnep                   20480  2
rtsx_usb_ms            20480  0
memstick               20480  1 rtsx_usb_ms
btusb                  45056  0
uvcvideo               90112  0
btrtl                  16384  1 btusb
btbcm                  16384  1 btusb
videobuf2_vmalloc      16384  1 uvcvideo
btintel                16384  1 btusb
videobuf2_memops       16384  1 videobuf2_vmalloc
bluetooth             520192  29 bnep,btbcm,btrtl,btusb,rfcomm,btintel
videobuf2_v4l2         28672  1 uvcvideo
videobuf2_core         36864  2 uvcvideo,videobuf2_v4l2
v4l2_common            16384  1 videobuf2_v4l2
videodev              176128  4 uvcvideo,v4l2_common,videobuf2_core,videobuf2_v4l2
intel_rapl             20480  0
x86_pkg_temp_thermal    16384  0
media                  24576  2 uvcvideo,videodev
....

Hvernig á að hlaða og afferma (fjarlægja) kjarnaeiningar í Linux

Til að hlaða inn kjarnaeiningu getum við notað skipunina insmod (insert module). Hér verðum við að tilgreina alla leið einingarinnar. Skipunin hér að neðan mun setja inn speedstep-lib.ko eininguna.

# insmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko 

Til að afferma kjarnaeiningu notum við rmmod (fjarlægja mát) skipunina. Eftirfarandi dæmi mun afferma eða fjarlægja speedstep-lib.ko eininguna.

# rmmod /lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko 

Hvernig á að stjórna kjarnaeiningum með því að nota modprobe Command

modprobe er snjöll skipun til að skrá, setja inn og fjarlægja einingar úr kjarnanum. Það leitar í einingaskránni /lib/modules/$ (uname -r) að öllum einingunum og tengdum skrám, en útilokar aðrar stillingarskrár í /etc/modprobe.d möppunni.

Hér þarftu ekki algera slóð einingar; þetta er kosturinn við að nota modprobe umfram fyrri skipanir.

Til að setja inn einingu skaltu einfaldlega gefa upp nafn hennar eins og hér segir.

# modprobe speedstep-lib

Til að fjarlægja einingu, notaðu -r fánann svona.

# modprobe -r speedstep-lib

Athugið: Undir modprobe er sjálfvirk umbreyting undirstrikunar framkvæmd, þannig að það er enginn munur á _ og þegar einingarheiti eru færðar inn.

Fyrir frekari upplýsingar um notkun og valkosti, lestu í gegnum modprobe man síðuna.

# man modprobe

Ekki gleyma að kíkja á:

  1. Hvernig á að breyta færibreytum kjarna keyrslutíma á viðvarandi og óviðvarandi hátt
  2. Hvernig á að setja upp eða uppfæra í nýjustu kjarnaútgáfuna í CentOS 7
  3. Hvernig á að uppfæra kjarna í nýjustu útgáfuna í Ubuntu

Það er allt í bili! Hefur þú einhverjar gagnlegar hugmyndir sem þú vildir að við bættum við þessa handbók eða fyrirspurnir, notaðu athugasemdareyðublaðið hér að neðan til að senda okkur þær.