– 14 –
6.5 Dùng "config" nào thì thích hợp?
Cấu hình biên dịch nhân Linux đơn giản là một "text file" chứa các biến với giá trị Y
(Yes), N (No) hoặc M (Module). Các giá trị này được xử dụng trong quá trình biên dịch;
chúng dùng để xác định những gì không được biên dịch, những gì được biên dịch và nếu
được biên dịch thì sẽ theo dạng nào.
Tùy vào cách sắp xếp của mỗi bản phân phối Linux, cấu hình biên dịch nhân Linux
nằm nhiều nơi khác nhau. Hồ sơ cấu hình theo mặc định của "vanilla" kernel nằm ở
./arch/i386/defconfig
(nếu dùng dòng phần cứng IA32 nói chung), các hồ sơ cấu hình
khác cho những dòng phần cứng khác nằm ở ./arch/$ARCH/defconfig; trong đó
$ARCH
là dòng phần cứng của máy. Nếu dùng cấu hình mặc định, không chỉnh sửa thì nhân sẽ
được tái biên dịch trọn bộ theo giá trị mặc định và chắc hẳn, nhân này sẽ không thích hợp
cho bạn (ngay cả nếu nó được biên dịch thành công). Điều này đi ngược lại mục đích cần
biên dịch lại nhân Linux ngay từ đầu. Bạn có thể dùng hồ sơ cấu hình này để khởi đầu
và chỉnh sửa giá trị cho thích hợp. Đây là một bước rất khó khăn cho những ai chưa từng
đi qua giai đoạn này và không có sẵn một cấu hình biên dịch nhân hoàn chỉnh cho máy.
Cấu hình cho nhân hiện hữu trên máy cũng có thể nằm trong thư mục
/boot
ở dạng
config-2.x.xx
nếu bạn dùng nhân do RedHat (hoặc dựa trên RedHat) và một số bản
phân phối khác cung cấp. Bạn có thể an toàn dùng cấu hình này và chỉnh sửa, loại bỏ các
chi tiết (driver module) không cần dùng. Nếu hệ thống đã được biên dịch nhân trước đây,
bạn có thể tìm thấy cấu hình biên dịch nhân Linux có tên là
.config
, được lưu trong
thư mục
<KERNEL_SRC>
(nơi trước đây mã nguồn của nhân được xả nén và biên dịch).
7 Chỉnh cấu hình biên dịch nhân Linux
7.1 Thành phần của cấu hình biên dịch nhân Linux
Thành phần trong cấu hình biên dịch nhân Linux cho phiên bản 2.4.x và 2.6.x có một số
điểm tương đồng và dị biệt. Tuy nhiên, quy trình chọn Y, N hoặc M cho các modules vẫn
như nhau. Bước chọn lựa và chỉnh liệu cấu hình biên dịch nhân Linux là một bước mất
nhiều thời gian nhất, nó cũng là một bước gây nhiều trở ngại nhất nếu chỉnh sửa không
hợp lý hoặc thiếu sót.
7.1.1 Thành phần cấu hình biên dịch nhân Linux phiên bản 2.4.x
7.1.1.1 Code Maturity Level Options
Chọn lựa của mục này cho phép dùng các modules/drivers còn ở trạng thái "alpha" (thử
nghiệm). Nếu hệ thống làm việc là một máy production, cần tính ổn định cao thì nên tắt
bỏ chọn lựa của phần này. Làm như thế sẽ tắt bỏ rất nhiều modules/drivers thuộc dạng