Jinsi ya Kufunga Vichwa vya Kernel katika CentOS 7


Unapokusanya moduli maalum ya kernel kama vile kiendeshi cha kifaa kwenye mfumo wa CentOS, unahitaji kuwa na faili za vichwa vya kernel zilizosakinishwa kwenye mfumo, ambazo zinajumuisha faili za kichwa cha C kwa kinu cha Linux. Faili za vichwa vya Kernel hutoa aina tofauti za kazi na ufafanuzi wa muundo unaohitajika wakati wa kusakinisha au kuunda msimbo wowote unaoingiliana na kernel.

Unaposakinisha Vichwa vya Kernel, hakikisha vinalingana na toleo la kernel iliyosakinishwa sasa kwenye mfumo. Ikiwa toleo lako la Kernel linakuja na usakinishaji chaguo-msingi wa usambazaji au umeboresha Kernel yako kwa kutumia kidhibiti cha kifurushi cha yum kutoka hazina za msingi za mfumo, basi lazima usakinishe vichwa vya kernel vinavyolingana kwa kutumia kidhibiti cha kifurushi pekee. Ikiwa umekusanya Kernel kutoka kwa vyanzo, unaweza kusakinisha vichwa vya kernel kutoka kwa vyanzo pekee.

Katika nakala hii, tutaelezea jinsi ya kusakinisha Vichwa vya Kernel katika usambazaji wa CentOS/RHEL 7 na Fedora kwa kutumia kidhibiti chaguo-msingi cha kifurushi.

Sakinisha Vichwa vya Kernel katika CentOS 7

Kwanza thibitisha kuwa vichwa vya kernel vinavyolingana tayari vimewekwa chini ya /usr/src/kernels/ eneo kwenye mfumo wako kwa kutumia amri zifuatazo.

# cd /usr/src/kernels/
# ls -l

Ikiwa hakuna vichwa vya kernel vinavyolingana vilivyo kwenye saraka /usr/src/kernels/, endelea na usakinishe vichwa vya kernel, ambavyo vinatolewa na kifurushi cha kernel-devel ambacho kinaweza kusakinishwa kwa kutumia kidhibiti chaguo-msingi cha kifurushi kama inavyoonyeshwa.

# yum install kernel-devel   [On CentOS/RHEL 7]
# dnf install kernel-devel   [On Fedora 22+]

Baada ya kusakinisha kifurushi cha kernel-devel, unaweza kupata faili zote za vichwa vya kernel kwenye saraka /usr/src/kernels kwa kutumia amri ifuatayo.

# ls -l /usr/src/kernels/$(uname -r) 

Kumbuka kwenye VPS (kwa mfano Linode VPS), kernel inaweza kuwa na jina la toleo lililobinafsishwa, katika hali kama hiyo, lazima utambue toleo la kernel mwenyewe na uangalie faili za kichwa cha kernel zilizosakinishwa kwa kutumia amri zifuatazo.

# uname -r	
# ls -l /usr/src/kernels/3.10.0-862.2.3.el7.x86_64
total 4544
drwxr-xr-x.  32 root root    4096 May 16 12:48 arch
drwxr-xr-x.   3 root root    4096 May 16 12:48 block
drwxr-xr-x.   4 root root    4096 May 16 12:48 crypto
drwxr-xr-x. 119 root root    4096 May 16 12:48 drivers
drwxr-xr-x.   2 root root    4096 May 16 12:48 firmware
drwxr-xr-x.  75 root root    4096 May 16 12:48 fs
drwxr-xr-x.  28 root root    4096 May 16 12:48 include
drwxr-xr-x.   2 root root    4096 May 16 12:48 init
drwxr-xr-x.   2 root root    4096 May 16 12:48 ipc
-rw-r--r--.   1 root root     505 May  9 19:21 Kconfig
drwxr-xr-x.  12 root root    4096 May 16 12:48 kernel
drwxr-xr-x.  10 root root    4096 May 16 12:48 lib
-rw-r--r--.   1 root root   51205 May  9 19:21 Makefile
-rw-r--r--.   1 root root    2305 May  9 19:21 Makefile.qlock
drwxr-xr-x.   2 root root    4096 May 16 12:48 mm
-rw-r--r--.   1 root root 1093137 May  9 19:21 Module.symvers
drwxr-xr-x.  60 root root    4096 May 16 12:48 net
drwxr-xr-x.  14 root root    4096 May 16 12:48 samples
drwxr-xr-x.  13 root root    4096 May 16 12:48 scripts
drwxr-xr-x.   9 root root    4096 May 16 12:48 security
drwxr-xr-x.  24 root root    4096 May 16 12:48 sound
-rw-r--r--.   1 root root 3409102 May  9 19:21 System.map
drwxr-xr-x.  17 root root    4096 May 16 12:48 tools
drwxr-xr-x.   2 root root    4096 May 16 12:48 usr
drwxr-xr-x.   4 root root    4096 May 16 12:48 virt
-rw-r--r--.   1 root root      41 May  9 19:21 vmlinux.id

Kwa kuongeza, ikiwa unahitaji faili za kichwa kwa kernel ya Linux kwa matumizi ya glibc, sakinisha kifurushi cha kichwa cha kernel kwa kutumia amri ifuatayo.

# yum install kernel-headers   [On CentOS/RHEL 7]
# dnf install kernel-headers   [On Fedora 22+]

Sasa ni vyema kwenda na kuandaa moduli zako au zilizopo za kernel za programu kama vile VirtualBox na nyingi zaidi.

Ni hayo tu! Katika makala haya, tumeelezea jinsi ya kusakinisha vifurushi vya kernel-devel na kernel-header katika CentOS/RHEL 7 na mifumo ya Fedora. Kumbuka kwamba kabla ya kuunda moduli za kernel kama vile kiendesha kifaa kwenye mfumo wa Linux, unapaswa kuwa na faili muhimu za kichwa cha kernel zilizosakinishwa. Ikiwa una maswali, tafadhali tumia fomu ya maoni hapa chini ili kuwasiliana nasi.