Skip to main content

การคอมไพล์ Linux Kernel

บทนำ

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

ในบทนี้, เราจะเรียนรู้วิธีการดาวน์โหลดและคอมไพล์ Linux Kernel, การตั้งค่าคอนฟิก, และการติดตั้ง Kernel ใหม่บนระบบ Linux ของคุณ.

1. เตรียมการก่อนการคอมไพล์

1.1 ติดตั้งเครื่องมือที่จำเป็น

ก่อนที่จะเริ่มการคอมไพล์ Kernel, คุณจำเป็นต้องติดตั้งเครื่องมือที่จำเป็น เช่น gcc, make, และ libncurses-dev สำหรับการตั้งค่า kernel

# อัพเดตฐานข้อมูลแพ็คเกจ
sudo apt update

# ติดตั้งเครื่องมือที่จำเป็นสำหรับการคอมไพล์
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev bc

1.2 ตรวจสอบว่าระบบรองรับการคอมไพล์ Kernel

ตรวจสอบว่า CPU ของคุณรองรับการคอมไพล์โดยใช้คำสั่ง:

# ตรวจสอบว่าเครื่องมือ GCC ถูกติดตั้งแล้วหรือไม่
gcc --version

หากยังไม่ได้ติดตั้ง gcc, คุณสามารถติดตั้งโดยใช้คำสั่งด้านบน

2. ดาวน์โหลดซอร์สโค้ดของ Linux Kernel

2.1 ดาวน์โหลดจากเว็บไซต์ทางการ

คุณสามารถดาวน์โหลดซอร์สโค้ดล่าสุดของ Linux Kernel จากเว็บไซต์ทางการที่ kernel.org

# ดาวน์โหลดเวอร์ชันล่าสุด
wget https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-5.x.x.tar.xz

# แกะไฟล์ tar.xz
tar -xvf linux-5.x.x.tar.xz

# เปลี่ยนไปยังโฟลเดอร์ที่เก็บซอร์สโค้ด
cd linux-5.x.x

2.2 ดาวน์โหลดจาก Git

อีกวิธีหนึ่งที่สามารถทำได้คือการใช้ Git เพื่อดาวน์โหลดซอร์สโค้ด Linux Kernel

# ดาวน์โหลดซอร์สโค้ดโดยใช้ Git
git clone https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
cd linux

3. ตั้งค่าคอนฟิกของ Kernel

3.1 การใช้ค่าเริ่มต้น

หากคุณต้องการตั้งค่า Kernel โดยใช้ค่าเริ่มต้นที่เหมาะสมกับระบบของคุณ, คุณสามารถใช้คำสั่ง:

# ใช้คอนฟิกที่เหมาะสมกับระบบ
make defconfig

3.2 การปรับแต่งการตั้งค่าคอนฟิก

หากคุณต้องการปรับแต่งการตั้งค่าคอนฟิกของ Kernel, ใช้คำสั่ง:

# เปิดเครื่องมือกราฟิกสำหรับตั้งค่า Kernel
make menuconfig

หรือใช้คำสั่ง:

# เปิดเครื่องมือคอนฟิกแบบ GUI
make xconfig

3.3 การตั้งค่าคอนฟิกเฉพาะ

คุณสามารถตั้งค่า Kernel ให้รองรับฮาร์ดแวร์หรือฟีเจอร์ต่างๆ เช่น การสนับสนุนไฟล์ระบบเฉพาะหรือการจัดการกับอุปกรณ์เสริม:

# ตัวเลือกคอนฟิกเฉพาะ
make localmodconfig

4. การคอมไพล์ Kernel

4.1 คอมไพล์ Kernel

หลังจากที่ตั้งค่าคอนฟิกเสร็จแล้ว, คุณสามารถเริ่มการคอมไพล์ Kernel ด้วยคำสั่ง:

# คอมไพล์ Kernel
make -j$(nproc)

คำสั่ง -j$(nproc) จะช่วยให้การคอมไพล์ใช้ประโยชน์จากหลายคอร์ของ CPU โดยอัตโนมัติ

4.2 คอมไพล์โมดูล

หากคุณต้องการคอมไพล์โมดูลเฉพาะ, ใช้คำสั่ง:

# คอมไพล์โมดูล
make modules

4.3 ติดตั้งโมดูล

ติดตั้งโมดูลที่คอมไพล์แล้ว:

# ติดตั้งโมดูล
sudo make modules_install

4.4 คอมไพล์และติดตั้งบูทโหลดเดอร์

# คอมไพล์ Kernel
sudo make install

คำสั่งนี้จะคัดลอก Kernel ที่คอมไพล์แล้วไปยังโฟลเดอร์ /boot และติดตั้งบูทโหลดเดอร์

5. การติดตั้ง Kernel ใหม่

5.1 ติดตั้ง Kernel ใหม่

ติดตั้ง Kernel ใหม่ที่คอมไพล์เสร็จแล้วและรีบูตเครื่องเพื่อใช้ Kernel ใหม่:

# ติดตั้ง Kernel
sudo make install

# ติดตั้งโมดูล
sudo make modules_install

5.2 การอัปเดต Grub

หลังจากที่ติดตั้ง Kernel ใหม่แล้ว, คุณต้องอัปเดต GRUB เพื่อให้บูทเครื่องด้วย Kernel ที่ใหม่:

# อัปเดต GRUB
sudo update-grub

5.3 รีบูตเครื่อง

รีบูตเครื่องเพื่อเริ่มใช้งาน Kernel ใหม่:

# รีบูตเครื่อง
sudo reboot

6. การตรวจสอบ Kernel ที่ติดตั้ง

หลังจากการรีบูต, คุณสามารถตรวจสอบว่า Kernel ใหม่ถูกใช้งานหรือไม่โดยใช้คำสั่ง:

# ตรวจสอบ Kernel ที่ใช้งาน
uname -r

สรุป

การคอมไพล์ Linux Kernel ช่วยให้คุณสามารถสร้าง Kernel ที่เหมาะสมกับระบบและฮาร์ดแวร์ของคุณได้อย่างละเอียด การตั้งค่าคอนฟิกที่เหมาะสมจะช่วยให้คุณสามารถปรับแต่งระบบให้ตอบสนองความต้องการเฉพาะของคุณได้