ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ° Linux
Π Linux ΡΠ΄ΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΡΡΠΈΡΡΡΡ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠΈ β Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ°. ΠΡΠΈ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΠΌΠΎΠ³ΡΡ Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΡΡ ΠΈ ΡΠ΄Π°Π»ΡΡΡΡΡ Π² Π»ΡΠ±ΠΎΠ΅ Π²ΡΠ΅ΠΌΡ, Π±Π΅Π· ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΈΡΡΠ΅ΠΌΡ. Π’Π°ΠΊΠΎΠΉ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ ΠΎΠ±Π»Π΅Π³ΡΠ°Π΅Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΡ, ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ, ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ², ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΉ.
Π₯ΠΎΡΡ Linux ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π°ΠΊΡΠΈΠ²Π½ΠΎ, Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° ΡΠ΄ΡΠ° ΠΎΡΡΠ°ΡΡΡΡ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡΠ½ΠΎΠΉ: Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΡΠ°ΡΡΡΡ ΡΠ΄ΡΠ° ΠΈ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΡΠ΅Ρ Ρ ΠΎΡΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌΠΈ Π½Π°ΠΏΡΡΠΌΡΡ, Π° Π½Π΅ ΡΠ΅ΡΠ΅Π· ΠΌΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠ½ΠΎΠ΅ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅, ΠΊΠ°ΠΊ Π² ΠΌΠΈΠΊΡΠΎΡΠ΄Π΅ΡΠ½ΡΡ ΠΠ‘.
ΠΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ° Linux β ΡΡΠΎ ΡΠ°ΠΉΠ»Ρ Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ .ko, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
e1000e.koβ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ΅ΡΠ΅Π²ΠΎΠΉ ΠΊΠ°ΡΡΡ Intel,ext4.koβ Π΄ΡΠ°ΠΉΠ²Π΅Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ext4,nouveau.koβ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ NVIDIA Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΡΡΠ΅Π±ΡΡΡΡΡ ΠΏΡΠ°Π²Π° ΡΡΠΏΠ΅ΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (root).
ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ
ΠΠΎΠ΄ΡΠ»Ρ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°Π³ΡΡΠ·ΠΈΡΡ Π½Π°ΠΏΡΡΠΌΡΡ:
sudo insmod /ΠΏΡΡΡ/ΠΊ/module_name.ko
ΠΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ:
sudo insmod /ΠΏΡΡΡ/ΠΊ/module_name.ko irq=12 debug=3
ΠΠ΄Π½Π°ΠΊΠΎ ΡΠ°ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π° modprobe, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠΌΠ΅Π΅Ρ:
- ΠΈΡΠΊΠ°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π²
/lib/modules/$(uname -r)/, - Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ.
sudo modprobe module_name
sudo modprobe module_name irq=12 debug=3
ΠΡΠΎΡΠΌΠΎΡΡ Π·Π°Π³ΡΡΠΆΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
lsmod
ΠΡΠΈΠΌΠ΅Ρ Π²ΡΠ²ΠΎΠ΄Π°:
Module Size Used by
coretemp 16384 0
e1000e 237568 0
ptp 20480 1 e1000e
pps_core 20480 1 ptp
Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ
ΠΠ»Ρ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π½Π°ΠΏΡΡΠΌΡΡ:
sudo rmmod module_name
ΠΠ»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΡΠΌΠΈ:
sudo modprobe -r module_name
ΠΠ°ΠΆΠ½ΡΠ΅ Π·Π°ΠΌΠ΅ΡΠ°Π½ΠΈΡ
- ΠΠ΅Π»ΡΠ·Ρ Π²ΡΠ³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ ΠΈΠ»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ. ΠΡΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΏΠΎ ΠΏΠΎΠ»Ρ
Used byΠ²lsmod. - ΠΠ΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ (ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ²) ΠΌΠΎΠ³ΡΡ Π½Π΅ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°ΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΡΠ»ΠΎΠΊ, ΡΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ΅Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ Π²ΡΠ³ΡΡΠ·ΠΊΡ.
modprobe -rΠΏΡΡΠ°Π΅ΡΡΡ ΡΠ°ΠΊΠΆΠ΅ Π²ΡΠ³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ-Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ Π±ΠΎΠ»ΡΡΠ΅ Π½ΠΈΠ³Π΄Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»ΡΠΌΠΈ
Π€Π°ΠΉΠ»Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ modprobe Π½Π°Ρ
ΠΎΠ΄ΡΡΡΡ Π²:
/etc/modprobe.d/
ΠΠ½ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ:
- Π·Π°Π΄Π°Π²Π°ΡΡ ΠΏΡΠ΅Π²Π΄ΠΎΠ½ΠΈΠΌΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ,
- Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅,
- ΡΠΊΠ°Π·ΡΠ²Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΠ³Π½ΠΎΡΠΈΡΠΎΠ²Π°ΡΡ (ΡΠ΅ΡΠ½ΡΠΉ ΡΠΏΠΈΡΠΎΠΊ).
ΠΠΎΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ ΠΎ ΠΌΠΎΠ΄ΡΠ»Π΅
modinfo module_name.ko
ΠΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ:
- ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΌΠΎΠ΄ΡΠ»Ρ,
- Π°Π²ΡΠΎΡΠ°,
- Π»ΠΈΡΠ΅Π½Π·ΠΈΡ,
- ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ,
- Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ,
- ΠΏΡΡΡ ΠΊ ΡΠ°ΠΉΠ»Ρ.