30 พฤศจิกายน 2557

การ compile และ install kernel ของ FreeBSD

บทความนี้จะพาผู้อ่านไป การ compile และ install kernel ของ FreeBSD กันครับ

ทำไมต้อง Compile Kernel FreeBSD ?

  • เพื่อให้รีดประสิทธิภาพของเครื่องและของระบบออกมาทำงานได้อย่างเต็มที่
  • เพื่อปรับแต่งระบบให้เป็นไปตามที่ต้องการ
  • เพื่อให้ support hardware เพิ่มเติมได้
เรามาเริ่มการ Compile Kernel FreeBSD กันเลยครับ
เข้าไปยังโฟลเดอร์ 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
# make LINT
เข้าไปยังโฟลเดอร์หลัก soure
# cd /usr/src
สร้าง และติดตั้ง kernel FreeBSD ใหม่ โดยอ้างอิงจากไฟล์ "MYKERNEL"
# make buildkernel KERNCONF=MYKERNEL
# make installkernel KERNCONF=MYKERNEL
รีบูตระบบ แค่นี้เราก็ได้ kernel FreeBSD ใหม่ที่เราสร้างเองแล้วครับ
ขอบคุณครับ

ไม่มีความคิดเห็น:

แสดงความคิดเห็น