উবুন্টু গিট কার্নেল সংগ্রহস্থল
debian/মেটাডাটা যা configs রয়েছে এবং কার্নেল গাছ মুক্তি প্রতি একটি একক Git সংগ্রহস্থলের মধ্যে উভয় ট্র্যাক করা হয়: http://kernel.ubuntu.com/git/ubuntu/ubuntu-bionic.git/
রেপো তবে আমার উবুন্টু 18.04 প্রতিটি কার্নেল প্যাকেজের জন্য একটি ট্যাগ, যেমন আছে, আমি প্যাকেজ আছে linux-image-4.15.0-36-generic, যা আমি ট্যাগ সাথে সঙ্গতিপূর্ণ অনুমান করছি: Ubuntu-4.15.0-36.39।
https://help.ubuntu.com/commune/Kernel/Compile ব্যাখ্যা করে যে কীভাবে কার্নেলটি সংকলন করতে হয়, এবং সুতরাং এটি কীভাবে কনফিগার করতে হয় এবং কীভাবে কনফিগারেশনকে চূড়ান্ত কনফিগারেশনে একত্রিত করা হয়।
কনফিগারেশনের সমস্তগুলি debian.master/config/ARCHঅন্তর্ভুক্ত রয়েছে বলে মনে হয় :
config.common.ubuntu
config.common.ports
amd64/config.common.amd64
amd64/config.flavour.generic
amd64/config.flavour.lowlatency
সুতরাং আমি অনুমান করছি যে linux-image-4.15.0-36-genericমার্জ হবে config.common.ubuntu, config.common.amd64এবং config.flavour.generic।
যে স্ক্রিপ্টটি মার্জ করে তা ডিবিয়ান / স্ক্রিপ্টস / মিসক / কার্নেলকনফিগ বলে মনে হয় এবং এতে মন্তব্য রয়েছে:
# Merge configs
# We merge config.common.ubuntu + config.common.<arch> +
# config.flavour.<flavour>
টোডো: এমন একটি debian.master/config/annotationsফাইল রয়েছে যা মনে হয় প্রতিটি খিলানের জন্য প্রতিটি কনফিগারেশনের মান রয়েছে, এটি কীভাবে ব্যবহৃত হয়?
কারও কারও কাছে ভার্বোস মোডে বিল্ড স্ক্রিপ্টগুলি চালিয়ে যাচাই করা উচিত, তবে আমি এখন অলস, আপনি এটি দিয়ে তৈরি করতে পারেন:
git clone git://kernel.ubuntu.com/ubuntu/ubuntu-bionic.git linux
cd linux
git checkout Ubuntu-4.15.0-36.39
fakeroot debian/rules clean
debian/rules updateconfigs
fakeroot debian/rules build-generic
আমি তখন নিশ্চিত হয়েছি যে এটি স্থানীয়ভাবে ঠিক একই কনফিগারেশন তৈরি করে:
diff debian/build/build-generic/.config /boot/config-4.15.0-36-generic
মনে রাখবেন যে উবুন্টু কার্নেল গিট রেপোতেও প্রবাহের লিনাক্সের শীর্ষে কয়েক হাজার প্যাচ রয়েছে, সুতরাং সঠিক কনফিগারেশনটি আচরণ পুনরুত্পাদন করার পক্ষে যথেষ্ট হবে না।
আমরা ট্রিপল চেক করতে পারি যে আমরা তৈরি কর্নেলটি প্যাকেজযুক্ত একটিটির dmesgসাথে বুটের শুরুতে দেখে মেলে , যা রয়েছে:
[ 0.000000] Linux version 4.15.0-36-generic (buildd@lgw01-amd64-031) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #39-Ubuntu SMP Mon Sep 24 16:19:09 UTC 2018 (Ubuntu 4.15.0-36.39-generic 4.15.18)
কনফিগার করুন .deb
অন্যদের দ্বারা উল্লিখিত হিসাবে, চূড়ান্ত সম্পূর্ণ কনফিগারেশনের অধীনে উপস্থিত রয়েছে:
/boot/config-4.15.0-36-generic
যা প্রতিটি লিনাক্স কার্নেল চিত্রের সাথে সম্পর্কিত:
/boot/vmlinuz-4.15.0-36-generic
সুতরাং, অন্যান্য সংস্করণগুলির জন্য, আমরা এটি পেতে পারি যেগুলি কোন প্যাকেজ থেকে এসেছে:
dpkg -S /boot/config-4.15.0-36-generic
যা দেয়:
linux-modules-4.15.0-36-generic: /boot/config-4.15.0-36-generic
এবং তারপরে আপনি কেবল https://packages.ubuntu.com/bionic-updates/linux-modules-4.15.0-36-
জেনেরিক .debথেকে ডাউনলোড করতে পারেন এবং কনফিগারেশনটি পেতে এটি বের করতে পারেন:
mkdir config
cd config
wget http://mirrors.kernel.org/ubuntu/pool/main/l/linux/linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
ar x linux-modules-4.15.0-36-generic_4.15.0-36.39_amd64.deb
tar -xvf data.tar.xz
cat ./boot/config-4.15.0-36-generic
উবুন্টুতে পরীক্ষিত 18.04।
/boot-config-*বিল্ড-টাইম এগুলি স্বয়ংক্রিয়ভাবে চালানোর জন্য তারা যে উইজার্ডারি ব্যবহার করে তা অনুকরণ করার চেষ্টা করার চেয়ে প্যাকেজটি ধরে নেওয়া এবং এটি বের করা আরও সহজ । অনলাইনে প্যাকেজ থেকে কোনও ফাইল দখল করার উপায় নেই (বা আছে?)