ฉันควรอัปเกรดเป็นเมล็ด "ฉีดยา" หรือไม่


61

เคอร์เนลรุ่น "mainline" รุ่นใหม่มีให้บริการจากทีมเคอร์เนลของ Ubuntuเช่น 3.4 และ 3.5 ในขณะที่ Ubuntu 12.04 ใช้ 3.2

  • อะไรคือเคอร์เนลที่ฉีด?
  • พวกเขาดีกว่าเคอร์เนลที่มีอยู่ของฉันหรือไม่
  • ข้อดีและข้อเสียของการอัพเกรดเป็นเคอร์เนลฉีดคืออะไร?
  • ฉันจะสามารถย้อนกลับไปได้อย่างง่ายดายหรือไม่?

คำตอบ:


66

การอัพเกรดเป็นเคอร์เนล mainline นั้นไม่ใช่ความคิดที่ดี

ข้อมูลพื้นฐานส่วนใหญ่ในคำตอบนี้มาจากวิกิพีเดียสร้างจากการฉีด

1. มีไว้สำหรับการทดสอบเท่านั้นและไม่ได้รับการสนับสนุน

  • เคอร์เนล mainline สร้างขึ้นจากแหล่งเคอร์เนล Linux "mainline" ที่ไม่ได้แก้ไขล่าสุด
  • ทีมอูบุนตูเคอร์เนลให้เหล่านี้เพียงเพื่อการทดสอบและการแก้จุดบกพร่องเพื่อดูว่าปัญหาได้รับการแก้ไข "ต้นน้ำ" คือโดยลินุกซ์นักพัฒนาเคอร์เนล
  • ดังนั้นจึงไม่ได้รับการสนับสนุนและจะต้องเป็นความเสี่ยงของคุณเอง คุณสามารถรายงานข้อผิดพลาดที่เป็นไปได้ให้ kernel.org ผ่านkernel-oopsหรือหากคุณต้องการวิธีแก้ปัญหาที่เร็วขึ้นลองโพสต์ลงในลิสต์รายชื่อผู้รับจดหมาย Linux Kernel

2. พวกเขามักจะทำลายไดรเวอร์โดยเฉพาะอย่างยิ่ง Nvidia / AMD และไร้สาย (Broadcom)

  • เมล็ด mainline ไม่รวมถึงไดรเวอร์หรือแพตช์ที่จัดทำโดย Ubuntu
  • ซึ่งหมายความว่าไม่มีไดรเวอร์ไบนารีสำหรับกราฟิกไร้สายและอื่น ๆ
  • หากคุณลองติดตั้งไดรเวอร์ไบนารีที่ดาวน์โหลดโดยตรงจากผู้ผลิตมีโอกาสที่ดีมากที่พวกเขาจะไม่ทำงานเพราะส่วนหัวของการฉีดอาจไม่เข้ากัน
    • นี่จะเป็นจริงโดยเฉพาะอย่างยิ่งสำหรับรุ่นที่ไม่ใช่ LTS หลังจาก 12.04 (12.10, 13.04, ... ) เนื่องจากเคอร์เนล mainline ถูกสร้างขึ้นโดยใช้toolchain LTSล่าสุด(คอมไพเลอร์และอื่น ๆ ) ซึ่งโดยทั่วไปจะเก่ากว่า toolchain ในล่าสุด ไม่ใช่รุ่น LTS

3. คุณควรติดตั้งสิ่งเหล่านี้หากคุณเชื่อว่าพวกเขาอาจแก้ไขปัญหาร้ายแรงที่คุณมีกับเคอร์เนลปัจจุบัน

  • เมล็ดที่ใหม่กว่านั้นมีการแก้ไขปัญหาของฮาร์ดแวร์หรือระบบไฟล์ที่คุณอาจมี ตัวอย่างเช่นกราฟิก HD4000 ภายในบนซีพียู Intel Ivy Bridgeล่าสุดบางครั้งแข็งตัวข้อผิดพลาดที่ได้รับการแก้ไขในเมล็ด 3.3.6 และใหม่กว่า
  • คุณสามารถลองติดตั้งเคอร์เนล mainline ในสถานการณ์เหล่านี้และดูว่าช่วยแก้ปัญหาของคุณหรือไม่
  • หากเป็นเช่นนั้นคุณควรพิจารณาอัปเกรดเป็นเคอร์เนล Ubuntu + 1 ล่าสุดแทนซึ่งมีไดรเวอร์ไบนารี่ให้ใช้งาน

