আমি যখন আমার নিজস্ব কার্নেল সংকলন করি তখন মূলত আমি যা করি তা নিম্নলিখিত:
আমি www.kernel.org থেকে উত্সগুলি ডাউনলোড করি এবং এটি সঙ্কুচিত করি।
আমি আমার পূর্ববর্তী
.config
উত্সগুলিতে অনুলিপি করেছি এবংmake menuconfig
নতুন বিকল্পগুলি দেখার জন্য এবং কর্নেলের নতুন নীতি অনুসারে কনফিগারেশনটি সংশোধন করতে চাই।তারপরে, আমি এটি সংকলন করছি:
make -j 4
অবশেষে, আমি এটি ইনস্টল করুন :
su -c 'make modules_install && make install'
.কয়েকটি পরীক্ষার পরে, আমি পুরানো কার্নেলটি সরিয়ে নিয়েছি (
/boot
এবং থেকে/lib/modules
) এবং সম্পূর্ণরূপে নতুনটির সাথে চলি (এই শেষ পদক্ষেপটি আমার জীবনকে বেশ কয়েকবার বাঁচায়! এটি প্রো-টিপ !)।
সমস্যাটি হ'ল আমি সর্বদা /boot/initrd.img-4.x.x
আমার ডিস্ট্রিবিউশনের সাথে তুলনা করে একটি বিশাল পাই । /boot/
উদাহরণ হিসাবে আমার বর্তমান ডিরেক্টরিটির বিষয়বস্তু এখানে :
# ls -alFh
total 243M
drwxr-xr-x 5 root root 4.0K Mar 16 21:26 ./
drwxr-xr-x 25 root root 4.0K Feb 25 09:28 ../
-rw-r--r-- 1 root root 2.9M Mar 9 07:39 System.map-4.4.0-1-amd64
-rw-r--r-- 1 root root 3.1M Mar 11 22:30 System.map-4.4.5
-rw-r--r-- 1 root root 3.2M Mar 16 21:26 System.map-4.5.0
-rw-r--r-- 1 root root 170K Mar 9 07:39 config-4.4.0-1-amd64
-rw-r--r-- 1 root root 124K Mar 11 22:30 config-4.4.5
-rw-r--r-- 1 root root 126K Mar 16 21:26 config-4.5.0
drwxr-xr-x 5 root root 512 Jan 1 1970 efi/
drwxr-xr-x 5 root root 4.0K Mar 16 21:27 grub/
-rw-r--r-- 1 root root 19M Mar 10 22:01 initrd.img-4.4.0-1-amd64
-rw-r--r-- 1 root root 101M Mar 12 13:59 initrd.img-4.4.5
-rw-r--r-- 1 root root 103M Mar 16 21:26 initrd.img-4.5.0
drwx------ 2 root root 16K Apr 8 2014 lost+found/
-rw-r--r-- 1 root root 3.5M Mar 9 07:30 vmlinuz-4.4.0-1-amd64
-rw-r--r-- 1 root root 4.1M Mar 11 22:30 vmlinuz-4.4.5
-rw-r--r-- 1 root root 4.1M Mar 16 21:26 vmlinuz-4.5.0
আপনি যেমন খেয়াল করেছেন, আমার initrd.img
ফাইলগুলির আকার আমার বিতরণ করা ফাইলগুলির চেয়ে প্রায় 10 গুণ বড় bigger
সুতরাং, আমার কার্নেলটি সংকলন করার সময় আমি কি কিছু ভুল করব? এবং, আমি কীভাবে আমার আকারটি হ্রাস করতে পারি initrd.img
?