"পরিষ্কার" ছাড়াই পুনর্নির্মাণ লিনাক্স কার্নেল


11

আমি ৪.১১ ভিত্তিতে একটি কাস্টম কার্নেল তৈরি করছি (মিন্টেক্স 64৪ এর জন্য, যদি এটি বিবেচনা করে)। আমি এটি ইতিমধ্যে সংকলন এবং ইনস্টল করেছি যা প্রমাণ করে যে এটি কাজ করে। এখন আমি কয়েকটি ফাইলের জন্য কয়েকটি ছোট পরিবর্তন করেছি (ড্রাইভার এবং নেট সাবসিস্টিমে, এই কারণেই আমাকে প্রথমে একটি কাস্টম কার্নেল সংকলন করতে হবে!)

এখন আমি পরিবর্তিত কার্নেলটি তৈরি করতে চাই। যাইহোক আমি যখন চালানো

fakeroot make -j5 deb-pkg LOCALVERSION=myname KDEB_PKGVERSION=1 

পুরো সিস্টেমের পুরো লোডটি "ক্লিন" করে বিল্ড সিস্টেমটি শুরু হয়েছিল বলে আমি এটি দ্রুত থামিয়ে দিয়েছি। দুর্ভাগ্যক্রমে আমি যে কম্পিউটারটি ব্যবহার করছি তা ভাল সিপিইউ দিয়ে আশীর্বাদ পায় না এবং স্ক্র্যাচ থেকে অনেক ঘন্টা সময় নেয়। সুতরাং আমি যদি সম্ভব হয় তবে এটি আবার করা এড়াতে চাই!

সবকিছু "পরিষ্কার" ডি ছাড়া কেবলমাত্র একটি ইনক্রিমেন্টাল বিল্ড তৈরি করা সম্ভব কি এটি কার্নেল বিল্ড সিস্টেমের প্রয়োজনীয়তা?

আমি যে আউটপুট পেয়েছিলাম তা হ'ল:

CHK      include/config/kernel.release
make clean
CLEAN .
CLEAN arch/x86/lib
...

@ জে সি সি__ উপরের বিল্ড থেকে আউটপুট দেখুন, আমি সেই টার্গেটের মেকফিলটি কোথায় আছে তা তাত্ক্ষণিকভাবে খুঁজে পাই না, তবে আমি এখনও খুঁজছি :)
টি কিলনি

উত্তর:


12

make cleanশুধুমাত্র জন্য deb-pkgলক্ষ্য। একবার দেখুন scripts/package/Makefile:

deb-pkg: FORCE
        $(MAKE) clean
        $(call cmd,src_tar,$(KDEB_SOURCENAME))
        $(MAKE) KBUILD_SRC=
        +$(call cmd,builddeb)

bindeb-pkg: FORCE
        $(MAKE) KBUILD_SRC=
        +$(call cmd,builddeb)

আপনি যদি bindeb-pkgপরিবর্তে এটি তৈরি করেন তবে এটি কোনও পরিষ্কার করবে না। আপনার সম্ভবত উত্স প্যাকেজগুলির প্রয়োজন নেই।

আমি সন্দেহ করি এটি একটি পরিষ্কার করে দেয় কারণ এটি উত্স টার্বলটিতে নিদর্শনগুলি তৈরি করতে চায় না।


2

আপনি সেই ডিবে প্যাকেজগুলি অন্য কোনও সরঞ্জাম দিয়ে উত্পাদন করার চেষ্টা করতে পারেন , make-kpkgএটি ইনস্টল করা আছে apt-get install kernel-package। তারপরে উদাহরণস্বরূপ

make-kpkg --rootcmd=fakeroot --initrd --uc --us -j2 kernel_image kernel_headers

এই আদেশটি make cleanপ্রতিটি সময় করা উচিত নয় ।


1

আমি এটি ডেবি-পি কেজি কমান্ডের জন্য মেকফিলের মধ্যে গিয়ে এবং স্ক্রিপ্ট থেকে "পরিষ্কার করুন" মুছে ফেলার মাধ্যমে এটি ঠিক করেছি। এটি বিল্ডটির সাথে কোনও খারাপ প্রভাব ফেলবে বলে মনে হয় না এবং আমি সমস্যা ছাড়াই এখন বা দু'সপ্তাহ ধরে কাস্টম কার্নেলটি চালাচ্ছি। YMMV!

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