HuuTuan .Info

Chia sẻ ATTT - CNTT - Đồ họa

Hướng dẫn biên dịch nhân Linux - Compiling the Linux kernel





Tại sao phải biên dịch kernel mới mà không dùng kernel có sẵn của bản phân phối đang dùng? Trả lời đơn giản là thích thế, phức tạp hơn là khi biên dịch kernel mới cho hệ thống, bạn có thể loại bỏ những modules không cần thiết, giúp hệ thống khởi động nhanh hơn và bảo bật hơn và đặc biệt bạn luôn luôn sử dụng phiên bản mới nhất với những cập nhật về bảo mật cũng như hỗ trợ phần cứng tốt hơn.


Tuy nhiên trước khi bắt tay vào biên dịch lại kernel bạn nên hiểu rõ về phần cứng hệ thống của bạn.
-Biên dịch kernel thật ra rất đơn giản, khó nhất như đã nói ở trên chính là sự hiểu biết của bạn về phần cứng bạn đang dùng


Cách thực hiện
ü  Cài đặt các gói phát triển
$ sudo yum group install "Development Tools"
$ sudo yum install ncurses-devel bison flex elfutils-libelf-devel openssl-devel
ü  Cài đặt gcc
$ sudo yum install gcc*
ü  Thực hiện:
$  cd /var/tmp
ü  Download gói tin
$ wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.30.tar.bz2
ü  Di chuyển đến /usr/src
$ cd /usr/src
ü  Giải nén file
$ tar jxvf /var/tmp/linux-2.6.30.tar.bz2
ü Chuyển đến thư mục đã giải nén
$ cd linux-2.6.30
ü  Khi file được giải nén ta có thể tạo tệp cấu hình kernel với ‘make menuconfig’:
$ make menuconfig
ü Nếu có  kernel trước đó, chạy ‘tạo mrproper, để dọn sạch các tệp cấu hình và đối tượng cũ:
$ make mrproper
ü  Configure the Linux kernel and modules:
$ cp -v /boot/config-$(uname -r) .config
ü  Tạo tệp cấu hình kernel với ‘make menuconfig’:
$ make menuconfig


Hình 1. Menuconfig

ü  Compile Linux Kernel
$ make
Hoặc sử dụng các tùy chọn sau để tăng tốc độ:
## user 4 core/thread ##
$ make -j4
## get thread or cpu core count using nproc command ##
$ make -j $(nproc)
ü  Install Linux kernel modules:
$ make bzImage
$ make modules
$ sudo make modules_install
$ sudo make install

Nếu quá trình xảy ra lỗi bạn có thể sử dụng cách sau:

cp arch/x86/boot/bzImage /boot/vmlinuz-2.6.30
cp System.map /boot/System.map-2.6.30
cp .config /boot/config-2.6.30

Ta có thể  xem chi tiết bằng các lệnh bên dưới

$ grubby --info=ALL | more
$ grubby --default-kernel
ü Reboot và kiểm tra lại , ta được kết quả như hình bên dưới:
$ uname -rps




0 Response to "Hướng dẫn biên dịch nhân Linux - Compiling the Linux kernel"

Post a Comment

Nội Quy Khi Comment:
» Các bài comment phải nghiêm túc, không dung tục, không spam.
» Nội dung phải liên quan tới chủ đề bài viết.
» Những nhận xét spam sẽ bị xóa.
» Sử dụng tài khoản Google để được trợ giúp.
» Nặc danh thường không được chào đón.
Note : Hãy để lại nhận xét bên dưới bạn nhé !

Quảng Cáo TOP

Quảng Cáo TOP 1

Quảng Cáo TOP 2

Quảng Cáo TOP