ค้นหาเว็บไซต์

วิธีการติดตั้งและคอมไพล์เคอร์เนลใน Debian


สิ่งที่ดึงดูดใจมากที่สุดอย่างหนึ่งในการใช้ Linux คือการปรับแต่งที่ง่ายดาย และหนึ่งในสิ่งที่สนุกที่สุดในการปรับแต่งก็คือ เคอร์เนล เอง ซึ่งเป็นหัวใจของระบบปฏิบัติการ Linux

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

เหตุผลบางประการเหล่านี้อาจเป็นความต้องการฮาร์ดแวร์พิเศษ ความปรารถนาที่จะสร้างเคอร์เนลขนาดใหญ่แทนเคอร์เนลแบบโมดูลาร์ การเพิ่มประสิทธิภาพเคอร์เนลโดยการลบไดรเวอร์ที่ไม่มีประโยชน์ การรันเคอร์เนลการพัฒนา หรือเพียงการเรียนรู้เพิ่มเติมเกี่ยวกับ Linux

ในกรณีนี้ เราจะรวบรวมเคอร์เนลที่เพิ่งเปิดตัวใหม่บนระบบ Debian ซึ่งมีคุณลักษณะใหม่หลายประการ เช่น ไดรเวอร์ใหม่สำหรับการ์ดกราฟิก และเสนอการปรับปรุงที่สำคัญให้กับระบบไฟล์

วิธีรวบรวมเคอร์เนลใน Debian

ในการเริ่มต้น เราจะต้องมีแพ็คเกจบางอย่าง ได้แก่ build-essential และ ส่วนหัวของเคอร์เนล

sudo apt update
sudo apt install build-essential linux-headers-$(uname -r)

ตอนนี้ เยี่ยมชมเว็บไซต์เคอร์เนลอย่างเป็นทางการเพื่อดาวน์โหลดเวอร์ชันเคอร์เนลที่ต้องการ หรือคุณสามารถใช้คำสั่งต่อไปนี้เพื่อดาวน์โหลดต้นฉบับได้โดยตรง

wget https://cdn.kernel.org/pub/linux/kernel/v6.x/linux-6.7.tar.xz
tar -xvf linux-6.7.tar.xz
cd linux-6.7/

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

cp /boot/config-`uname -r` .config

ในการเริ่มต้นด้วยกระบวนการกำหนดค่าจริง คุณมีหนึ่งในสองตัวเลือก

  1. หากคุณติดตั้ง X11 คุณสามารถเรียกใช้ make xconfig และมีเมนู GUI ที่ดีเพื่อช่วยเหลือคุณในการกำหนดค่า Kernel ของคุณ .
  2. หากคุณใช้งานในสภาพแวดล้อม CLI คุณสามารถเรียกใช้ make menuconfig ได้ แต่จะต้องติดตั้งแพ็คเกจ libncurses5-dev เพื่อใช้งาน

หากคุณกำลังใช้สภาพแวดล้อม cli ตรวจสอบให้แน่ใจว่าได้ติดตั้งแพ็คเกจ libncurses5-dev เพื่อเริ่มกระบวนการกำหนดค่าเคอร์เนลตามที่แสดง

apt install libncurses5-dev
make menuconfig

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

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

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

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

make
make modules_install
make install

เมื่อติดตั้งแล้ว คุณเพียง รีบูต และเลือกเคอร์เนลใหม่จากเมนู GRUB ของคุณ

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

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

uname -r

หากคุณต้องการดูรายการเคอร์เนลที่ติดตั้ง คุณสามารถตรวจสอบเนื้อหาของไดเรกทอรี /boot ได้:

ls /boot

ลบเคอร์เนลเก่าใน Debian

หากต้องการลบเคอร์เนลเก่าใน Debian ขั้นแรกคุณต้องแสดงรายการเคอร์เนลที่ติดตั้งเพื่อระบุเคอร์เนลที่คุณต้องการลบโดยใช้คำสั่ง dpkg

dpkg --list | grep linux-image

หากต้องการลบเคอร์เนลเก่า ให้ใช้คำสั่ง apt ต่อไปนี้ และตรวจสอบให้แน่ใจว่าได้แทนที่ linux-image-OLD_VERSION ด้วยหมายเลขเวอร์ชันของเคอร์เนลที่คุณต้องการลบ

sudo apt purge linux-image-OLD_VERSION

หลังจากลบเคอร์เนลเก่าแล้ว ให้อัพเดต GRUB เพื่อให้สอดคล้องกับการเปลี่ยนแปลง

update-grub

โดยสรุป การคอมไพล์เคอร์เนลใน Debian เป็นทักษะอันทรงคุณค่าที่ช่วยให้ผู้ใช้ปรับแต่งระบบปฏิบัติการให้ตรงตามความต้องการเฉพาะ โดยผสมผสานฟีเจอร์และการเพิ่มประสิทธิภาพล่าสุดเข้าด้วยกัน