วิธีคอมไพล์ Kernel 2.6.36.2 ใน Ubuntu ด้วยแพทช์ 200 บรรทัด

หลายท่านดูเหมือนจะมีปัญหาในการติดตั้งไฟล์ เคอร์เนลพรีคอมไพล์ด้วยแพตช์ 200 บรรทัด บนเครื่องของคุณสิ่งนี้เป็นสิ่งที่คาดหวังได้ดังนั้นจึงควรมีไฟล์ เมล็ด คอมไพล์โดยตรงในเครื่องของเรามากกว่าในเครื่องจากต่างประเทศดังนั้นจึงต้องใช้สถาปัตยกรรมของเครื่องของเราและการกำหนดค่าทั่วไปของฮาร์ดแวร์อย่างถูกต้อง

ด้วยเหตุนี้ฉันจึงสอนคนที่กล้าหาญที่สุดวิธีรวบรวมเคอร์เนลของตัวเอง (2.6.36.2) ใน Ubuntu (ทดสอบใน อูบุนตู 10.10) พร้อมกับแพทช์ 200 บรรทัดที่รวมอยู่ในนั้น โปรดจำไว้ว่ากระบวนการนี้ควรทำด้วยความเสี่ยงของคุณเองต้องใช้แพ็คเกจจำนวนมากในการดาวน์โหลดและใช้เวลารวบรวมค่อนข้างนาน

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

sudo apt-get ติดตั้ง fakeroot build-essential crash kexec-tools makedumpfile kernel-wedge kernel-package

ตอนนี้ให้ดำเนินการบรรทัดต่อไปนี้ในเทอร์มินัลซึ่งจำเป็นในการคอมไพล์เคอร์เนล (จาก กล้าหาญ)

sudo apt-get build-dep ลินุกซ์

เราจบขั้นตอนแรกนี้ด้วยการติดตั้งแพ็คเกจอื่น ๆ ที่จำเป็นสำหรับการคอมไพล์

sudo apt-get ติดตั้ง libncurses5 libncurses5-dev libelf-dev asciidoc binutils-dev

เพื่อดำเนินการติดตั้งเคอร์เนลต่อไปเราต้องดาวน์โหลดซอร์สของเคอร์เนลที่เสถียรล่าสุด (2.6.36.2) และแพตช์ ไมค์ galbraith และค้นหาภายในไดเรกทอรีส่วนตัวของเรา
มาสร้างไดเร็กทอรีสำหรับการคอมไพล์เคอร์เนลเราค้นหาตัวเองในนั้นและดาวน์โหลดแหล่งเคอร์เนลจาก kernel.org:

mkdir kernel-2.6.36.2 cd kernel-2.6.36.2 wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.36.2.tar.gz

ตอนนี้เราสร้างไฟล์ข้อความใหม่และเราจะคัดลอกรหัสที่เราจะพบในโพสต์ของ Mike Galbraith หรือเราสามารถดาวน์โหลดได้จาก MediaFire บันทึกและปิดไฟล์:

gedit ~ / autogroup.patch

โพสต์อย่างเป็นทางการของ Mike Galbraith
Mike Galbraith Patch จาก MediaFire

ตอนนี้เรากำลังจะคลายซิปเคอร์เนลที่เราเพิ่งดาวน์โหลดมา kernel.org:

tar xzvf linux-2.6.36.2.tar.gz cd linux-2.6.36.2 patch -p1 <~ / autogroup.patch

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

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

เราคัดลอกการกำหนดค่าโดยดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัลและหลังจากนั้นเราก็ดำเนินการ

lsmod

เพื่อให้โมดูลทั้งหมดที่โหลดในระบบของเราได้รับการดำเนินการและเราตรวจสอบให้แน่ใจว่าฮาร์ดแวร์ทั้งหมดของเราได้รับการยอมรับ

cp -vi / boot / config-`uname -r` .config ทำให้ localmodconfig

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

cp / boot / config - $ (uname -r) .config && ใช่ "" | ทำให้ oldconfig ทำ menuconfig

ตอนนี้เราสามารถเลือกแพตช์ที่เราต้องการเปิดใช้งานในเคอร์เนลของเราได้แล้วเนื่องจากเราสนใจแพตช์ 200 บรรทัด
ในการทำเช่นนี้เราไปที่เมนูการกำหนดค่าเคอร์เนลที่ปรากฏขึ้นจนถึง

General Setup

