Initramfs ফাইলটি সঙ্কুচিত করা দরকার


1

আমি এই লিনাক্স কার্নেলে নতুন এবং আমি ইউএসবি থেকে একটি বোর্ড বুট করার চেষ্টা করছি এবং আমি সফল হয়েছি

এখন আমার সমস্যাটি হল ইউএসবিতে দুটি ফাইল রয়েছে ক) initramfs.cpio.xz খ) লিনাক্স.আইএমজি

এখন আমাকে এটি করার দরকার যা এই ইনিরামফগুলি সঙ্কুচিত করে এবং এই ফাইল সিস্টেমে কিছু ফাইল যুক্ত করে এটি আবার সংকুচিত করে back

আমি যখন সমস্যার মুখোমুখি হয়েছি তখন যে কেউ কীভাবে এটি করতে জানেন জানেন তা আমার পক্ষে সত্যিই সহায়ক while

ধন্যবাদ

উত্তর:


1

initramfs একটি সিপিও সংরক্ষণাগারভুক্ত ফাইল যা zচ্ছিকভাবে gzip, xz বা bzip2 ফর্ম্যাট দিয়ে সংকুচিত হতে পারে।

আপনার ক্ষেত্রে কোন ধরণের সংকোচনের কাজ করা হয়েছে তা পরীক্ষা করুন। সংক্ষেপটি বেশিরভাগ gzip হবে।

  $ file /boot/initrd.img-3.2.0-4-686-pae 
  /boot/initrd.img-3.2.0-4-686-pae: gzip compressed data, from Unix

যদি এটির একটি গিজিপ সংক্ষেপণ এটিকে বন্দুকদ্বার ইউটিলিটি বা সংকোচনের বিন্যাসের জন্য অন্য কোনও উপযুক্ত ইউটিলিটি দিয়ে সঙ্কুচিত করে। cpioসংরক্ষণাগারটি নিষ্কাশনের জন্য একবার সঙ্কুচিত ব্যবহারের ইউটিলিটি।

$ cpio -id < initrd.img-3.2.0-4-686-pae 
48843 blocks

সংরক্ষণাগারে এমন ফাইল এবং ডিরেক্টরি থাকবে যা বুট করার সময় প্রয়োজনীয় হবে।


1

আমি একই সমস্যার মুখোমুখি হয়েছি এবং লিনাক্স initrd.img ফাইলটি কীভাবে দেখতে, পরিবর্তন করতে হবে, পুনরায় তৈরি করতে হবে তার ভিত্তিতে সমাধান করেছি ।

প্রথমত, সংস্করণ ২.6 এবং তারপরে ( এখানে দেখুন ) আরআরডি চিত্রটি কেবলমাত্র থ্রাইমফস (কেবল নামটি রাখা হয়েছে)। তারপরে, কার্নেল চিত্রটি একটি সিপিও সংরক্ষণাগার (কমপক্ষে ডেবিয়ানের জন্য) সমেত একটি সহজ জিজিপ ফাইল।

ফাইলের বিন্যাস

/ বুটে থাকা চিত্রটি (যা initrd.img.other_info এর মতো দেখতে উদাহরণস্বরূপ: initrd.img-4.9.0-8-686-pae ) একটি জিজেপ ফাইল

file initrd.img-4.9.0-8-686-pae
>> initrd.img-4.9.0-8-686-pae: gzip compressed data, was "newinitrd", last modified: Sat Apr 27 10:03:57 2019, from Unix

এমনকি এক্সটেনশনটি জিজিপ করা থাকলেও ফাইলটি শেষের দিকে .gz অভাবের কারণে সরাসরি সঙ্কুচিত হতে পারে না (যা এখানে বোঝায় যে আমাদের ফাইলটিকে সঙ্কোচনের প্রক্রিয়ার জন্য একটি স্বীকৃতিযোগ্য ফর্ম্যাটে রূপান্তর করতে হবে)

সংকোচনমুক্ত

জিজেআইপি অংশ

পরবর্তী পদক্ষেপটি ফাইলটির সাথে সঠিক আকারটি পাওয়া যায়:

mv initrd.img-4.9.0-8-686-pae initrd.img-4.9.0-8-686-pae.gz

লক্ষ্য করুন যে শুধু ফাইল পুনঃনামকরনের initrd.img -র-4.9.0-8-686-PAE মধ্যে initrd.img -র-4.9.0-8-686-pae.gz কোনো প্রভাব নেই।

তারপরে উপযুক্ত কমান্ড দিয়ে ফাইলটি সঙ্কুচিত করুন (এখানে একটি জিজিপ ফাইলের জন্য):

gunzip initrd.img-4.9.0-8-686-pae.gz

সিপিআইও অংশ

আপনি একটি সিপিও সংরক্ষণাগার পাবেন (এখানে ফাইলটি একই নাম initrd.img-4.9.0-8-686-pae রাখবে )

file initrd.img-4.9.0-8-686-pae
>> initrd.img-4.9.0-8-686-pae: ASCII cpio archive (SVR4 with no CRC)

তারপরে সংরক্ষণাগারে সমস্ত ফাইল একটি নতুন ফোল্ডারে ব্যবহার করতে:

cpio -id < ../initrd.img-4.9.0-8-686-pae 

অসম্পূর্ণ অংশের জন্য এটিই

সঙ্কোচন

চিত্রটি সম্পাদনা করার পরে আপনার এটি আবার সংকোচনের প্রয়োজন হবে। প্রথমে এই সমস্ত ফাইলের সিপিও আর্কাইভ তৈরি করুন (সিপিও সংরক্ষণাগারটি খোলার জন্য ব্যবহৃত ডিরেক্টরিতে এখনও রয়েছে)

find . | cpio --create --format='newc' > ../newInitrd

তারপরে, সংরক্ষণাগারটি (পিতৃ ডিরেক্টরিতে) সংক্ষিপ্ত করুন:

gzip newInitrd

এবং পরিশেষে :

mv newInitrd.gz newInitrd.img

(তারপর আপনি শুধু পুনঃনামকরণ আছে newInitrd.img মধ্যে initrd.img -র-4.9.0-8-686-PAE এবং ফাইল করা / বুট )

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