Bagaimana cara mengkonfigurasi kernel Linux berdasarkan modul yang sedang digunakan?

15

Saya bersedia membangun kernel minimal dengan hanya hal-hal yang dibutuhkan untuk mesin saya; jadi saya mulai dengan mengkompilasi kernel dari bawah ke atas, menggunakan konfigurasi default dan menambahkan hal-hal yang saya tahu pasti saya miliki (yaitu: kartu Ethernet, kartu WiFi, ...).

Tetapi ada beberapa hal lain yang tidak begitu mudah untuk diketahui (yaitu: pengawas waktu) jadi saya menemukan AutoKernConf yang seharusnya mendeteksi perangkat keras mesin dan menghasilkan file konfigurasi kernel dengan pengaturan untuk perangkat yang ditemukan.

Masalahnya adalah itu berisi beberapa pengaturan berulang dan bahkan beberapa yang saya tidak punya (saya menggunakan laptop Dell dan salah satu hal yang "ditemukan" adalah sesuatu yang Toshiba).

Jadi saya akhirnya membangun kernel dengan konfigurasi yang keluar dari make allmodconfigperintah, yang merupakan kernel dengan sebagian besar hal dikompilasi sebagai modul.

Mem-boot ke kernel itu dan menjalankan lsmodsaya dapat melihat semua modul kernel yang digunakan (yang benar-benar diperlukan) dan saya ingin tahu apakah ada alat atau cara bagi saya untuk mengurai daftar itu dan mengubahnya ke konfigurasi kernel yang sesuai mengajukan.

Atau cara memetakan masing-masing dengan opsi yang sesuai di kernel sehingga saya bisa mengaturnya secara manual.

Terima kasih banyak atas waktu anda

Carla
sumber

Jawaban:

19

Jika Anda menggunakan Linux 2.6.32 dan yang lebih tinggi, Anda mungkin ingin memeriksa target make "localmodconfig". Ia melakukan cukup banyak apa yang Anda tanyakan — ia menentukan modul apa yang Anda jalankan, dan menghasilkan .config memastikan modul-modul itu dibangun. Target "localyesconfig" akan mengkompilasi modul-modul tersebut secara statis ke dalam kernel daripada membuat modul.

Info lebih lanjut tersedia di sini: Konfigurasi kernel lokal mudah .

Samat Jain
sumber
Terima kasih banyak, saya menggunakan varian 2.6.33 sehingga saya dapat menggunakan target itu.
Carla