โฮมเพจ » ทำอย่างไร » วิธีปรับแต่งเคอร์เนล Ubuntu ของคุณ

    วิธีปรับแต่งเคอร์เนล Ubuntu ของคุณ

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

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

    บทความนี้จะไม่อธิบายวิธีการแก้ไขเคอร์เนลของคุณเพียงแค่วิธีการปรับแต่งปัจจุบันของคุณ ฉันจะมีบทความติดตามอื่นที่อธิบายถึงวิธีการแก้ไขเคอร์เนลของคุณและเหตุผลบางประการที่คุณควรทำ.

    ในการเริ่มต้นเราจำเป็นต้องทราบว่าเคอร์เนลเวอร์ชันใดที่เรากำลังทำงานอยู่ เราจะใช้คำสั่ง uname สำหรับสิ่งนั้น

    $ uname -r

    2.6.17-10 ทั่วไป

    ตอนนี้เราจำเป็นต้องติดตั้งแหล่ง linux สำหรับเคอร์เนลของคุณโปรดทราบว่าฉันกำลังใช้เคอร์เนล 2.6.17-10 ดังนั้นบรรทัดตัวติดตั้งจะแสดงสิ่งนั้น สำหรับวัตถุประสงค์ของบทความนี้คุณสามารถแทนที่หมายเลขเคอร์เนลสำหรับสิ่งที่คุณกำลังเรียกใช้ เราต้องติดตั้งไลบรารี curses และเครื่องมืออื่น ๆ เพื่อช่วยในการรวบรวม.

    sudo apt-get install linux-source-2.6.17 เคอร์เนลแพคเกจ libncurses5-dev fakeroot

    หากคุณสงสัยว่าแหล่งที่มาของลินุกซ์ติดตั้งอยู่ที่ใดคุณสามารถใช้คำสั่ง dpkg เพื่อบอกไฟล์ภายในแพ็คเกจ นี่คือผลลัพธ์ในระบบของฉัน:

    $ dpkg -L linux-source-2.6.17
    /.
    / usr
    / usr / src
    /usr/src/linux-source-2.6.17.tar.bz2
    / usr / share
    / usr / share / doc
    /usr/share/doc/linux-source-2.6.17
    (ตัดแต่ง)

    เราจะเห็นว่าแหล่งที่ได้รับการติดตั้งในไดเรกทอรี / usr / src ในไฟล์ซิป.

    เพื่อให้ง่ายขึ้นเราจะทำให้ตัวเองอยู่ในโหมดรูทโดยการใช้ sudo เพื่อเปิดเปลือกใหม่ มีวิธีอื่นในการทำเช่นนี้ แต่ฉันชอบวิธีนี้มากกว่า.

    sudo / bin / bash

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

    cd / usr / src

    bunzip2 linux-source-2.6.17.tar.bz2

    tar xvf linux-source-2.6.17.tar

    ln -s linux-source-2.6.17 linux

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

    cp / boot / config-'uname -r '/usr/src/linux/.config

    ตอนนี้เราจะเปิดตัวยูทิลิตี้ที่จะให้เราปรับแต่งเคอร์เนล:

    cd / usr / src / linux

    ทำให้ menuconfig

    ขั้นแรกให้ลงไปที่โหลดไฟล์กำหนดค่าสำรองและโหลดไฟล์. config (เพิ่งกด Enter)

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

    วิทยุสมัครเล่นสนับสนุน? มีอะไรติดอยู่ในนั้นบ้าง? คุณจะสังเกตด้วย * ว่ามันติดตั้งไว้ในเคอร์เนล.

    โดยกดปุ่ม? สำคัญเราสามารถเห็นความช่วยเหลือสำหรับรายการนั้น นี่คือคำอธิบาย:

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

    เมื่อคุณเลือกตัวเลือกที่คุณต้องการเสร็จแล้วให้กด Exit แล้วบันทึกการกำหนดค่าเมื่อได้รับแจ้ง.

    ตอนนี้เรามีการกำหนดค่าที่พร้อมสำหรับการคอมไพล์แล้ว ก่อนอื่นเราจะทำความสะอาดให้เพื่อให้แน่ใจว่าทุกอย่างพร้อมสำหรับการคอมไพล์.

    make-kpkg สะอาด

    ต่อไปเราจะรวบรวมเคอร์เนลจริง การดำเนินการนี้จะใช้เวลานานเกินไปดังนั้นหาสิ่งที่น่าสนใจ.

    fakeroot make-kpkg -initrd -append-to-version = -custom kernel_image kernel_headers

    กระบวนการนี้จะสร้างไฟล์. deb สองไฟล์ใน / usr / src ที่มีเคอร์เนล ไฟล์ linux-image **** เป็นอิมเมจเคอร์เนลจริงและไฟล์อื่น ๆ ประกอบด้วยไฟล์คุณสามารถติดตั้งได้ทั้งคู่ด้วย dpkg ชื่อไฟล์อาจแตกต่างกันในระบบของคุณ.

    โปรดทราบว่าเมื่อคุณเรียกใช้คำสั่งต่อไปนี้สิ่งนี้จะตั้งเคอร์เนลใหม่เป็นเคอร์เนลเริ่มต้นใหม่ สิ่งนี้สามารถทำลายสิ่งต่าง ๆ ! หากเครื่องของคุณไม่บูตคุณสามารถกด Esc ที่เมนูการโหลด GRUB และเลือกเคอร์เนลเก่าของคุณ จากนั้นคุณสามารถปิดการใช้งานเคอร์เนลใน /boot/grub/menu.lst หรือลองและคอมไพล์อีกครั้ง.

    dpkg -i linux-image-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

    dpkg -i linux-headers-2.6.17.14-ubuntu1-custom_2.6.17.14-ubuntu1-custom-10.00.Custom_i386.deb

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

    uname -r

    2.6.17.14-Ubuntu1 กำหนดเอง

    ฉันวางแผนที่จะเขียนบทความเกี่ยวกับการปรับแต่งเคอร์เนลดังนั้นสมัครสมาชิกฟีด RSS เพื่อรับการอัปเดต.

    นอกจากนี้เพื่อประโยชน์ในการเปิดเผยอย่างเต็มรูปแบบฉันได้เรียนรู้วิธีการทำเช่นนี้จากบทความที่ HowtoForge ซึ่งเป็นเว็บไซต์ที่ยอดเยี่ยมสำหรับบทเรียนขั้นสูงบางอย่างใน linux คุณจะทราบว่าขั้นตอนต่าง ๆ ในบทความนี้มีความคล้ายคลึงกันแม้ว่าฉันจะพยายามทำให้บทความนี้เป็น“ Ubuntu”.