ฉันจะโหลดโมดูลเคอร์เนลอย่างถูกต้องได้อย่างไร


12

คำถามที่เกี่ยวข้อง

ฉันไม่สามารถโหลดโมดูลเคอร์เนลเพื่อลองตั้งค่าสถานะใหม่ได้
ตัวอย่าง: เริ่มต้นได้โดยไม่ต้องthinkpad_acpi fan_control=1ดังนั้นหากคอมพิวเตอร์ของฉันร้อนมากและแฟน ๆ ไม่ได้ความเร็วเต็มที่บางครั้งอาจใช้งานได้เพียงแค่โหลดโมดูลชั่วคราวfan_controlและตั้งพัดลมเป็นเวลาหลายนาทีเพื่อให้ได้ความเร็วสูงสุดเท่าที่จะเป็นไปได้
สิ่งนี้เป็นไปไม่ได้เพราะดูเหมือนว่าบางโมดูลเคอร์เนลขึ้นอยู่กับคนอื่น ๆ และดูเหมือนว่าเมล็ด Linux ที่ทันสมัยกำลังตรวจสอบว่า
ดังนั้นฉันทำอะไรจนถึง:

  • ตรวจสอบการอ้างอิง
    • modinfo -F depends thinkpad_acpi
  • ลองยกเลิกการโหลดโมดูลเหล่านี้
    • rmmod หรือ modprobe -r $dependencies
    • บางโมดูลขึ้นอยู่กับผู้อื่นลองถอดมันออกมาด้วย ใช้งานไม่ได้แม้ว่าจะไม่มี 'การพึ่งพา' (หรืออย่างน้อย modinfo บอกฉันว่า)
  • Google เป็นอย่างมากสำหรับ modprobe: FATAL: Module x is in use.
  • กำลังอ่านTLD

คุณสามารถเปลี่ยนตัวเลือกและรีบูตได้ตลอดเวลา คำถามที่ดีกว่าคือสาเหตุที่คอมพิวเตอร์ของคุณร้อนขึ้น
terdon

ขออภัยการรีบูตเป็นสิ่งที่ฉันไม่ต้องการทำและคอมพิวเตอร์ของฉันอาจร้อนเพราะ CPU โหลดเร็วหรือฝาปิดหรือคอมพิวเตอร์อยู่ข้างนอกและดวงอาทิตย์กำลังส่องแสง;)
queryAllThings

ตกลงตัวเลือกอื่นคือควบคุมความเร็วพัดลมของคุณ ดูที่หน้า tthinkwiki ที่เกี่ยวข้อง: thinkwiki.org/wiki/How_to_control_fan_speed
terdon

1
ฉันรู้ว่า! อ้างอิง: เพื่อเปิดใช้งานการควบคุมพัดลมพารามิเตอร์โมดูล fan_control = 1 จะต้องมอบให้กับ thinkpad-acpi ฉันแค่อยากรู้ว่ามันเป็นไปได้ที่จะโหลดโมดูลเคอร์เนล หากฉันทำการดีบักแบบไร้สายก็จำเป็นที่จะต้องโหลดโมดูลใหม่ด้วยแฟลกอื่น
queryAllThings

ไม่ทราบว่าจะทำอย่างไรกับ snd_hda_intel $ sudo rmmod -f snd_hda_intel rmmod: ERROR: ../libkmod/libkmod-module.c:769 kmod_module_remove_module() could not remove 'snd_hda_intel': Resource temporarily unavailable rmmod: ERROR: could not remove module snd_hda_intel: Resource temporarily unavailable :: \
Tomislav Nakic-Alfirevic

คำตอบ:


4

หากเปิดใช้งานการบังคับให้ยกเลิกการโหลดในเคอร์เนล ( zgrep FORCE_UNLOAD /proc/config.gzกล่าวว่า=y) คุณสามารถrmmod -fโมดูลเคอร์เนลที่มีปัญหาเพื่อบังคับให้ยกเลิกการโหลด

ตามโปรแกรมแก้ไขที่เปิดใช้งานสิ่งนี้มีไว้สำหรับนักพัฒนาเคอร์เนลและบุคคลที่สิ้นหวังเท่านั้น

ที่ดีที่สุดน่าจะเป็นสาเหตุที่ทำให้โมดูลใช้งานและโดยกระบวนการใด แต่อย่างน้อยการบังคับให้ขนถ่ายควรทำให้สามารถโหลดโมดูลได้อีกครั้ง


2
ซึ่งน่าจะเป็นค่าเริ่มต้นใน Debian PS: ใน Debian จะอยู่ภายใต้/proc/config.gz /boot/config-$(uname -r).gz
queryAllThings

และgrep FORCE_UNLOAD /boot/config-$(uname -r)บน Ubuntu
sabalaba
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.