Bandingkan dua file konfigurasi kernel dari perspektif menuconfig?


13

Saya memiliki situasi di mana saya memiliki dua file konfigurasi kernel (untuk sumber kernel yang sama). Keduanya memiliki bagian dari fungsi yang saya butuhkan (pada satu, USB bekerja dengan benar, yang lain, I2C kedua).

Saya tahu bahwa perbedaan antara dua file konfigurasi, dari perspektif menuconfig, hanya menyertakan beberapa opsi yang dipilih. (Tapi tidak tahu yang mana)

Namun ketika file config dibandingkan secara manual (berbaur antara dua file .config), perbedaannya tidak mudah untuk diidentifikasi. Saya telah mencoba menggabungkannya secara manual tetapi tidak berhasil. Saya yakin saya akan berhasil pada akhirnya tetapi percaya prosesnya bisa jauh lebih tidak menyakitkan jika file dibandingkan dengan cara mereka muncul di menuconfig.

Bisakah ini dicapai, dan jika demikian, bagaimana?

Jawaban:


16

Coba gunakan scripts/diffconfigdari pohon sumber kernel Linux.

Pemakaian:

diffconfig config-a config-b

Memperlihatkan daftar baris yang dihapus, dimodifikasi dan ditambahkan ke file config-b sehubungan dengan config-a.



3

Anda dapat mencoba sortfile sebelum membandingkan:

meld <(sort config-a) <(sort config-b)

3

Jika kedua file dihasilkan oleh make menuconfig, mereka akan memiliki opsi dalam urutan yang sama, sehingga sederhana diff(melalui Meld atau apa pun yang Anda suka) akan memberikan hasil yang dapat digunakan.

Anda mungkin mendapatkan sesuatu yang lebih mudah dibaca jika Anda mengabaikan baris komentar:

diff -I '^#' old.config new.config

Jika karena alasan tertentu file tidak dalam urutan yang sama, Anda dapat mengurutkannya. Ini memiliki kelemahan menempatkan opsi terkait jauh. Sekali lagi, hapus komentar. Gunakan communtuk menghilangkan garis yang umum.

comm -3 <(<old.config grep '^[^#]' | sort) <(<new.config grep '^[^#]' | sort)

1

Gunakan kdiff3untuk membandingkan dua konfigurasi.

Jika ada yang ingin membandingkan file .config (konfigurasi saat ini) dengan beberapa konfigurasi default dari pohon kernel, ekspor defconfig pertama dari konfigurasi saat ini:

make savedefconfig

Ini akan mengekspor file defconfig, yang dapat dengan mudah dibandingkan dengan file konfigurasi default lainnya.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.