เมื่อเร็ว ๆ นี้ฉันได้เปิด RPM นอกเคอร์เนลซอร์ส (OpenSuse) หรือไม่ ; และในขณะที่ใช้เวลา> 10 ชั่วโมงบนเครื่องของฉันลองจินตนาการถึงความประหลาดใจของฉันว่าหลังจากทำตามขั้นตอนที่อธิบายไว้ที่นั่นฉันไม่พบModule.symvers
ที่ใดเลย!
เมื่อฉันค้นหา "generate Module.symvers" ฉันจะได้รับสิ่งนี้:
หมายเหตุ: "modules_prepare" จะไม่สร้าง Module.symvers แม้ว่า
CONFIG_MODVERSIONS จะถูกตั้งค่าไว้ ดังนั้นการสร้างเคอร์เนลแบบเต็มจะต้อง
ดำเนินการเพื่อให้การกำหนดรุ่นโมดูลทำงานได้
( เอกสารเคอร์เนล Linux :: kbuild: modules.txt )
... แต่ฉันไม่เข้าใจ - เคอร์เนลไม่ได้ถูกสร้างขึ้นในขั้นตอนก่อนหน้า (อธิบายไว้ในลิงก์ด้านบนใช่หรือไม่ฉันแน่ใจว่าใช้เวลา> 10 ชั่วโมงสำหรับ CC เพื่อสร้างกลุ่มทั้งหมด * .o ไฟล์และ LD เพื่อเชื่อมโยงพวกเขาดังนั้นสิ่งที่จะต้องสร้างขึ้น แต่ถ้าเป็นเช่นนั้นแล้วจะอยู่Module.symvers
ที่ไหน?
ในแง่ที่ชัดเจนมากขึ้นฉันควรเรียกใช้คำสั่งอะไรเพื่อสร้าง Module.symvers ฉันรู้ว่ามันmake prepare
จะไม่ทำงาน - แต่อะไรคือคำสั่งที่จะ?
Module.symvers
โดยzypper install kernel-source
และที่คล้ายกันใน distro ลินุกซ์อื่น ๆlib/modules/xxx/build
ไฟล์ที่อยู่ใน