মেনুকনফিগ দৃষ্টিকোণ থেকে দুটি কার্নেল কনফিগারেশন ফাইলের তুলনা করুন?


14

আমার একটি পরিস্থিতি রয়েছে যেখানে আমার কাছে দুটি কার্নেল কনফিগার ফাইল রয়েছে (একই কার্নেল উত্সের জন্য)। আমার উভয়টির কার্যকারিতার একটি অংশ রয়েছে যা আমার প্রয়োজন (একটিতে ইউএসবি সঠিকভাবে কাজ করে, অন্যদিকে, দ্বিতীয় আই 2 সি)।

আমি জানি যে দুটি কনফিগার ফাইলের মধ্যে পার্থক্যগুলি মেনুকনফিগের দৃষ্টিকোণ থেকে কেবলমাত্র কয়েকটি নির্বাচিত বিকল্প অন্তর্ভুক্ত করে। (তবে কোনটি জানেন না)

তবে যখন কনফিগার ফাইলগুলি ম্যানুয়ালি তুলনা করা হয় (দুটি .config ফাইলের মধ্যে মেল্ড), পার্থক্যগুলি সনাক্ত করা সহজ নয়। আমি সাফল্য ছাড়াই এগুলি ম্যানুয়ালি মার্জ করার চেষ্টা করেছি। আমি নিশ্চিত যে আমি শেষ পর্যন্ত সাফল্য পেয়েছি তবে বিশ্বাস করি যে ফাইলগুলি মেনুফোনফাইগুলিতে উপস্থিত হওয়ার সাথে তুলনা করা হলে প্রক্রিয়াটি আরও অনেক বেদনাবিহীন হতে পারে।

এটি কী অর্জন করা যায় এবং যদি তা হয় তবে কীভাবে?

উত্তর:


17

scripts/diffconfigলিনাক্স কার্নেল উত্স ট্রি থেকে ব্যবহার করার চেষ্টা করুন ।

ব্যবহার:

diffconfig config-a config-b

কনফিগার-এ সম্পর্কিত কনফিগার-বি ফাইলটিতে সরানো, সংশোধিত এবং যুক্ত করা রেখার একটি তালিকা দেখায়।


7

কার্নেলের উত্সে একটি স্ক্রিপ্ট রয়েছে;

স্ক্রিপ্ট / kconfig / merge_config.sh

এটি আর্গুমেন্ট হিসাবে 2 টি কার্নেল কনফিগারেশন নেবে - এটি প্রথমটির উপরে 2 য় মার্জ করবে। ২ য় কনফিগারেশনের যে কোনও কিছুই প্রথম কনফিগারটিকে ওভাররাইড করবে - যদিও এটি "# CONFIG_ সেট না করা আছে" এমন একটি লাইন হলেও

Http://processors.wiki.ti.com/index.php/Quick_start_with_3.14_linux দেখুন


4

দুটি ফাইল যদি উত্পন্ন হয় make menuconfigতবে তাদের একই ক্রমে বিকল্প থাকবে, সুতরাং একটি সরল diff(মাইল্ড বা আপনি যে কোনও ফ্রন্ট্যান্ডের মাধ্যমে) একটি ব্যবহারযোগ্য ফলাফল দেবে।

আপনি মন্তব্য লাইনে অগ্রাহ্য করলে আপনি আরও কিছু পাঠযোগ্য হতে পারেন:

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

যদি কোনও কারণে ফাইলগুলি একই ক্রমে না থাকে তবে আপনি সেগুলি বাছাই করতে পারেন। এর সাথে সম্পর্কিত অপশনগুলি দূরে রাখার খারাপ দিক রয়েছে। আবার, মন্তব্যগুলি সরান। commসাধারণ লাইনগুলি বন্ধ করে দিতে ব্যবহার করুন ।

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

3

আপনি sortতুলনা করার আগে ফাইলগুলি আইএন করার চেষ্টা করতে পারেন :

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

1

kdiff3দুটি কনফিগার তুলনা করতে ব্যবহার করুন।

কেউ যদি কার্নেল ট্রি থেকে কিছু ডিফল্ট কনফিগারেশনের সাথে .config (বর্তমান কনফিগারেশন) ফাইলের তুলনা করতে চান, তবে বর্তমান কনফিগারেশন থেকে প্রথমে ডিফকনফাইগ রফতানি করুন:

make savedefconfig

এটি ডিফকনফিগ ফাইলটি রফতানি করবে, যা অন্য কোনও ডিফল্ট কনফিগারেশন ফাইলের সাথে সহজে তুলনা করা যেতে পারে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.