เคอร์เนล Linux ค้างที่ 'สลับไปยัง clockource tsc "บน Pentium 4


11

ฮาร์ดแวร์: Dell Dimension 4500S : i845G, Pentium 4, หุ้น + RAM 2GB และอัพเดตล่าสุด (ประมาณปี 2002) BIOS

ฉันได้สร้างระบบ Linux จากแหล่งที่มาจนถึงตอนนี้มันเป็นLFS 7.0จากหนังสือ เคอร์เนลตัวแรกที่ฉันสร้างขึ้นใช้งานได้ดี แต่มีปุยและบวมมากดังนั้นตอนนี้ฉันจึงปรับเคอร์เนลสำหรับฮาร์ดแวร์เป้าหมายของฉัน (ดูด้านบน)

ความพยายามในการกำหนดค่าล่าสุดของฉันและการทดลองและข้อผิดพลาดหลายรูปแบบได้ถูกหยุดไว้อย่างต่อเนื่องที่คำสั่ง "สลับไปยัง clockource tsc" เคอร์เนล "ดี" ของฉันไม่เคยมีปัญหา ... นี่คือรุ่น 3.1.0 btw ทั้งสองจะถูกสร้างขึ้นจากต้นไม้แหล่งเดียวกันแพทช์ไม่มีmake mrproper, make menuconfigฯลฯ ดังนั้นเห็นได้ชัดว่าฉันแค่หายไปบางคีย์CONFIG_XXXธง

ฉันเฝ้ามองปัญหานี้มานานกว่าหนึ่งวันแล้วและฉันได้สร้างเคอร์เนลที่รู้จำนวนครั้ง แต่ไม่เกิดประโยชน์

สิ่งหนึ่งที่ฉันคิดว่าน่าสนใจคือเคอร์เนลที่ดีที่ฉันได้รับ:

# cat /sys/devices/system/clocksource/clocksource0/current_clocksource
tsc

มันอาจจะมีประโยชน์ที่จะรู้ว่า ....

# cat /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc acpi_pm

ฉันได้ลองสร้างการกำหนดค่าด้วยตัวเลือกต่าง ๆ แต่ ณ จุดนี้ฉันไม่สามารถจำเฉพาะได้ดังนั้นอย่าถาม จากการค้นหาของฉันฉันพบและทดสอบพารามิเตอร์เคอร์เนลหลายตัวเช่นclocksource=pitและnotscแต่สิ่งเหล่านี้ล้มเหลวเช่นกัน อีกครั้งฉันหวังว่าฉันได้เขียนลงทุกสิ่งที่ฉันได้พยายามจนถึงตอนนี้เข้าใจถึงปัญหาหลัง ...

ส่วนใหญ่ตัวอย่างฟอรั่มมีการ 2.x เมล็ดและได้รับการแก้ไขได้ด้วยรูปแบบของตัวเลือกการบูตบาง root=/dev/sdaX roแต่เคอร์เนลที่ดีของฉันใช้เพียง ดังนั้นฉันรู้ว่าฉันเป็นทองด้วยฮาร์ดแวร์และเคอร์เนลชุด 3.1.0 ถ้าฉันสามารถหาการกำหนดค่าการสร้างที่ถูกต้อง

นอกจากนี้ผู้คนส่วนใหญ่ที่โพสต์ปัญหาที่คล้ายกันบอกว่าหลังจากผ่านไปไม่กี่นาทีระบบจะทำการโหลดต่อไป ฉันปล่อยให้มันว่างนานพอที่จะทำอาหารมื้อเย็นและมันยังไม่ได้โหลดต่อ

ฉันหวังว่าหนึ่งในกูรูของคุณจะอ่านและพูดว่า "เฮ้ใช่ฉันเพิ่งตั้ง CONFIG_XXX = y บนไดโนเสาร์ P4 ของฉันและมันก็ใช้งานได้ดี" :)

แจ้งให้เราทราบสิ่งที่คุณต้องการให้ฉันลองหรือตรวจสอบฉันยินดีที่จะโพสต์ผลลัพธ์


@tripleee ฉันจะดูข้อมูลได้ที่ไหน ... เหตุผลเบื้องหลังการโหวตอย่างใกล้ชิด?
rfmodulator

บางทีคุณทำไม่ได้ชื่อเสียงของคุณอาจไม่พอ อย่างไรก็ตามเนื่องจากสิ่งนี้ไม่เกี่ยวข้องกับการเขียนโปรแกรมจึงเหมาะสมที่จะย้าย แต่สิ่งที่ต้องทำมีเพียงไม่กี่คะแนน ฉันจะเพิ่มของฉันด้วย
tripleee

ฉันกำลังประสบปัญหาที่คล้ายกันกับเคอร์เนลใหม่ที่มี Pentium 4 ทุกอย่างทำงานได้ถ้าปิดการใช้งานไฮเปอร์เธรด ใช้เวลาสองคืนในการแก้ไขข้อบกพร่องไม่แน่ใจเกี่ยวกับรายละเอียด
choroba

@choroba nohtไม่ได้ทำเพื่อฉัน แจ้งให้เราทราบหากคุณมีแนวคิดอื่น
rfmodulator

ในความเป็นจริงผมต้องปิด ht ในระดับ BIOS acpi=offหรือระบุ
choroba

คำตอบ:


8

จากการค้นหาอย่างรวดเร็วปัญหานี้ดูเหมือนจะมีเหตุผลมากมายที่เป็นไปได้และดูเหมือนว่าข้อเท็จจริงที่ว่าค่าเริ่มต้นของเคอร์เนลใหม่สำหรับนาฬิกาแหล่งที่มานั้นผิดสำหรับเมนบอร์ดของคุณ

คำแนะนำหนึ่งที่ทำงานบางอย่างคือการใช้หรือclocksource=hpetclocksource=acpi_pm

ในเธรดอื่นบางคนได้แก้ไขสิ่งนี้ด้วยclocksource=jiffiesแนะนำให้ลองอีกอันnoapicหรือnolapicปิด acpi ในไบออสและอีกอันหนึ่งกล่าวโทษ Synaptics ทัชแพดและแก้ไขปัญหาของเขาโดยการลบ Xorg.conf

ผู้สร้างเคอร์เนลหนึ่งคนแก้ไขปัญหาของเขาได้โดยเริ่มต้นการคอมไพล์ใหม่โดยไม่มี fbcondecor

หวังว่าสิ่งนี้จะช่วยได้เนื่องจากดูเหมือนว่าปัญหานี้อาจมีหลายสาเหตุ


ขอบคุณสำหรับคำตอบของคุณ แต่ฉันกำลังมองหาตัวเลือกการกำหนดค่าการสร้างเคอร์เนลที่จะทำให้ (หรือป้องกัน) เวลาแฮงค์ขณะบู๊ตที่ฉันสังเกตเห็นไม่ใช่วิธีแก้ปัญหา ฉันได้ลองพารามิเตอร์การบูต relavent ทั้งหมด ( clocksource=, no*, ฯลฯ ) ที่ถูกบันทึกไว้ในฟอรัมหัวข้อต่างๆโดยไม่มีผลกระทบ ฉันใช้ความพยายามอย่างแรงกล้าในการพยายาม จำกัด ปัญหาที่แท้จริงของฉันให้แคบลง ฉันมีเคอร์เนลที่บูทสมบูรณ์โดยไม่ต้องพารามิเตอร์พิเศษใด ๆ (นอกเหนือจากroot=และro) สร้างขึ้นจากแหล่งต้นไม้เดียวกัน แต่เคอร์เนลนี้มีสิ่งอื่น ๆ ที่ฉันไม่จำเป็นต้องกว่าเหล่านั้นที่ฉันทำ ...
rfmodulator

... ยกเว้นCONFIG_ธงคีย์เดียวที่จะแก้ปัญหาของฉัน
rfmodulator

เป็นไปได้ไหมว่าปัญหาของคุณคือคุณปิดตัวเลือกเคอร์เนลมากเกินไป?
harrymc

