Ý 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. 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!