14 ส.ค. 2553

How to: Compile Linux kernel 2.6 (Ubuntu 10.04)

1. ไปเอา kernel ที่ stable อันล่าสุดมา จากเวบ http://kernel.org/
$ cd /tmp
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.2.tar.bz2

2. แตกไพล์
# tar -xjvf linux-2.6.35.2.tar.bz2 -C /usr/src
# cd /usr/src/linux-2.6.35.2

3. Configure kernel
ก่อนที่จะ Compile จะต้องมี development tools ก่อน เช่น gcc compilers ถ้าไม่มีก็พิมพ์ตามข้างล่างนี้เลย (ใช้คำสั่ง whereis gcc เพื่อดูว่าติดตั้งรึยัง)
# apt-get install gcc

$ make menuconfig ความจริงมี 3 วิธีแต่ผมเลือกแบบ Text based เพราะผมไม่ได้ลง X windows ไว้

4. Compile kernel
เร่ิมการ compile ด้วยการสร้าง kernel image
$ make
$ make modules
# make modules_install

5. Install kernel
หลังจากที่ได้ compile kernel และได้ติดตั้ง Module แล้ว คราวนี้ก็มาถึงการติดตั้งตัว kernel เองด้วยคำสั่ง
# make install
โดยคำสั่งนี้จะติดตั้ง 3 File คือ
System.map-2.6.35.2
config-2.6.35.2
vmlinuz-2.6.35.2
ซึ่งเราจะต้องตามไป configure ที่ /boot directory เพื่อให้ระบบ boot ด้วย kernel อันใหม่

6. สร้าง initrd image
# cd /boot
# mkinitramfs -o initrd.img-2.6.235.2 2.6.35.2
ใน initrd images ประกอบด้วย device driver อันที่จำเป็นต้องใช้ในการ Load operating system ใช่ว่าทุกเครื่องจำเป็นต้องมี initrd แต่สร้างไว้ก่อนเพื่อความชัวร์

7. แก้ไข Grub configuration file - /boot/grub/menu.lst แก้ไขไพล์โดยใช้ nano:
# nano /boot/grub/menu.lst
title Debian GNU/Linux, kernel 2.6.35.2 Default
root (hd0,0)
kernel /boot/vmlinuz root=/dev/hdb1 ro
initrd /boot/initrd.img-2.6.35.2
savedefault
boot

ต้องระบุ Hd ให้ถูกตัว เสร็จแล้วก็ Save ถ้าขี้เกียจก็พิมพ์ตามข้างบนก็ให้พิมพ์แค่นี้พอ
# update-grub

8. Reboot เครื่อง เพื่อจะได้ใช้ Kernel อันใหม่
# reboot

http://www.cyberciti.biz/tips/compiling-linux-kernel-26.html

1 ความคิดเห็น:

  1. ลองทำตามดูแล้ว ได้ผลดีมากเลยครับ ขอบคุณมากๆครับ...

    ตอบลบ