และเรามองหาบรรทัดที่มีชื่อ

Automatic process group scheduling

เราเปิดใช้งานได้โดยกดแป้นเว้นวรรคบนแป้นพิมพ์เราวางตำแหน่งตัวเองบนตัวเลือก

Exit

โดยใช้ปุ่มลูกศรบนแป้นพิมพ์และกดปุ่ม เข้าสู่ จากแป้นพิมพ์ของเราเพื่อออกจากเมนู

General Setup

.

การกำหนดค่าเคอร์เนล Linux - การตั้งค่าทั่วไป

การกำหนดค่าเคอร์เนลลินุกซ์ - การกำหนดกลุ่มกระบวนการอัตโนมัติ

ตอนนี้เราไปที่เมนู

Kernel hacking

และป้อนโดยการกดปุ่ม เข้าสู่เรามองหาตัวเลือก

Compile the kernel with debug info

และเรายกเลิกการเลือกโดยกดแป้นเว้นวรรคบนแป้นพิมพ์อีกครั้งเราไปที่ตัวเลือก

Exit

และเรากด เข้าสู่ เพื่อออกจากเมนูหลัก

การกำหนดค่าเคอร์เนล Linux - การแฮ็กเคอร์เนล

การกำหนดค่าเคอร์เนล Linux - ไม่มีการคอมไพล์เคอร์เนลด้วยข้อมูลการดีบัก

เรากำหนดค่าเคอร์เนลเสร็จแล้วดังนั้นเราจึงต้องกลับไปที่

Exit

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

ใช่แล้วเราจะรวบรวมเคอร์เนลโดยดำเนินการบรรทัดต่อไปนี้ในเทอร์มินัล:

fakeroot make-kpkg --initrd --append-to-version = -20101209 kernel-image kernel-headers

โปรดทราบว่าขั้นตอนการสร้างอาจแตกต่างกันไปขึ้นอยู่กับฮาร์ดแวร์ของคุณ

สิ่งนี้จะสร้างแพ็คเกจ. deb สองแพ็คเกจภายในไดเร็กทอรี kernel-2.6.36.2 ซึ่งเราจะใช้เพื่อติดตั้งเคอร์เนลใหม่ใน Ubuntu ของเราเพื่อให้สามารถติดตามได้โดย synaptic และถอดออกได้ง่าย

เรามาถึงส่วนสุดท้ายของบทช่วยสอนนี้ซึ่งเราจะติดตั้งและทดสอบการทำงานที่เหมาะสมของเคอร์เนลใหม่ที่เราเพิ่งติดตั้ง

ในการติดตั้งแพ็คเกจ. deb สองชุดที่เราเพิ่งสร้างขึ้นเราต้องดำเนินการคำสั่งต่อไปนี้ในเทอร์มินัล:

cd .. sudo dpkg -i * .deb

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

แมว /usr/src/linux-headers-2.6.36.2-20101219/.config | grep -i อัตโนมัติ

และมันต้องกลับบรรทัดดังนี้:

CONFIG_SCHED_AUTOGROUP = y

ถ้าเป็นเช่นนั้นเราให้ระบบของเราทำงานร่วมกับมัน เคอร์เนล 2.36.6.2 และ y "การตั้งเวลากลุ่มกระบวนการอัตโนมัติ" เปิดใช้งาน
Ubuntu 10.10 Maverick Meerkat พร้อม Kernel 2.6.36.2 และการตั้งเวลากลุ่มกระบวนการอัตโนมัติ

เราสามารถเน้น Ubuntu ได้สูงสุดแล้ว ...

คู่มือนี้มาถึงคุณด้วยความพยายามของ ฟรานโกเบป.


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   Horacio dijo

    สวัสดีเดวิด

    คำถามของฉันคือ:

    ฉันมักจะใช้เมล็ดของ ubuntu ppa (https://launchpad.net/~kernel-ppa/+archive/ppa)

    สิ่งเหล่านี้ไม่มาพร้อมกับแพทช์ 200 บรรทัดอีกต่อไป?

    ขอบคุณ

    1.    เดวิดโกเมซ dijo

      ดูฉันยังคงตรวจสอบเพื่อดูว่าเคอร์เนล Ubuntu PPA มีแพตช์รวมอยู่หรือไม่ แต่นี่เป็นเรื่องง่ายที่จะค้นหาด้วยตัวคุณเองเพียงแค่เรียกใช้คำสั่ง cat /usr/src/[versión del último kernel]/.config | grep -i AUTOGROUPซึ่งคุณจะเปลี่ยนข้อความภายในวงเล็บสำหรับเวอร์ชันของเคอร์เนลล่าสุดบนเครื่องของคุณ

      หากคุณได้รับข้อความตอบกลับเช่นนี้ CONFIG_SCHED_AUTOGROUP=yจากนั้นคุณได้ติดตั้งโปรแกรมแก้ไขแล้ว

      หมายเหตุ: หากต้องการทราบเวอร์ชันของเมล็ดทั้งหมดที่ติดตั้งในคอมพิวเตอร์ของคุณคุณต้องดำเนินการคำสั่ง ls /usr/src/ ในเทอร์มินัล

    2.    เดวิดโกเมซ dijo

      Horacio เคอร์เนล Ubuntu PPA ปัจจุบันมีแพทช์ V4 ของ ไมค์ glabraith ในคำพูดของตัวเขาเอง ทิมการ์ดเนอร์ (ผู้พัฒนาบัญญัติ).

      เรากำลังดำเนินการ V4 ของแพตช์ auto-cgroup ของ Mike Galbraith ตั้งแต่ 2.6.37-6.16 แต่ฉันคาดว่าจะเปลี่ยนไปตามคำแนะนำต้นน้ำเมื่อเราก้าวไปข้างหน้าในหน้าต่างผสาน 2.6.38

      sched: อัตโนมัติต่อกลุ่มงานเซสชัน V4

      RTG

      -
      ทิมการ์ดเนอร์

  2.   คานิโตะ dijo

    ฉันรวบรวมมันแล้วและติดตั้งแล้ว…. อย่างน้อยระบบก็ยังไม่ตายในตอนนี้เพื่อดูว่ามันทำงานอย่างไร

  3.   เออร์วิง dijo

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

    หมายเหตุ: ฉันทำการเปลี่ยนแปลงเพียงครั้งเดียวที่ฟังดูมีเหตุผลสำหรับฉันและมันอยู่ที่นี่:

    cp -vi / boot / config-`uname -r` .config
    ทำให้ localmodconfig

    ฉันทำแบบนี้:

    cp -vi / boot / config-`uname -r` .config
    lsmod
    ทำให้ localmodconfig

  4.   คานิโตะ dijo

    ตอนนี้ฉันรู้ว่าฉันทำผิดพลาดเล็กน้อยดังนั้นฉันจะติดตั้งใหม่ ... และเพิ่มการปรับเปลี่ยน irving : Mrgreen:

  5.   sergio dijo

    ฉันอยู่ที่จุดเริ่มต้น a:
    init: กระบวนการหลักที่ยังไม่ได้อ่าน (362) สิ้นสุดด้วยสถานะ 5
    ดูเหมือนว่าจะทำงานได้ดีอะไรจะเป็นไปได้ ??? '

  6.   ไบรอัน dijo

    คู่มือดีมากพวกเขายังโพสต์ไว้ใน taringa ในขณะนี้มันกำลังรวบรวมเคอร์เนลฉันหวังว่ามันจะไปได้ดีฉันแค่เปลี่ยนประเภทของโปรเซสเซอร์ใน menuconfig ฉันหวังว่าคุณจะเลือกได้ดีโดยการเลือก Intel core / ใหม่กว่า xeon เนื่องจากฉันมีโปรเซสเซอร์ intel core i3 คำทักทายและขอบคุณสำหรับอินพุต

  7.   Thedemon 007 dijo

    สวัสดีคำสั่งดูเหมือนจะดีกว่าสำหรับฉัน

    cp / boot / config-`uname –kernel-release` ./.config

    เนื่องจากใช้การกำหนดค่าเคอร์เนลล่าสุดที่ติดตั้ง

  8.   Darkwolf22 dijo

    สวัสดีคุณเป็นอย่างไรฉันมีข้อสงสัยเล็กน้อย ... ในไฟล์เคอร์เนลมีทั้งเวอร์ชัน 32 บิตและ 64 บิต? หรือจะดาวน์โหลดเวอร์ชัน amd64 ได้ฉันต้องดาวน์โหลดเวอร์ชันอื่นหรือไม่…โดยการหักคะแนนทั้งสองเวอร์ชันควรจะมาเหมือนกันใช่หรือไม่…คำอธิบายที่ดีมาก!

    ขอบคุณ!