สวัสดีครับทุกท่าน บทความนี้จะพาทุกท่านไปคอมไพเลอร์ KernelCompile Kernel จากโค้ดต้นฉบับกัน ปกติแล้วลินุกซ์ดิสโทรต่าง ๆ จะมาพร้อมกับลินุกซ์ Kernel อยู่แล้ว (Linux Kernel)
แต่ถ้าคุณเป็นนักพัฒนาต้องการปรับแต่งลินุกซ์ Kernel เพื่อให้รองรับ Hardware และตัดองค์ประกอบที่ไม่ต้องการออกไป ทำให้ระบบเสถียรยิ่งขึ้น หรือต้องการเขียน Module ให้ทำงานให้เร็วยิ่งขึ้น หรือต้องการเรียนรู้การทำงานของลินุกซ์ Kernel
ต้องติดตั้ง ncurses ก่อนครับ
สำหรับ Debian , Ubuntu
sudo apt-get install libncurses5-dev
สำหรับ fedora
sudo yum install ncurses-devel # if you use sudo
su -c yum install ncurses-devel # if you use su
สำหรับ opensuse
http://bit.ly/1yGMeUe
Compile Linux Kernel แล้วเปลี่ยนมาใช้แล้วพัง
ให้ใช้ Live CD ในการไปแก้ไขระบบให้กลับมาใช้ Linux Kernel เดิมครับ
สำหรับใครอยากลองฝึกฝน kernel modules เพิ่มเติม แนะนำให้เข้าไปที่ https://github.com/usrbinnc/netcat-cpi-kernel-module วง netcat ได้อออกอัลบั้มที่ชื่อว่า "Cycles Per Instruction" แต่ถ้าใครอยากฟังต้องโหลด kernel modules ตัวที่ปล่อยอยู่ใน github มาคอมไฟล์โหลดเข้า Kernel จะไปอยู่ใน /dev/netcat และสั่งเล่นได้โดยใช้คำสั่ง ogg123 - < /dev/netcat สเปคเครื่องต้องแรง ๆ หน่อยนะครับ
ขอบคุณครับ :)
แต่ถ้าคุณเป็นนักพัฒนาต้องการปรับแต่งลินุกซ์ Kernel เพื่อให้รองรับ Hardware และตัดองค์ประกอบที่ไม่ต้องการออกไป ทำให้ระบบเสถียรยิ่งขึ้น หรือต้องการเขียน Module ให้ทำงานให้เร็วยิ่งขึ้น หรือต้องการเรียนรู้การทำงานของลินุกซ์ Kernel
- โหลดโค้ดต้นฉบับ Linux Kernel จากเว็บ kernel.org
- คลายชิปโค้ดของ Linux Kernel
- แล้วใช้คำสั่ง cd เข้าไปในโฟล์เดอร์
- ใช้คำสั่ง
# make menuconfig
ก็จะพบหน้านี้ครับ ให้ผู้อ่านไล่ปรับแต่งลินุกซ์ Kernel ตามที่ต้องการเลยครับ - หลังจากที่ปรับแต่งเสร็จก็เริ่มลงมือ make ทั้งหมดโดยใช้คำสั่ง
# make
ถ้าคอมไพเลอร์ kernel modules# make modules
ใช้เวลานานประมาณ 2 -3 ชั่วโมงเลยครับ -_-" ขึ้นอยู่กับสเปคของเครื่อง - ติดตั้ง kernel modules
# make modules_install - ติดตั้ง Kernel ที่สร้างขึ้น
คำเตือน โดยใช้ความระวังอย่างสูงในขั้นตอนนี้ อย่าให้ไฟตกหรือไฟดับ!!!# make install
- พอติดตั้งลินุกซ์ Kernel อันใหม่แล้วถึงเวลารีบูตเครื่องใหม่ครับ ^_^ โดยใช้คำสั่ง
# reboot
- เช็คว่าลินุกซ์ที่ใช้เป็นลินุกซ์ Kernel อันใหม่หรือไม่ ให้ใช้คำสั่ง
uname -r
# cd /usr/src/
# wget https://www.kernel.org/pub/linux/kernel/v3.x/linux-3.15.1.tar.xz
#tar -xvJf linux-3.15.1.tar.xz
# cd linux-3.15.1
ปัญหาที่พบในการ Compile Linux Kernel
ไม่พบncursesต้องติดตั้ง ncurses ก่อนครับ
สำหรับ Debian , Ubuntu
sudo apt-get install libncurses5-dev
สำหรับ fedora
sudo yum install ncurses-devel # if you use sudo
su -c yum install ncurses-devel # if you use su
สำหรับ opensuse
http://bit.ly/1yGMeUe
Compile Linux Kernel แล้วเปลี่ยนมาใช้แล้วพัง
ให้ใช้ Live CD ในการไปแก้ไขระบบให้กลับมาใช้ Linux Kernel เดิมครับ
สำหรับใครอยากลองฝึกฝน kernel modules เพิ่มเติม แนะนำให้เข้าไปที่ https://github.com/usrbinnc/netcat-cpi-kernel-module วง netcat ได้อออกอัลบั้มที่ชื่อว่า "Cycles Per Instruction" แต่ถ้าใครอยากฟังต้องโหลด kernel modules ตัวที่ปล่อยอยู่ใน github มาคอมไฟล์โหลดเข้า Kernel จะไปอยู่ใน /dev/netcat และสั่งเล่นได้โดยใช้คำสั่ง ogg123 - < /dev/netcat สเปคเครื่องต้องแรง ๆ หน่อยนะครับ
ขอบคุณครับ :)
ความคิดเห็น
แสดงความคิดเห็น