অ্যান্ড্রয়েড ফোনে কাস্টম ROM ইনস্টল করা আগে יחসামান্য ছিল। বুটলোডার আনলক করুন, কাস্টম রিকভারি ইনস্টল করুন, এবং আপনি প্রায় রেডি।
এখন জিনিসগুলো বদলেছে, এবং আপনি যদি TWRP বা Fastboot-এর মাধ্যমে কাস্টম ROM ফ্ল্যাশ করতে না পারেন, তবে আপনি সম্ভবত ভুল লেভেলে ফ্ল্যাশ করার চেষ্টা করছেন। অধিকাংশ মডার্ন ফোনে এখন আরেক লেভেল থাকে FastbootD নামে, যেখানে আপনি সিস্টেম পার্টিশনে পরিবর্তন আনতে পারেন।
তাহলে দেখি FastbootD কী, কীভাবে FastbootD মোডে বুট করতে হয়, এবং কীভাবে এটিকে ব্যবহার করে কাস্টম ROM বা GSI (Generic System Image) ইনস্টল করতে হয়।
FastbootD কী?
FastbootD অ্যান্ড্রয়েড ফোনে ফার্মওয়্যার ইমেজ ফ্ল্যাশ করতে সাহায্য করে এবং সেগুলো Device Disabled Verification Failed বা DDVF স্টেটে ডিল করে। এই স্টেটটি তখন দেখায় যখন ডিভাইসের বুটলোডার আপডেটেড ফার্মওয়্যারের সিগনেচার আইডেন্টিফাই করতে না পারে, সাধারণত কারণ ফার্মওয়্যার আনসাইনড বা টেম্পার্ড।
FastbootD ডিভাইসকে ইউজেবল স্টেটে রিস্টোর করতে সাহায্য করে। তবে অধিকাংশ অ্যাডভান্সড ইউজার এবং ডেভেলপার এটি কাস্টম ROM এবং GSI ইনস্টল করার জন্য ব্যবহার করে।
Fastboot এবং FastbootD উভয়ই অ্যান্ড্রয়েড ডিবাগিং এবং মেইনটেন্যান্সের লো-লেভেল টুল। Fastboot আপনার ডিভাইসের বুটলোডারের সাথে ইন্টারঅ্যাকশন করতে দেয় এবং সাধারণত সিস্টেম পার্টিশন ছাড়া অন্যান্য পার্টিশন ফ্ল্যাশ করতে ব্যবহার করা হয়। অন্যদিকে, FastbootD আপনার অ্যান্ড্রয়েড ফোন ট্রাবলশুট এবং রিপেয়ার করার জন্য এবং সিস্টেম পার্টিশন ফ্ল্যাশ করার অনুমতি দেয়।
আপনি যদি নিশ্চিত না হন Fastboot না FastbootD কোনটি ব্যবহার করবেন, তবে আপনার অ্যান্ড্রয়েড ফোন Project Treble সাপোর্ট করে কিনা চেক করতে হবে (নিচে আরো বিস্তারিত)।
যদি ফোন Project Treble সাপোর্ট না করে, তবে সেটিতে FastbootD মোড নাও থাকতে পারে, তখন আপনি Fastboot মোড ব্যবহার করতে পারেন। তবে যেমন শীঘ্রই আলোচনা করব, আপনার ফোনে FastbootD মোড থাকলে, সিস্টেম ইমেজ ফ্ল্যাশ করার জন্য সেটি ব্যবহার করতে হবে।
FastbootD মোডে বুট করার পদ্ধতি
এখান থেকে আপনার প্রতিটি ধাপ আপনার ফোন জন্য পোটেনশিয়ালি ডেঞ্জারাস। আপনার ফোন মডেলের XDA ফোরাম পড়া রিকমেন্ডেড, কারণ এটি পুরো প্রসেস বোঝার এবং কোনো মিশাপ এড়াতে সাহায্য করবে। আপনার একটি ফুল ব্যাকআপ প্লানও থাকা উচিত যেন কিছুই প্ল্যান অনুযায়ী না হলে সমস্যা না হয়।
FastbootD মোডে বুট করার জন্য আপনার অ্যান্ড্রয়েড ডিভাইস এবং PC-এর মধ্যে ADB কানেকশন সেট আপ করতে হবে। আপনি না জানেন কীভাবে করবেন, তবে আমাদের ADB এবং Fastboot অ্যান্ড্রয়েডে কীভাবে ব্যবহার করবেন সেই ডিটেইল্ড গাইড দেখুন। এটা ADB কানেকশন আপ 앤 রানিং করিয়ে দেবে।
আপনাকে আপনার অ্যান্ড্রয়েড ফোনের বুটলোডার আনলক করতে হবে FastbootD ব্যবহার করার জন্য। ইনস্ট্রাকশন প্রতিটি ডিভাইসের জন্য ভিন্ন, তাই XDA ফোরাম বা ম্যানুফ্যাকচারারের ওয়েবসাইটে যান গাইডেন্সের জন্য। বুটলোডার আনলক করা আপনার সব ইউজার ডেটা ডিলিট করে দেয়, তাই আগে সবকিছু ব্যাকআপ নিন।
স্টেপ ১: ADB ইনস্টল এবং সেট আপ করুন
ADB সেট আপ হলে এবং বুটলোডার আনলক হলে, USB কেবল দিয়ে ফোনকে PC-এর সাথে কানেক্ট করুন। PC-এ আপনার ডিফল্ট ADB ফোল্ডারে Command Prompt বা Terminal খুলুন। প্রথমে ADB কানেকশন চেক করুন নিচের কমান্ড দিয়ে। এটি একটি লম্বা সিরিয়াল নাম্বার রিটার্ন করা উচিত:
adb devices
নিশ্চিত করুন আপনার ফোনের Developer Options-এ OEM Unlocking ইনেবল, আমাদের গাইডে যেমন বলা আছে, এবং নিচের কমান্ড দিয়ে বুটলোডারে রিবুট করুন:
adb reboot bootloader
স্টেপ ২: ফ্ল্যাশিং আনলক করুন
এরপর, আপনার ফোনে ফ্ল্যাশিং আনলক করতে হবে পার্টিশনে পরিবর্তন আনতে, সিস্টেম পার্টিশন সহ। নিচের কমান্ডগুলো এন্টার করুন এবং কনফার্ম করার জন্য Volume Up বাটন ব্যবহার করুন:
fastboot flashing unlock
fastboot flashing unlock_critical
স্টেপ ৩: ভেরিফিকেশন ডিজেবল করুন
এখন, ভেরিফিকেশন ডিজেবল করুন যাতে क्रিটিক্যাল ফাইলস সাথে টেম্পারিং-র জন্য ফ্ল্যাগ না হয়। এর জন্য আপনার স্টক বা কাস্টম ROM থেকে VBMeta (Verified Boot Metadata) ফাইলগুলো দরকার (যদি থাকে)। এই ফাইলগুলো আপনার ফোনের অন্যান্য পার্টিশনের চেকসাম এবং সিগনেচার স্টোর করে।
আপনি সাধারণত আপনার ডিভাইসের XDA ফোরাম বা ম্যানুফ্যাকচারারের ওয়েবসাইটে স্টক ROM বা VBMeta ফাইল পাবেন। গুগল সার্চ-এ আপনার মডেল লিখে "Stock ROM" বা "Flash File" লিখে সার্চ করলে পেয়ে যাবেন। Samsung-এর জন্য SamMobile বা Pixel-এর জন্য গুগল ট্রাই করতে পারেন।
পাওয়া গেলে এক্সট্রাক্ট করুন এবং vbmeta.img এবং vbmeta_system.img ADB ফোল্ডারে সেভ করুন এবং এই কমান্ডগুলো রান করুন:
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot --disable-verity --disable-verification flash vbmeta_system vbmeta_system.img
স্টেপ ৪: FastbootD মোডে বুট করুন
এখন, নিচের কমান্ড দিয়ে FastbootD মোডে রিবুট করুন:
fastboot reboot fastboot
এই ধাপ আপনার ডিভাইসকে FastbootD মোডে বুট করাবে, যাতে আপনি আপনার কাস্টম ROM বা GSI ফ্ল্যাশ করতে পারেন।
বুটলোডার আনলক এবং ভেরিফিকেশন ডিজেবল করার পর, আপনি যা ডিজেবল করেছিলেন সেগুলো আবার ইনেবল না করা পর্যন্ত বুটলোডার রিলক করবেন না—বিশেষ করে ভেরিফিকেশন। এটি করলে আপনার ফোন হার্ড ব্রিক হতে পারে, যা রিকভার করা অসম্ভব।
কিছু কমান্ড unnecessory হতে পারে আপনার ফোনে ডাইনামিক পার্টিশন না থাকলে বা AB পার্টিশনের বদলে শুধু A পার্টিশন থাকলে।
আপনার ফোনে ডাইনামিক পার্টিশন আছে কিনা এবং GSI ফ্ল্যাশ করা যায় কিনা চেক করতে এই ফ্রি অ্যাপগুলো ব্যবহার করতে পারেন: Treble Check বা Treble Info।
Project Treble আপনাকে একই সিস্টেম ইমেজ ভিন্ন হার্ডওয়্যার স্পেসিফিকেশন वाले ডিভাইসে ইনস্টল করতে দেয়। যদি আপনার ডিভাইস অ্যাপ অনুযায়ী Project Treble সাপোর্ট করে, তবে আপনি GSI ইনস্টল করতে পারবেন।
FastbootD মোড ব্যবহার করে কাস্টম ROM বা GSI ফ্ল্যাশ করা
আগে নিশ্চিত হন উপরের সব ধাপ ফলো করা হয়েছে। আপনার ফোন মডেলের জন্য বানানো কাস্টম ROM ডাউনলোড করুন, বা XDA বা এই উপযোগী GitHub ROM লিস্ট থেকে GSI। ইমেজ ফাইল ADB ফোল্ডারে রাখুন এবং রিনেম করুন system.img হিসেবে। GSI-র জন্য যাবেন তবে GSI ফ্ল্যাশিং এবং Dynamic System Updates সম্পর্কে আরও পড়ুন।
কাস্টম ROM পাওয়ার সেরা জায়গা সदा থেকে XDA। আপনার ফোন মডেল সার্চ করুন, যদি সেটি জন্য কোনো ডেভেলপমেন্ট থাকে, তবে এর ফোরামে পাবেন। এই ফোরামের কাস্টম ROMগুলো একক ফোন মডেলের জন্য স্পেসিফিক্যালি বানানো থাকে, GSIs-এর মত নয় যেগুলো Project Treble সাপোর্ট করে সব মডেলের সাথে কম্প্যাটিবল।
কাস্টম ROM এবং GSI-র মধ্যে কনফিউজড থাকলে, আমরা রিকমেন্ড করি আপনার ডিভাইসের জন্য বানানো কাস্টম ROM বেছে নেওয়া, কারণ সেটির হার্ডওয়্যার কম্প্যাটিবিলিটি GSI-এর চেয়ে ভালো হবে। GSIs আইডিয়াল অপেক্ষাকৃত অজানা ফোন মডেলের জন্য যারা কোয়াইন্ডিভিজুয়াল ডেভেলপমেন্ট নেই।
তাহলে, ধরে নিচ্ছি আপনি FastbootD-এ আছেন, নতুন ROM ইনস্টল করতে এগিয়ে যাই।
স্টেপ ১: সিস্টেম ইরেজ করুন
প্রথমে, Fastboot বাইনারি চেক করুন এবং কমান্ড is-userspace: yes রিটার্ন করলে এগিয়ে যান। চিন্তা নয়। অধিকাংশ কেসে yes রিটার্ন করে, আমরা শুধু নিশ্চিত হতে চাই। চেক করার কমান্ড:
fastboot getvar is-userspace
এখন, আপনার কারেন্ট সিস্টেম ইরেজ করুন। নিশ্চিত হন আপনি কীভাবে স্টক ফার্মওয়্যার রিকভার করবেন যদি কিছু ভুল হয়, ব্যাকআপ নিন, এবং ডিভাইস-স্পেসিফিক ফোরাম পড়ুন:
fastboot erase system
স্টেপ ২: পার্টিশন ডিলিট করুন
পরবর্তী ধাপ হলো লজিক্যাল পার্টিশন ডিলিট করা যাতে সেগুলোর plaatsenে নতুনগুলো রাখা যায়।
ডাইনামিক (AB) পার্টিশন والے অ্যান্ড্রয়েড ফোনের জন্য এই কমান্ডগুলো:
fastboot delete-logical-partition product_a
fastboot delete-logical-partition product_b
A-only পার্টিশন वाले ডিভাইসের জন্য এই কমান্ড:
fastboot delete-logical-partition product
স্টেপ ৩: সিস্টেম ইমেজ ফ্ল্যাশ করুন
শেষে, ADB ফোল্ডারে সেভ করা সিস্টেম ফাইল ফ্ল্যাশ করুন:
fastboot flash system system.img
ফাইল ফ্ল্যাশ হলে, আপনার ডিভাইসকে রিকভারি মোডে রিবুট করুন ফোনের Enter recovery অপশন বেছে নিয়ে। ভলিউম বাটন দিয়ে নেভিগেট করুন এবং পাওয়ার বাটন দিয়ে সিলেক্ট করুন।
রিকভারিতে, Wipe data/factory reset সিলেক্ট করুন এবং Factory data reset সিলেক্ট করে কনফার্ম করুন। হয়ে গেলে Reboot system now সিলেক্ট করুন, এবং আপনার ডিভাইস রিস্টার্ট হয়ে নতুন ROM-এ চলে যাবে।
প্রপার ডিভাইস-স্পেসিফিক রিসার্চের পর FastbootD এক্সপ্লোর করুন
FastbootD TWRP-এর মতো কাস্টম রিকভারির প্রয়োজনিয়তা দূর করে। তবে FastbootD TWRP-এর মাধ্যমেও এক্সেস করা যায়। এটা রিকভারির Advanced Settings-এ থাকে, এবং কমান্ডগুলো প্রায় একই যা আমরা আউटलাইন করেছি।
আমরা একবার আবার জোর দিয়ে বলছি, যেকোনো মডিফিকেশন করার আগে আপনার ফোন মডেল সম্পর্কে রিসার্চ এবং পড়া কতটা গুরুত্বপূর্ণ সেটি বলা যায় না। শুরুতে যে সময় দিবেন সেটি আপনাকে পরে সময়, শ্রম, এবং স্ট্রেস বাঁচাবে।