Thursday, December 20, 2007

Compile Kernel

การ Compile kernel คือการทำให้ระบบปฏิบัติการของเราทำงานภายใต้สภาวะแวดล้อมของ hardware ที่มีอยู่ให้เกิดประสิทธภาพมากที่สุด และทำให้การบูตทำงานได้เร็วขึ้น ใช้ memory น้อย และเราสามารถที่จะทำให้ระบบปฏิบัติการของเรารองรับการทำงานกับ Hardware ใหม่ ๆ ได้ด้วย

การ Compile kernel ด้วยวิธีนี้น่าจะใช้ได้กับ FreeBSD ทุก ๆ เวอร์ชั่นนะครับ เพราะผมลองบน FreeBSD5.4 จนมาถึง FreeBSD6.2 ก็ยังใช้วิธีนี้ได้อยู่ ขั้นตอนการ Compile kernel มีดังนี้ครับ

Step 1. ที่ FreeBSD Server ทำการ Login ด้วย root นะครับ

Step 2. #cd /usr/src/sys/i386/conf (Step นี้หากไม่มี Floder ตามนี้ให้ดูวิธีแก้ปัญหาได้ที่นี้)

Step 3. #cp GENERIC MYKERNEL (เมื่อ GENERIC คือ Defualt kernel ที่ระบบติดตั้งมาให้ และ MYKERNEL คือ kernel ที่เราจะ compile ขึ้นมาใหม่)

Step 4. #vi MYKERNEL
  • หาบรรทัดที่เขียนว่า ident GENERIC แล้วให้แก้เป็น ident MYKERNEL
  • เพื่ม Options ต่าง ๆ ตามใจชอบ ต่อท้ายในส่วนของ Options
  • ทำการบันทึกไฟล์
Step 5. #config MYKERNEL

Step 6. #cd ../compile/MYKERNEL

Step 7. # make depend; make; make install
เคาะ enter ครั้งหนึ่ง จากนั้นก็รอ(ต้มมาม่ากินรอ)จนกว่าระบบจะ compile เสร็จ แล้วรีสตาร์ทระบบด้วยคำสั่ง reboot นะครับ

Step 8. หลังจาก reboot เข้ามาแล้วให้ตรวจสอบว่าได้ Kernel ตัวใหม่ขึ้นมาทำงานแล้วยัง คำสั่งที่ใช้ตรวจสอบคือ uname -a
  • FreeBSD yourhostname.yourdomainname 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Thu Dec 20 12:01:20 ICT 2007 root@yourhostname.yourdomainname:/usr/src/sys/i386/compile/MYKERNEL i386 (หลังจาก Compile)
  • FreeBSD yourhostname.yourdomainname 6.2-RELEASE FreeBSD 6.2-RELEASE #0: Thu Dec 20 12:01:20 ICT 2007 root@yourhostname.yourdomainname:/usr/src/sys/i386/compile/GENERIC i386 (ก่อน Compile)
แนะนำว่าก่อนทำการ Compile ให้ใช้คำส่ง uname -a ตรวจสอบดูก่อน หลังจากทำ Step 1-7 เสร็จค่อยสั่ง uname -a ดูอีกครั้งจะเห็นความแตกต่าง จุดสังเกตให้เราสังเกตที่คำว่า GENERIC จะเปลี่ยนเป็น MYKERNEL นั่นหมายถึงเราได้ Kernel ตัวใหม่ขึ้นมาใช้แล้ว ลองทำดูนะครับ...

No comments: