বুটলিন (এমবেডেড সিস্টেমের জন্য লিনাক্সে বিশেষজ্ঞ একটি কোম্পানি), এটা জানা বেশ কিছু দিন আগে স্নাগবুট লঞ্চ, এম্বেড করা ডিভাইসগুলি পুনরুদ্ধার এবং ফ্ল্যাশ করার জন্য ডিজাইন করা হয়েছে যেগুলি বুট করা বন্ধ করে দিয়েছে, উদাহরণস্বরূপ, ফার্মওয়্যার দুর্নীতির কারণে।
snagboot এটি জন্মেছে কারণ বেশিরভাগ এমবেডেড প্ল্যাটফর্ম ইউএসবি বা ইউআরটি ইন্টারফেস সরবরাহ করে ফার্মওয়্যার দুর্নীতির ক্ষেত্রে বুট ইমেজ পুনরুদ্ধার এবং স্থানান্তরের জন্য, কিন্তু এই ইন্টারফেসগুলি প্রতিটি প্ল্যাটফর্মের জন্য নির্দিষ্ট এবং পৃথক প্রস্তুতকারকের পণ্যগুলির সাথে যুক্ত পুনরুদ্ধার ইউটিলিটিগুলির ব্যবহার প্রয়োজন৷
এই সমস্যাটির সমাধান করার জন্য, বুটলিন আজকে একটি নতুন পুনরুদ্ধার এবং আপডেট টুল প্রকাশ করতে পেরে খুশি, যার নাম Snagboot , যা উপরে উল্লিখিত বিক্রেতা-নির্দিষ্ট সরঞ্জামগুলির জন্য একটি জেনেরিক, ওপেন সোর্স প্রতিস্থাপনের উদ্দেশ্যে।
Snagboot সম্পর্কে
স্নাগবুট বিশেষায়িত ইউটিলিটিগুলির একটি অ্যানালগ হিসাবে কাজ করে, বেশিরভাগ মালিক, ডিভাইস পুনরুদ্ধার এবং আপডেট করতে, যেমন STM32CubeProgrammer, SAM-BA ISP, UUU এবং sunxi-fel।
snagboot বিস্তৃত বোর্ড এবং এমবেডেড ডিভাইসের সাথে কাজ করার জন্য ডিজাইন করা হয়েছে, যা এমবেডেড সিস্টেম ডেভেলপারদের বিভিন্ন ইউটিলিটি ব্যবহার করার ইনস এবং আউটস শেখার প্রয়োজনীয়তা দূর করে।
উদাহরণস্বরূপ, ST STM32MP1, Microchip SAMA5, NXP i.MX6/7/8, Texas Instruments AM335x, Allwinner SUNXI, এবং Texas Instruments AM62x SoC-এর উপর ভিত্তি করে ডিভাইসগুলি পুনরুদ্ধার করতে snagboot-এর প্রথম সংস্করণ ব্যবহার করা যেতে পারে।
কিছু টুল আছে যা দ্রুত পুনরুদ্ধার এবং USB-এর মাধ্যমে আপডেট করার জন্য এই কার্যকারিতার সুবিধা নেয়, যেমন STM32CubeProgrammer, SAM-BA বা UUU। যাইহোক, এই সরঞ্জামগুলি সমস্ত বিক্রেতা-নির্দিষ্ট, যার অর্থ হল একাধিক ধরণের প্ল্যাটফর্মে কাজ করা বিকাশকারীদের বিভিন্ন সরঞ্জামের মধ্যে স্যুইচ করতে হবে এবং প্রতিটি কীভাবে ব্যবহার করতে হবে তা শিখতে হবে।
এটি উল্লেখ করা হয়েছে যে Snagboot ডাউনলোড এবং আপডেট করার জন্য দুটি ইউটিলিটি অন্তর্ভুক্ত করে:
- snagrecover- স্থায়ী মেমরির বিষয়বস্তু পরিবর্তন না করেই বহিরাগত RAM আরম্ভ করতে এবং U-Boot বুটলোডার চালানোর জন্য বিক্রেতা-নির্দিষ্ট রম কোড প্রক্রিয়া ব্যবহার করে।
- snagflash- DFU (ডিভাইস ফার্মওয়্যার আপডেট), ইউএমএস (ইউএসবি মাস স্টোরেজ), বা ফাস্টবুট ব্যবহার করে একটি সিস্টেম ইমেজকে অ-উদ্বায়ী মেমরিতে ফ্ল্যাশ করতে চলমান U-Boot-এর সাথে ইন্টারঅ্যাক্ট করে।
যারা আগ্রহী তাদের জন্য এটি সম্পর্কে আরও জানতেঅনুগ্রহ করে জেনে রাখুন যে Snagboot-এর কোড Python-এ লেখা এবং GPLv2 লাইসেন্সের অধীনে ওপেন সোর্স করা হয়েছে।
লিনাক্সে স্ন্যাগবুট কীভাবে ইনস্টল করবেন?
যারা তাদের সিস্টেমে Snagboot ইনস্টল করতে সক্ষম হতে আগ্রহী তাদের জন্য এটি জানা উচিত আপনি এটি বেশ সহজে করতে পারেন। তাদের শুধুমাত্র প্রয়োজনীয় নির্ভরতা ইনস্টল করা উচিত যাতে পরবর্তীতে সমস্যা না হয়।
প্রথমটি হল লিভিডাপি যা নিম্নরূপ ইনস্টল করা যেতে পারে (আপনার বিতরণের উপর নির্ভর করে)। তাদের শুধু একটি টার্মিনাল খুলতে হবে এবং এতে তারা টাইপ করতে যাচ্ছে:
Debian / Ubuntu-
sudo apt install libhidapi-hidraw0
অথবা আপনি ইনস্টল করতে পারেন:
sudo apt install libhidapi-libusb0
আর্চ লিনাক্স (যদিও এটি AUR থেকে ইনস্টল করা যেতে পারে, নীচের ইনস্টলেশন কমান্ডটি দেখুন)
sudo pacman -S hidapi
আরএইচইএল/ফেডোরা
sudo dnf -y install hidapi
একবার এটি হয়ে গেলে, আপনাকে যা করতে হবে তা হল পিপ দিয়ে স্ন্যাগবুট ইনস্টল করুন এবং এটি করতে, কেবল নিম্নলিখিত কমান্ডটি টাইপ করুন:
python3 -m pip install --user snagboot
অবশেষে, আমাদের শুধুমাত্র udev নিয়মগুলি যোগ করতে হবে যাতে snagrecover টার্গেট SoCs-এর USB ডিভাইসগুলিতে পড়তে এবং লিখতে অ্যাক্সেস করতে পারে:
snagrecover --udev > 80-snagboot.rules
sudo cp 80-snagboot.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
এবং প্রস্তুত যে আপনি এই টুল দিয়ে কাজ শুরু করতে পারেন. আর্চ লিনাক্স ব্যবহারকারীদের ক্ষেত্রে, যেমন আগে উল্লেখ করা হয়েছে, টুলটি সরাসরি AUR থেকে ইনস্টল করা যেতে পারে এবং এর জন্য তাদের শুধুমাত্র সংগ্রহস্থল সক্রিয় থাকতে হবে এবং একটি AUR উইজার্ড ইনস্টল করতে হবে।
টুল ইনস্টল করার কমান্ড হল:
yay -S snagboot
শেষ কিন্তু অন্তত নয়, যারা নিজেরাই কম্পাইল করতে পছন্দ করেন তাদের জন্য, শুধু নিম্নলিখিতটি চালান:
git ক্লোন https://github.com/bootlin/snagboot.git
cd snagboot
./install.sh
ব্যবহারের জন্য ম্যানুয়াল এবং নির্দেশাবলী সম্পর্কে, আপনি এই সমস্ত তথ্যের সাথে পরামর্শ করতে পারেন পরবর্তী লিংক.