Có ba loại điều có thể được gọi là tham số kernel.
Các tham số kernel lõi là các tùy chọn được truyền trên dòng lệnh kernel. Chúng chỉ có thể được thông qua tại thời điểm khởi động. Chúng được ghi lại trong kernel-parameters.txt
(tệp này cũng liệt kê các tham số mô-đun; tham số kernel lõi là các tham số không có a .
). Một số tham số này chỉ quan trọng khi khởi động (ví dụ root
). Đối với những cái được sử dụng trong suốt vòng đời của hệ thống, có thể có hoặc không có cơ chế thay đổi chúng khi chạy, không có quy tắc chung.
Các tham số mô-đun giống như các tham số kernel, nhưng chúng chỉ định một thành phần cụ thể của kernel, thường là một trình điều khiển cụ thể. Mặc dù tên, các tham số này áp dụng cho dù trình điều khiển tương ứng được biên dịch trực tiếp trong kernel hoặc dưới dạng một mô-đun. Khi thành phần được bao gồm trong hình ảnh hạt nhân chính, bạn cần truyền COMPONENT_NAME.PARAMETER_NAME=VALUE
vào dòng lệnh kernel. Khi thành phần được tải dưới dạng một mô-đun, bạn cần chuyển PARAMETER_NAME=VALUE
đến insmod
.
Một số tham số mô-đun được hiển thị thông qua sysfs . Thư mục /sys/module/MODULE_NAME/parameters
chứa một tệp cho mỗi tham số; đọc tệp đó cung cấp cho bạn giá trị hiện tại của tham số. Ghi vào tập tin đó đặt tham số, nếu nó có thể được sửa đổi; hầu hết các tham số không thể được sửa đổi (và do đó, tệp chỉ đọc). Thư /sys/module/kernel/parameters
mục liệt kê một số tham số kernel lõi.
Các tham số mô-đun được ghi lại một cách ngớ ngẩn; một số trong số chúng được liệt kê trong kernel-parameters.txt
và tệp chứa các tham chiếu cho một số mô-đun. Nếu bạn không thể tìm thấy tài liệu, tìm kiếm nguồn . Thông số mô-đun được khai báo bởi các module_param
vĩ mô hoặc một trong những bạn đồng hành của nó module_param_named
, module_param_cb
vv Tham số cuối cùng của các macro xác định cho phép tập tin (ví dụ 0600
hay S_IRUSR | S_IWUSR
sẽ rw-------
tức là có thể đọc được và ghi bởi root và không thể tiếp cận bởi bất cứ ai khác). Khi quyền là 0, mục trong sysfs hoàn toàn không xuất hiện.
i8042.nomux
và i8042.reset
là các thông số của i8042
trình điều khiển . Nhìn vào mã nguồn, cả hai đều có quyền 0, vì vậy hai tham số này không thể sửa đổi hoặc thậm chí có thể truy vấn được trong thời gian chạy. Bạn chỉ có thể đặt tham số khi trình điều khiển được khởi động. Nếu trình điều khiển được biên dịch dưới dạng một mô-đun, thì việc dỡ bỏ mô-đun và tải lại nó cho phép bạn cung cấp các tham số khác nhau khi bạn tải lại nó. Nếu trình điều khiển trực tiếp trong kernel hoặc nếu cấu hình hệ thống của bạn khiến cho việc dỡ bỏ mô-đun một cách hiệu quả, bạn cần phải khởi động lại.
Cuối cùng, một loại tham số khác trong kernel là sysctl . Các cài đặt này có thể được xem và thay đổi bằng sysctl
lệnh hoặc thông qua /proc/sys
. Tôi nghĩ rằng sự tách biệt giữa các tham số sysctl và kernel chủ yếu là lịch sử; Các cài đặt liên quan đến phần cứng là các tham số kernel truyền thống trong khi các cài đặt liên quan đến phần mềm là sysctl theo truyền thống nhưng đôi khi sự khác biệt có thể bị mờ.
/sys/module/i8042/parameters
, nhưng tập tin duy nhất hiện tại làdebug
.