Ý tưởng biên dịch kernel (nhân hệ điều hành) của riêng người dùng đã đánh đòn tâm lý cho những người mới sử dụng Linux. Việc xây dựng phần quan trọng nhất của hệ thống từ đầu nghe có vẻ đáng sợ. Tuy nhiên, thực tế việc xây dựng Linux kernel rất dễ.
Việc xây dựng các Linux kernel không yêu cầu lập trình. Một số lập trình viên giỏi nhất thế giới đã viết tất cả các code rồi. Bạn chỉ cần chọn những tính năng mà bạn muốn và ghép chúng lại với nhau.
- Cách kích hoạt chế độ tự động cập nhật hệ thống trên Ubuntu
- Hiển thị địa chỉ IP trên khay hệ thống trên Ubuntu
- Mới sử dụng Linux nên dùng distro nào?
Tải các Dependency
Trước khi dùng một kernel, bạn cần sử dụng các công cụ thích hợp để xây dựng nó. Sử dụng Apt để tải Dependency xuống từ các kho của Ubuntu.
sudo apt install install git build-essential kernel-package fakeroot libncurses5-dev libssl-dev ccache
Tải kernel source
Giờ thì bạn có thể lấy nguồn mà bạn muốn xây dựng. Tất cả các kernel đều có sẵn trên kho Linux chính thức. Bạn có thể xem các phiên bản ổn định mới nhất trong kho chứa git của chúng. Vào thời điểm này, phiên bản mới nhất là 4.11. Phiên bản này được liệt kê dưới dạng linux-4.11.y và nó sẽ được sao chép với lệnh dưới đây.
cd ~
mkdir kernelbuild
cd kernelbuild
git clone -b linux-4.11.y git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git
Sẽ mất một lúc để nhân bản kernel nên hãy kiên nhẫn nhé.
Thiết lập để xây dựng kernel
Bắt đầu thiết lập bằng cách thay đổi thư mục vào một thư mục nhân bản mới. Sau đó, coppy cấu hình kernel hiện tại vào đó.
cd linux-stable
cp /boot/config-‘uname -r’ .config
Bây giờ bạn cần điều chỉnh cấu hình cũ cho kernel mới.
yes ” | make oldconfig
Thông thường, tập lệnh sẽ hỏi bạn muốn làm gì với các tính năng mới thì hãy chấp nhận các mặc định nhé. Nếu bạn muốn được hỏi, chỉ cần sử dụng make oldconfig.
Cấu hình kernel
Bạn có thể để cấu hình mặc định. Tuy nhiên, nếu bạn không tùy chỉnh, sẽ không có điểm nào trong việc xây dựng custom kernel.
Để tùy chỉnh cấu hình, mở make menuconfig.
Một menu màu xanh sẽ mở ra với một danh sách các đề mục. Những đề mục này chứa các tính năng mà bạn có thể chọn để xây dựng thành kernel riêng.
Ví dụ, nếu bạn thực sự muốn xây dựng hỗ trợ trực tiếp cho hệ thống file BTRFS vào kernel và kích hoạt các tính năng khác, bạn có thể vào “File systems ->“. Sau đó cuộn xuống tới khi thấy “Btrfs filesystem support“. Chọn tùy chọn mà bạn muốn và nhấn phím Space. Thanh Space tuần hoàn giữa “M“, “*” và tập rỗng. “M” biểu thị tính năng được xây dựng như một mô-đun sẽ được tải khi Ubuntu khởi động nếu cần thiết. “*” nghĩa là tính năng này sẽ được xây dựng thành kernel và luôn luôn được tải. Tập chọn không bao gồm các tùy chọn trống trong thành phẩm cuối cùng.
Khi đã hoàn thành thiết lập, hãy dọn dẹp thư mục
make clean
Giờ thì kernel của bạn đã sẵn sàng để dựng
Dựng các gói kernel
Ubuntu sử dụng một phương pháp để xây dựng các kernel của nó, tuy nhiên nó buộc người dùng phải sử dụng các tập chọn được viết cho các phiên bản cũ hơn. Vì vậy, tốt hơn hết là sử dụng các phương pháp Linux chung với GNU make.
make -j ‘getconf _NPROCESSORS_ONLN’ deb-pkg LOCALVERSION=-custom
Dòng in đậm bên trên là để biên dịch kernel thành các gói into .deb bằng cách sử dụng lượng lớn các lõi CPU trên hệ thống. Nó cũng thêm “custom” vào cuối phiên bản package để phân việt custom kernel của bạn với những cái khác.
Lưu ý: Sẽ mất hàng giờ để biên dịch một kernel. Vì thế hãy kiên nhẫn nhé.
Cài đặt kernel
Bạn sẽ tìm thấy các gói kernel trên một thư mục. Chúng rất dễ dàng nhận biết bằng số phiên bản. Bạn có thể sử dụng dpkg để cài đặt.
cd ..
sudo dpkg -i linux-firmware-image-4.11.1-custom_4.11.1-custom-1_amd64.deb
sudo dpkg -i linux-libc-dev_4.11.1-custom-1_amd64.deb
sudo dpkg -i linux-headers-4.11.1-custom_4.11.1-custom-1_amd64.deb
sudo dpkg -i linux-image-4.11.1-custom-dbg_4.11.1-custom-1_amd64.deb
sudo dpkg -i linux-image-4.11.1-custom_4.11.1-custom-1_amd64.deb
Khi quá trình cài đặt kết thúc, hãy khởi động lại máy tính của bạn. Ubuntu sẽ tự khởi động vào kernel mới của bạn. Bạn có thể kiểm tra lại xem nó đã hoạt động chưa bằng cách chạy trong một thiết bị đầu cuối khi nó khởi động. Nếu bạn đã thấy phiên bản của mình thì xin chúc mừng. Bạn đang chạy custom kernel của riêng mình rồi đấy.
Chúc các bạn thành công!
- Làm thế nào để biến trang web thành ứng dụng trên Linux?
- Những ứng dụng xóa phông nền ảnh “ảo diệu” bạn nên thử
- Cập nhật Linux kernel trên Ubuntu thông qua UKUU
- Tải Ubuntu ngay trong Windows Store thôi anh em
- Microsoft sẽ đưa những Linux distro nào vào Windows 10?
- 5 ứng dụng remote desktop tốt nhất cho Linux giúp truy cập máy tính từ xa