แม่นยำ. :) นั่นคือคำตอบที่ฉันกำลังมองหาสิ่งที่ฉันได้ปิดการใช้งานที่จำเป็นจริง ๆ ฉันทำมาหลายครั้งแล้วโดยไม่มีการเปลี่ยนแปลงผลลัพธ์
rfmodulator

ฉันไม่สามารถช่วยคุณด้วยคำวิเศษเดียว ดูเหมือนว่าแหล่งสัญญาณนาฬิกาปัจจุบันของคุณคือ acpi_pm แต่คุณจะต้องเจาะลึกลงไปในแหล่งที่มาของเคอร์เนลเพื่อค้นหาการตั้งค่าเคอร์เนลที่คุณต้องการ ตัวเลือกอื่นคือการกลับไปที่การกำหนดค่าที่ใช้งานได้และปิดตัวเลือกแบบเพิ่มหน่วยเพื่อค้นหาปัญหา ในการ "เชียร์" คุณฉันสามารถพูดได้ว่านี่อาจไม่ใช่ตัวเลือกเดียว แต่มีหลายตัวซึ่งหมายถึงความขัดแย้งหรือการรวมกันของการกำหนดค่าที่ไม่สามารถใช้งานได้หรือการพึ่งพาที่ไม่มีเอกสาร
harrymc

0

ฉันเจอปัญหาเดียวกันตรงนี้และอ่านล็อต @harrymc สรุปได้ค่อนข้างดี

ฉันจะเพิ่ม 2 สิ่งที่ฉันเรียนรู้จากการวิจัยของฉัน:

  • ปัญหามาจากเคอร์เนล Linux ของคุณซึ่งไม่ทราบวิธีจัดการโปรเซสเซอร์ของคุณเพราะไม่สามารถทราบได้ว่านาฬิกาประมวลผลของคุณคืออะไร คุณสามารถสังเกตสิ่งนี้ได้โดยการตรวจสอบล็อกบูตของเคอร์เนล ดูเหมือนเคอร์เนลพยายามวัดนาฬิกาประมวลผลของคุณ (สำหรับฉันมันเหมือนกับ "2997.1333" แต่ทุก ๆ การบูตเปลี่ยนเป็น "2997.1445", "2997.1379", ... )

  • หลังจากลองหลายสิ่งหลายอย่างในที่สุดฉันก็มาถึงที่นี่และค้นหาเกี่ยวกับ BIOS ของฉันคือ GYGABITE UEFI ฉันตั้งค่าพารามิเตอร์กลับเป็น "การตั้งค่าเริ่มต้นที่ดีที่สุด" และตั้งค่า "Intel Virtualization Technology" เป็น "เปิดใช้งาน"

ตอนนี้ทุกอย่างกลับมาเป็นปกติสำหรับฉัน! ความหวังนี้ช่วยได้


0

ไม่กี่เซ็นต์จากฉันไม่แน่ใจว่ามันเป็นเรื่องปกติหรือไม่ แต่ฉันสามารถทำให้ Ubuntu ใช้งานได้โดยปิดใช้งาน 'ตัวจับเวลาที่มีความแม่นยำสูง' ใน BIOS mb ของฉันคือกิกะไบต์ z77x-d3h


ระบบของ OP ไม่รองรับ High Event Event Timer ที่ได้รับการแนะนำในปี 2005 และระบบของผู้ลงประกาศดั้งเดิมถือกำเนิดขึ้นในอีกไม่กี่ปีข้างหน้า
ChrisInEdmonton

-2

ฉันแก้ไขปัญหาโดยการเพิ่มพารามิเตอร์พารามิเตอร์ต่อไปนี้:

noapic

5
ยินดีต้อนรับสู่ Super User คุณสามารถขยายคำตอบของคุณโดยอธิบายว่าสิ่งนี้ทำอะไร / วิธีแก้ปัญหาของ OP หรือไม่?
ฉันพูดว่า Reinstate Monica

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