ทำไมต้อง Compile Kernel FreeBSD ?
- เพื่อให้รีดประสิทธิภาพของเครื่องและของระบบออกมาทำงานได้อย่างเต็มที่
- เพื่อปรับแต่งระบบให้เป็นไปตามที่ต้องการ
- เพื่อให้ support hardware เพิ่มเติมได้
เข้าไปยังโฟลเดอร์ conf ของ kernel
# cd /usr/src/sys/amd64/confตรง amd64 เป็น arch คือ architecture ของเครื่องผมครับ หากผู้อ่านใช้ arch ให้เปลี่ยนครับ เช่น i386, alpha, amd64, ia64, powerpc, sparc64, และ pc98
ต่อมาสร้างโฟลเดอร์สำหรับเก็บ kernel ใหม่ในโฟลเดอร์ home ของ root
# mkdir /root/kernelsสร้างลิงค์ย่อใน /usr/src/sys/amd64/conf ชื่อว่า MYKERNEL โดยลิงค์ไปยัง /root/kernels/MYKERNEL
# cp GENERIC /root/kernels/MYKERNELเข้าไปยังโฟลเดอร์ที่สร้าง
# ln -s /root/kernels/MYKERNEL
# cd /root/kernels/แก้ไขไฟล์ "MYKERNEL" และทำการเปลี่ยนแปลงต่อไปนี้ บรรทัดนี้ช่วยให้เราสร้าง kernel ใหม่ซึ่งเป็นชุดคำสั่งของ kernel ทั่วไปและคุณสมบัติพิเศษที่เพิ่ม บรรทัดต่อไปนี้มีคุณสมบัติที่มีอยู่ใน kernel ทั่วไป
include GENERICบรรทัดเพิ่มเติมอื่น ๆ ระบุคุณลักษณะที่ถูกเพิ่มใน kernel ที่จะสร้าง
ตัวอย่าง
cpu HAMMERสร้างแฟ้มที่ประกอบด้วยตัวเลือกทั้งหมดที่มี ใช้คำสั่ง
ident GENERIC
makeoptions DEBUG=-g # Build kernel with gdb(1) debug symbols
makeoptions WITH_CTF=1 # Run ctfconvert(1) for DTrace support
options SCHED_ULE # ULE scheduler
options PREEMPTION # Enable kernel thread preemption
options INET # InterNETworking
options INET6 # IPv6 communications protocols
options TCP_OFFLOAD # TCP offload
options SCTP # Stream Control Transmission Protocol
options FFS # Berkeley Fast Filesystem
options SOFTUPDATES # Enable FFS soft updates support
options UFS_ACL # Support for access control lists
options UFS_DIRHASH # Improve performance on big directories
options UFS_GJOURNAL # Enable gjournal-based UFS journaling
options QUOTA # Enable disk quotas for UFS
options MD_ROOT # MD is a potential root device
# cd /usr/src/sys/amd64/confเข้าไปยังโฟลเดอร์หลัก soure
# make LINT
# cd /usr/srcสร้าง และติดตั้ง kernel FreeBSD ใหม่ โดยอ้างอิงจากไฟล์ "MYKERNEL"
# make buildkernel KERNCONF=MYKERNELรีบูตระบบ แค่นี้เราก็ได้ kernel FreeBSD ใหม่ที่เราสร้างเองแล้วครับ
# make installkernel KERNCONF=MYKERNEL
ขอบคุณครับ
ไม่มีความคิดเห็น:
แสดงความคิดเห็น