Compile Kernel trên Ubuntu

Trên Ubuntu, việc compile kernel của Ubuntu hơi khác một chút so với cách làm thông thường. Nguyên nhân là do cách quản lí kernel sau khi modify lại của Ubuntu. Có hai cách lấy source kernel của Ubuntu, cách thứ nhất là dùng apt-get, cách thứ hai là dùng git. Với cách thứ hai, kernel lấy về có phiên bản thường mới hơn là cách thứ nhất, nguyên nhân do cách thứ hai là ta lấy trực tiếp từ kernel đang phát triển của Ubuntu.

1. Chuẩn bị “đồ nghề” để compile trên Ubuntu

sudo apt-get install build-essential libncurses5-dev kernel-package

2. Lấy source kernel
Bằng apt-get

sudo apt-get install linux-source-2.6

Bằng git

sudo apt-get install git-core
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-feisty.git ubuntu-feisty

Chạy xong lệnh này, trong thư mục hiện tại sẽ xuất hiện thư mục ubuntu-feisty. CD vào thư mục ubuntu-feisty và

git pull

để update git.

Sau đó là compile bình thường.
Compile xong, ta cần thực hiện ba thao tác nữa

1. Chạy lệnh mkinitramfs để tạo initrd image cho kernel. Ví dụ với kernel 2.6.20.3-ubuntu1:

mkinitramfs -o /boot/initrd.img-2.6.20.3-ubuntu1 2.6.20.3-ubuntu1

2. Chạy lệnh update-grub để update grub menu list.
3. Edit file /boot/grub/menu.lst, thêm dòng

initrd /boot/initrd.img-2.6.20.3-ubuntu1

vào dưới dòng “kernel …” của “title … Default”

Khởi động lại máy.

Reference:

Ubuntu Kernel Git Guide

Ubuntu Kernel Custom Guide

Ubuntu Kernel Maintenance Feisty

TODO: Tìm hiểu cơ chế quản lí kernel của Ubuntu.

Đông Thao

About dongthao

The best things in life, they are free ... (Cry on my shoulder lyric)
This entry was posted in Linux, Linux Troubleshoot, Linux Tutorial. Bookmark the permalink.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s