4. ถ้าคุณติดตั้ง mainline หรือเคอร์เนลที่ใหม่กว่าคุณยังคงสามารถเลือกใช้เคอร์เนลเก่า (เสถียร) ของคุณได้โดยการเลือกมันในเวลาบูท:

  • ให้Shiftกดหลังจากที่เปิดในคอมพิวเตอร์ของคุณ
  • คุณจะเห็นเมนูด้วงดังแสดงด้านล่าง ใช้ลูกศรลงเพื่อไปที่ "เวอร์ชัน Linux ก่อนหน้า" และกดEnter

    ป้อนคำอธิบายรูปภาพที่นี่

  • เลือกตัวเลือกที่มีรุ่นของxxx ทั่วไปไม่หนึ่งที่มีxxx- yyyyyy -genericEnterและกด นี่เป็นตัวเลือกแรกโดยปกติเว้นแต่คุณจะติดตั้งเคอร์เนลหลัก / การฉีดหลายครั้ง

    ป้อนคำอธิบายรูปภาพที่นี่


1
ขณะนี้เป็นจริงมาก 3.4 เคอร์เนลไม่ให้การสนับสนุนฮาร์ดแวร์ที่ดีขึ้นถ้าคุณใช้ซีพียูที่ผ่านมาและ GPUs ตามที่ระบุไว้ในkernelnewbies.org/Linux_3.4 บางคนก็มีปัญหาเกี่ยวกับเคอร์เนลเริ่มต้นใน Ubuntu 12.04 และการปรับรุ่นการแก้ไขปัญหามาก: ดูyoutube.com/watch?v=traegZveTKo (ชื่อวิดีโอกล่าวถึงเคอร์เนล 3.5 แต่มันเป็นประมาณ 3.4) ฉันเห็นด้วยอย่างไรก็ตามไม่จำเป็นต้องทำการอัปเดตเคอร์เนลจากการฉีดยกเว้นว่าคุณมีเหตุผลเร่งด่วนจริง

2
นี่เป็นเธรดเก่า แต่คุณหมายความว่าอย่างไรเมื่อคุณพูดว่า OP ควรพิจารณาใช้เคอร์เนล Ubuntu + 1 ฉันจะหาพวกมันได้ที่ไหน ฉันอยู่ในสถานการณ์ที่คล้ายคลึงกันในขณะนี้ ฉันมีฮาร์ดแวร์ใหม่มากซึ่งดูเหมือนว่าจะได้รับการสนับสนุนที่ดีขึ้นจากเคอร์เนลฉีด 3.12
rimez

11

แทนการฉีดคุณควรพิจารณา LTS stack stack

https://wiki.ubuntu.com/Kernel/LTSEnablementStack

โดยที่เคอร์เนล / กราฟิกสแต็กใหม่ถูก backported อย่างเป็นทางการเฉพาะสำหรับ LTS Ubuntu เท่านั้น

ในกรณีนี้แม่นยำ 12.04.5 มีเคอร์เนลของ Trusty (3.13)


เส้นทางนี้ดูสมเหตุสมผลกว่า เคอร์เนล HWE Xenial ดีกว่าเคอร์เนล Trusty หรือไม่ ข้อดีและข้อเสียของการอัพเกรดเคอร์เนลด้วยวิธีนี้คืออะไร?
แสวงหาความจริง

@SeekTruth ขึ้นอยู่กับสาเหตุที่คุณอัพเกรดเคอร์เนลตั้งแต่แรก ไม่ใช่ว่าเคอร์เนล Xenial นั้นดีกว่าเคอร์เนล Trusty แต่เป็นรุ่นที่ดึงมาจาก kernel.org
kevinf

2

หากคุณทราบถึงการแก้ไขหรือปรับปรุงวิธีการที่เคอร์เนลรุ่นใหม่จัดการฮาร์ดแวร์ของคุณ

ฉันจะไม่อัปเกรดเคอร์เนลฉีดเนื่องจากขาดการสนับสนุนยกเว้นว่าฉันมีปัญหากับการจำลองเกม N64 ที่ทำงานช้ามากพร้อมข้อบกพร่องมากมาย หลังจากที่พยายามกำหนดค่าที่ฉันสามารถหาสำหรับการจำลองทุกเช่นเดียวกับ xorg ผมอ่านนี่ทำไม Radeon กราฟิกได้เร็วขึ้นบน Linux 3.12 นี่เพียงพอที่จะกระตุ้นให้ฉันทดสอบและผลลัพธ์ในรูปลักษณ์และประสิทธิภาพนั้นน่าทึ่งโดยไม่มีปัญหาใหม่เกิดขึ้น

สิ่งหนึ่งที่ควรทราบคือคุณมีการติดตั้งโมดูลภายนอก (aka out-of-tree) หรือไม่ (ดูที่Indentify out of tree treeเพื่อรับทราบว่ามันอยู่ที่ไหน) หากคุณต้องการโมดูลเหล่านี้พิจารณาว่าจะสร้างเทียบกับเคอร์เนลเวอร์ชันใหม่หรือไม่ ทำวิจัยและทดสอบด้วยตนเองในเวอร์ชันเคอร์เนลใหม่ สถานการณ์ที่เลวร้ายยิ่งกว่ากรณีคุณสามารถบูตเป็นรุ่นเคอร์เนลก่อนหน้าและถอนการติดตั้งใหม่

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

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