Biên dịch kernel - nhân Kali Linux - Thekalitools.com

Tuesday, February 14, 2017

Biên dịch kernel - nhân Kali Linux


Kernel là gì? Tại sao phải biên dịch Kernel?

Kernel là gì? Kernel hay nhân hệ điều hành, là sương sống của hệ điều hành. Kernel có nhiệm vụ quản lý giao tiếp giữa phần cứng và phần mềm.
Kernel là gì?
Kali Linux cũng là hệ điều hành và tức nhiên là nó cũng phải có kernel, do phát triển từ Debian và Debian thì lại thuộc GNU/Linux nên Kali Linux cũng được thừa hưởng từ cha.
Trang chủ: kernel.org

Tại sao phải biên dịch lại kernel? Như đã nói ở trên, kernel đóng vai trò giao tiếp giữa phần mềm và phần cứng, và được hỗ trợ trên rất nhiều loại phần cứng vì vậy sẽ được tích hợp rất nhiều những driver không cần thiết trong kernel gốc. Việc biên dịch kernel cho phép ta loại bỏ cũng như thêm vào những tính năng mà ta thấy cần thiết, tối ưu cho một loại phần cứng nhất định (ở đây là máy tính của bạn).

Tóm lại việc này giúp cho máy tính Kali Linux của bạn khởi động nhanh hơn, chạy nhanh hơn, mượt mà hơn thay vì phải tự hỏi tại sao Kali Linux lại chậm và giật hơn Windows (mình đã từng hỏi câu này). Vậy còn chần chừ gì nữa mà không bắt đầu!



Cài đặt các gói hỗ trợ:

# apt update
# apt install build-essential libncurses5-dev fakeroot unxz
Lệnh này sẽ cài đặt các package cần thiết cho quá trình biên dịch. Gồm 4 package build-essential, libncurses5-dev, fakeroot và unxz. Có một số đã sẽ nhận được thông báo Unable to locate package unxz do đã cài đặt unxz rồi, mặc kệ ta bỏ qua nhé

Download mã nguồn kernel Kali Linux:

# apt install linux-source-4.9
Ở bài này mình sẽ hướng dẫn Kernel 4.9, ngoài ra còn 2 phiên bản linux-source khác là 4.0 và 3.18, bạn cũng có thể thay 4.9 thành phiên bản kernel bạn muốn biên dịch.
Tập tin mã nguồn sẽ được lưu ở thư mục /usr/src/ tên linux-source-4.9.tar.xz
Tiếp theo ta tạo thư mục để giải nén nó ra và bắt đầu cấu hình.
# mkdir ~/kernel # cd ~/kernel
Tiến hành giải nén:
# tar -xaf /usr/src/linux-source-4.9.tar.xz
Chuyên vào thư mục vừa giải nén:
# cd linux-source-4.9

Cấu hình Kernel:

Trước khi cấu hình ta hãy lấy cấu hình hiện tại để làm gốc (chép tập tin cấu hình qua):
# cp /boot/config-4.9.0-kali1-amd64 .config 
Bắt đầu cấu hình, ta có thể dùng một trong các lệnh sau:
# make config //cấu hình bằng cách trả lời các câu hỏi trên Terminal.
# make menuconfig //cấu hình bằng menu trên Terminal.
# make xconfig //cấu hình trên giao diện GUI.
Để sử dụng xconfig ta cần cài thêm một số gói hỗ trợ:
# apt install libqt4-dev pkg-config
Sau khi cấu hình xong, ta lưu lại rồi thoát cửa sổ cấu hình (nếu có).

Biên dịch Kernel:

# make clean
Lệnh này sẽ dọn dẹp hệ thống bạn.
# make deb-pkg LOCALVERSION=-custom KDEB_PKGVERSION=$(make kernelversion)-1
Lệnh này sẽ bắt đầu quá trình biên dịch Kernel, các phần màu xanh lam bạn có thể thay đổi tùy ý để đặt tên cho kernel của riêng bạn.
Lưu ý: Quá trình này có thể mất trung bình khoảng 5 tiếng (tùy vào cấu hình máy của bạn) và chiếm dụng rất nhiều tài nguyên, vì vậy mình khuyến cáo nên thực hiện khi nghỉ.

Cài đặt Kernel:

Sau khi biên dịch xong hệ thống sẽ xuất ra các gói cài đặt .deb nằm cùng thư mục làm việc, bạn hãy cài đặt tất cả bằng lệnh này:
# dpkg -i *.deb
Sau đó reboot:
# reboot

No comments:

Post a Comment