Làm cách nào để định cấu hình nhân Linux dựa trên các mô-đun hiện đang sử dụng?


15

Tôi sẵn sàng xây dựng một kernel tối thiểu chỉ với những thứ cần thiết cho máy của tôi; Vì vậy, tôi đã bắt đầu bằng cách biên dịch kernel từ đầu, sử dụng cấu hình mặc định và thêm những thứ mà tôi biết chắc chắn mình có (ví dụ: thẻ Ethernet, thẻ WiFi, ...).

Nhưng có một số điều khác không dễ để biết (ví dụ: bộ đếm thời gian theo dõi) vì vậy tôi đã tìm thấy AutoKernConf , thứ được cho là phát hiện phần cứng của máy và tạo tệp cấu hình kernel với cài đặt cho các thiết bị tìm thấy.

Vấn đề là nó có một số cài đặt được lặp đi lặp lại và thậm chí một số cài đặt mà tôi không có (Tôi đang sử dụng máy tính xách tay Dell và một trong những thứ mà nó "tìm thấy" là thứ gì đó của Toshiba).

Vì vậy, tôi đã kết thúc việc xây dựng một kernel với cấu hình xuất phát từ make allmodconfiglệnh, đó là một kernel với hầu hết những thứ được biên dịch dưới dạng các mô-đun.

Khởi động vào kernel đó và chạy lsmodtôi có thể thấy tất cả các mô-đun kernel đang sử dụng (những mô-đun thực sự cần thiết) và tôi muốn biết liệu có một công cụ hay cách nào đó để tôi phân tích danh sách đó và chuyển đổi nó sang cấu hình kernel tương ứng tập tin.

Hoặc làm thế nào để ánh xạ từng cái với các tùy chọn phù hợp trong kernel để tôi có thể tự đặt chúng.

Cảm ơn vi đa danh thơi gian cho tôi.

Câu trả lời:


19

Nếu bạn đang sử dụng Linux 2.6.32 trở lên, bạn có thể muốn kiểm tra mục tiêu "localmodconfig". Nó thực hiện khá nhiều những gì bạn yêu cầu, nó xác định những mô-đun bạn đang chạy và tạo một .config để đảm bảo các mô-đun đó được xây dựng. Mục tiêu "localyesconfig" sẽ biên dịch các mô-đun đó một cách tĩnh vào kernel thay vì tạo các mô-đun.

Thêm thông tin có sẵn ở đây: Cấu hình kernel cục bộ dễ dàng .


Cảm ơn bạn rất nhiều, tôi đã sử dụng một biến thể 2.6.33 để tôi có thể sử dụng mục tiêu đó.
Carla
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.