คำถามติดแท็ก kernel

ทุกอย่างเกี่ยวกับเมล็ด UNIX: การพัฒนา, การกำหนดค่า, การรวบรวม, การออกแบบและอื่น ๆ

2
วิธีการตั้งค่าโหมดวิดีโอใน linux ด้วย kms / drm?
ฉันจะตั้งค่าโหมดวิดีโอใน Linux ในระดับต่ำได้อย่างไร? เท่าที่ฉันทราบเลเยอร์ต่ำสุดใน userspace จะขอ KMS ผ่าน DRM ถูกต้องหรือไม่ และถ้าเป็นเช่นนั้นฉันจะเปลี่ยนโหมดและเข้าถึง "หน่วยความจำวิดีโอ" ที่เกี่ยวข้องได้อย่างไร
12 linux  kernel  video 

1
ตารางเส้นทางจะถูกเก็บไว้ภายในในเคอร์เนล Linux ที่ไหน?
เมื่อผมดำเนินการroute -nจากที่ว่า (จากการที่structs) เป็นข้อมูลที่แสดงดึง? ฉันพยายามดำเนินการstrace route -nแต่ฉันไม่ได้ช่วยฉันหาสถานที่ที่เหมาะสมซึ่งเก็บไว้

1
วิธีลด Spectre และ Meltdown หน่วยความจำเคอร์เนลที่รั่วบั๊ก CPU บน OpenBSD?
หน่วยความจำเคอร์เนลหน่วยความจำรั่วการออกแบบโปรเซสเซอร์ทำให้ Linux, Windows ออกแบบ และ การอ่านหน่วยความจำที่มีสิทธิพิเศษพร้อมช่องสัญญาณด้านข้าง ในข่าวล่าสุดผู้คนสามารถอ่านเกี่ยวกับหน่วยความจำเคอร์เนลรั่ว CPU หากใช้ OpenBSD เราจะป้องกันตัวเองได้อย่างไร หรือ OpenBSD ไม่ได้รับผลกระทบ?

1
จะเข้าใจเอาต์พุต modinfo ได้อย่างไร?
ฉันแค่พยายามที่จะเข้าใจmodinfoผลลัพธ์ที่อธิบายถึงโมดูลเคอร์เนล ตัวอย่างเช่นในกรณีของโมดูลi915เอาต์พุตจะมีลักษณะดังนี้: $ modinfo i915 filename: /lib/modules/4.2.0-1-amd64/kernel/drivers/gpu/drm/i915/i915.ko license: GPL and additional rights description: Intel Graphics author: Intel Corporation [...] firmware: i915/skl_dmc_ver1.bin alias: pci:v00008086d00005A84sv*sd*bc03sc*i* [...] depends: drm_kms_helper,drm,video,button,i2c-algo-bit intree: Y vermagic: 4.2.0-1-amd64 SMP mod_unload modversions parm: modeset:Use kernel modesetting [KMS] (0=DRM_I915_KMS from .config, 1=on, -1=force vga console preference [default]) (int) [...] ฉันสามารถเข้าใจบางฟิลด์ได้ …

3
อะไรคือความแตกต่างระหว่าง“ เลือก” กับ“ ขึ้นกับ” ในเคอร์เนล Kconfig?
อะไรคือความแตกต่างของการพึ่งพาระหว่างselectและdepends onในไฟล์ Kconfig config FB_CIRRUS tristate "Cirrus Logic support" depends on FB && (ZORRO || PCI) select FB_CFB_FILLRECT select FB_CFB_COPYAREA select FB_CFB_IMAGEBLIT ---help--- This enables support for Cirrus Logic GD542x/543x based boards on Amiga: SD64, Piccolo, Picasso II/II+, Picasso IV, or EGS Spectrum. ในตัวอย่างข้างต้นเป็นวิธีที่FB_CIRRUSเกี่ยวข้อง diffrently ไปFB && (ZORRO || PCI)กว่านั้นคือการFB_CFB_FILLRECT, …

2
ค้นหา CPU kernel hog เป็นครั้งคราว
ฉันมีเคอร์เนล 2.6.35 PREEMPT ที่ทำงานบนโปรเซสเซอร์ ARMv7 ความเร็วปานกลาง เกี่ยวกับทุกๆ 100 - 125s สิ่งที่ทำให้เคอร์เนลล้มเหลวในการประมวลผลไดรเวอร์ที่เกี่ยวข้องกับเสียงอย่างรวดเร็วพอที่จะหลีกเลี่ยงการ underrun การค้างไว้โดยทั่วไปจะอยู่ในช่วง 15-30ms แต่อาจนานกว่านั้นมาก ไม่ชัดเจนว่าการถือครองอยู่ในเคอร์เนลทั้งหมดหรืออาจเกี่ยวข้องกับการกำหนดตารางเวลาของกระบวนการผู้ใช้ที่รันด้วยลำดับความสำคัญตามเวลาจริง (SCHED_RR, 2) ฉันเดาว่ามีไดรเวอร์ (อย่างน้อยหนึ่ง) ที่ไม่เล่นได้ดีกับการจอง เอาต์พุต strace บางตัวจากกระบวนการผู้ใช้แสดงให้เห็นถึงลักษณะบางอย่างของพฤติกรรมปกติและผิดปกติบางอย่างแม้ว่าฉันจะไม่แน่ใจว่าจะตีความรายงานเวลาต่าง ๆ ได้อย่างไร กรณีปกติ: 0.000518 แบบสำรวจ ([{fd = 10, เหตุการณ์ = POLLIN | POLLERR | POLLNVAL, revents = POLLIN}], 1, 3415) = 1 0.010202 แบบสำรวจ ([{fd = …
11 kernel  profiling 

2
การเพิ่มการเรียกระบบใหม่ไปยัง Linux 3.2.x ด้วยโมดูลเคอร์เนลที่โหลดได้ [ปิด]
ปิด. คำถามนี้เป็นคำถามปิดหัวข้อ ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้เป็นไปตามหัวข้อสำหรับ Unix & Linux Stack Exchange ปิดให้บริการใน7 ปีที่ผ่านมา ฉันต้องการเพิ่มการเรียกของระบบใหม่ใน linux kernel 3.2.x แต่เป็นโมดูลเคอร์เนลที่สามารถโหลดได้ (เพราะฉันไม่ต้องการคอมไพล์เคอร์เนลซ้ำแล้วซ้ำอีก) ฉันอ่านโพสต์มากมายบนอินเทอร์เน็ตและใน SO และบางแห่งอ้างว่าการใช้การเรียกระบบเนื่องจากโมดูลที่โหลดได้นั้นเป็นไปไม่ได้ในขณะที่คนอื่นบอกว่าเป็นไปได้ มันคืออะไร จะทำอย่างไรถ้าเป็นไปได้?

2
ฉันจะแยกไมโครโค้ด (ucode) ใน iwlwifi เพื่อรับหมายเลขรุ่นได้อย่างไร
ฉันมีการ์ดไร้สาย Intel ขับเคลื่อนโดยiwlwifiและฉันสามารถดูข้อความต่อไปนี้ใน dmesg: iwlwifi 0000:03:00.0: loaded firmware version 17.168.5.3 build 42301 เนื่องจากฉันทราบว่าหยดใดถูกโหลดฉันจะทราบรุ่นของหยดนี้ ( .ucodeไฟล์) ได้อย่างไร หากคุณดูที่ด้านล่างที่โหลด ucode มันจะไม่บอกข้อมูลเวอร์ชั่นให้ฉันทราบว่ามีการโหลดหยด แต่ฉันรู้รุ่นของ Intel เหล่านี้ $ sudo dmesg | grep ucode [ 26.132487] iwlwifi 0000:03:00.0: firmware: direct-loading firmware iwlwifi-6000g2a-6.ucode [40428.475015] (NULL device *): firmware: direct-loading firmware iwlwifi-6000g2a-6.ucode

2
ฉันควรจะรักษาเมล็ดในฐานะนักพัฒนาอย่างไร?
ฉันกำลังพัฒนาสำหรับหน่วยประมวลผล TI ARM ที่เฉพาะเจาะจงพร้อมไดรเวอร์ที่กำหนดเองที่ทำกับเคอร์เนล ฉันพยายามย้ายจาก 2.6.32 เป็น 2.6.37 แต่โครงสร้างเปลี่ยนไปมากฉันจะมีสัปดาห์ของการทำงานเพื่ออัปเกรดรหัสของฉัน ตัวอย่างเช่นชิปของฉันคือ dm365 ซึ่งมาพร้อมกับไดรเวอร์การประมวลผลวิดีโอ ตอนนี้ไดรเวอร์เก่า ๆ ส่วนใหญ่ซึ่งสัมผัสกับฉันโดยตรงผ่าน v4l2 ซึ่งอาจสมเหตุสมผลมากกว่า TI ให้ข้อมูลน้อยมากสำหรับการอัพเกรดเหล่านั้น ฉันควรจะติดตามการเปลี่ยนแปลงอย่างไร เมื่อฉัน google สำหรับชื่อไฟล์ที่เฉพาะเจาะจงฉันไม่ค่อยได้รับแพทช์น้อยที่มีความคิดเห็นน้อยลงเกี่ยวกับสิ่งที่เปลี่ยนแปลงและทำไมและอายุเกี่ยวข้องกับใหม่
11 linux  kernel  upgrade 

4
IDE สำหรับโครงการขนาดใหญ่หลายภาษา (เช่นเคอร์เนล linux)
ฉันรู้ว่าคำถาม "ที่พวกคุณใช้ IDE" เป็นคำถามที่ถูกถามถึงล้านครั้ง แต่ฉันไม่เคยเห็นมันถามในบริบทนี้ มีข้อเสนอแนะอะไรบ้างสำหรับ IDE เมื่อทำงานกับโครงการขนาดใหญ่ที่มีหลายภาษาและหลายพันไฟล์ ตัวอย่างที่ดีคือแหล่งที่มาของ Android ไม่เพียง แต่เป็น C / C ++ IDE ที่ดีที่จำเป็นสำหรับเคอร์เนลเท่านั้น แต่ยังมีสคริปต์ Java และเชลล์ด้วย มีอะไรที่สร้างขึ้นสำหรับโครงการประเภทนี้หรือไม่? สิ่งที่ฉันใช้ตามปกติคือ KDevelop สำหรับ C / C ++ ฉันชอบมัน แต่ดูเหมือนว่าจะระเบิดเมื่อใช้มันสำหรับโครงการขนาดใหญ่เช่นเคอร์เนลลินุกซ์ นอกจากนี้ยังไม่ได้ทำอะไรเลยสำหรับ Java หรือ python ดังนั้นสิ่งที่ฉันกำลังมองหาคือคำแนะนำสำหรับ IDE / การตั้งค่า (เช่น vim + สคริปต์) สำหรับการทำงานกับโครงการขนาดใหญ่รวมถึงเคอร์เนลลินุกซ์เอง แก้ไข : ฉันคิดว่าฉันอาจไม่ชัดเจน ฉันไม่ได้มองหา IDE อย่างแน่นอน …

1
ฉันจะกำหนดกลุ่ม cg ให้ใช้ทรัพยากรร่วมกันระหว่างผู้ใช้ได้อย่างไร
เคยเป็นตัวเลือก config ของเคอร์เนลที่ชื่อว่า sched_user หรือคล้ายกันภายใต้กลุ่ม cg สิ่งนี้ทำให้ผู้ใช้ทุกคนสามารถแบ่งปันทรัพยากรระบบได้อย่างเป็นธรรม ใน 2.6.35 ไม่สามารถใช้ได้ มีวิธีที่ฉันสามารถกำหนดค่าระบบของฉันเพื่อแบ่งปันทรัพยากร io / cpu / หน่วยความจำโดยอัตโนมัติระหว่างผู้ใช้ทั้งหมด (รวมถึงรูทหรือไม่) ฉันไม่เคยตั้งกลุ่ม cgroup มาก่อนมีการสอนที่ดีสำหรับการทำเช่นนั้นหรือไม่? ขอบคุณมาก.


3
การสร้างเคอร์เนล Linux ใหม่โดยไม่“ สะอาด”
ฉันกำลังสร้างเคอร์เนลที่กำหนดเองโดยอ้างอิงจาก 4.11 (สำหรับ Mintx64 หากเป็นเรื่องสำคัญ) ฉันได้รวบรวมและติดตั้งแล้วเพื่อพิสูจน์ว่ามันใช้งานได้ ตอนนี้ฉันได้ทำการเปลี่ยนแปลงเล็กน้อยในไฟล์สองสามไฟล์ (ในไดรเวอร์และระบบย่อยสุทธินี่คือสาเหตุที่ฉันต้องคอมไพล์เคอร์เนลแบบกำหนดเองตั้งแต่แรก!) ตอนนี้ฉันต้องการสร้างเคอร์เนลที่แก้ไข อย่างไรก็ตามเมื่อฉันวิ่ง fakeroot make -j5 deb-pkg LOCALVERSION=myname KDEB_PKGVERSION=1 ระบบการสร้างดูเหมือนจะเริ่มต้นด้วย "สะอาด" - โหลดสิ่งของทั้งหมดดังนั้นฉันจึงหยุดมันอย่างรวดเร็ว โชคไม่ดีที่คอมพิวเตอร์ที่ฉันใช้ไม่มี CPU ที่ดีและใช้เวลาหลายชั่วโมงในการสร้างตั้งแต่เริ่มต้น ดังนั้นฉันควรหลีกเลี่ยงการทำมันอีกครั้งถ้าเป็นไปได้! เป็นไปได้หรือไม่ที่จะสร้างบิลด์ที่เพิ่มขึ้นโดยไม่มีทุกสิ่งที่จะ "สะอาด" หรือนี่เป็นข้อกำหนดของระบบสร้างเคอร์เนล? ผลลัพธ์ที่ฉันได้รับคือ: CHK include/config/kernel.release make clean CLEAN . CLEAN arch/x86/lib ...

1
ข้อผิดพลาดในโพรบที่เปิดใช้งาน: syscall :: open_nocancel: รายการ): การเข้าถึงของผู้ใช้ที่ไม่ถูกต้องในการดำเนินการ # 2 ที่ DIF
ฉันเป็นสายการบินเดียวที่จะแสดงไฟล์ที่เปิดโดยกระบวนการ: sudo dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }' อย่างไรก็ตามฉันมีข้อผิดพลาดซ้ำ ๆ มากมายเช่น: dtrace: error on enabled probe ID 4 (ID 946: syscall::open_nocancel:entry): invalid user access in action #2 at DIF offset 24 dtrace: error on enabled probe ID 7 (ID 160: syscall::open:entry): invalid user access in action #2 at DIF …
11 kernel  osx  dtrace 

5
กำจัดข้อความ“ ไม่พบหน้าโหมดแคช” ระหว่างการบู๊ต
ระหว่างการบู๊ตตอนแรกฉันได้รับข้อความแสดงข้อผิดพลาด [sdb] No Caching mode page found [sdb] Assuming drive cache: write through ถ้าฉันเข้าใจถูกต้องนี่เป็นเพียงข้อความข้อมูลที่ไม่เป็นอันตรายและไม่ใช่ข้อผิดพลาดจริง sdbเป็นดิสก์ USB ของฉันและไม่ได้ใช้แคช ปัญหาคือฉันตั้งใจตั้งเคอร์เนล loglevel เป็น 4 เพื่อกำจัดข้อความข้อมูลที่ไร้ประโยชน์เหล่านี้ เหตุใดฉันจึงยังได้รับข้อความข้อมูลนี้อยู่ เหตุผลที่ทำให้ฉันรำคาญคือมันรบกวนการแจ้งรหัสผ่านของฉัน (สำหรับการถอดรหัสดิสก์ LUKS ของฉัน) มีวิธีกำจัดข้อความนี้หรือไม่?
11 kernel  logs  startup  console 

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