আপনি সাধারণত একটি (মাইক্রো) SD কার্ড থেকে একটি রাস্পবেরি পাই শুরু করেন৷ কিন্তু কখনও কখনও এটি এত সুবিধাজনক নয়। সম্প্রতি, মিনিকম্পিউটার পরিবারের বিকাশকারীরা দুটি নতুন বুট মোড যুক্ত করেছে: ইউএসবি এবং নেটওয়ার্ক। USB মোডের মাধ্যমে, আপনি USB স্টিক বা হার্ড ড্রাইভে যে অপারেটিং সিস্টেম থেকে আপনি USB এর মাধ্যমে সংযোগ করেন তাতে রাস্পবেরি পাই শুরু করেন৷
নেটওয়ার্ক মোডের সাথে, আপনার এমনকি একটি স্থানীয় স্টোরেজ ডিভাইসের প্রয়োজন নেই: রাস্পবেরি পাই অন্য কম্পিউটার থেকে নেটওয়ার্কে তার অপারেটিং সিস্টেম ডাউনলোড করে। এইভাবে আপনি সহজেই একটি কেন্দ্রীয় কম্পিউটারে একটি অপারেটিং সিস্টেমের মাধ্যমে একাধিক রাস্পবেরি পিস বুট করতে পারেন। আপনি যদি সেই কেন্দ্রীয় অপারেটিং সিস্টেম আপডেট করেন, আপনার সমস্ত রাস্পবেরি পিস স্বয়ংক্রিয়ভাবে সর্বশেষ সংস্করণটি চালাবে।
01 পরীক্ষামূলক বুট মোড
নতুন বুট মোডগুলি পরীক্ষামূলক এবং রাস্পবেরি পাই 3-এর জন্য তৈরি করা হয়েছে৷ এর জন্য যে বুট কোডটি প্রয়োজন তা হল BCM2837: রাস্পবেরি পাই 3-এর প্রসেসর৷ আপনার যদি রাস্পবেরি পাই 1, 2 বা জিরো থাকে তবে আপনি এটিও করতে পারেন৷ নতুন বুট মোডগুলি ব্যবহার করুন, তবে একটি রাউন্ডঅবাউট উপায়ে: fat32 দিয়ে একটি এসডি কার্ড ফর্ম্যাট করুন, কার্ডে bootcode.bin ফাইলটি অনুলিপি করুন এবং এই কার্ড থেকে আপনার Pi বুট করুন। এটি একটি SD কার্ড ছাড়া সম্পূর্ণ নাও হতে পারে, তবে আপনি USB বা নেটওয়ার্ক থেকে আপনার Pi বুট করতে পারেন।
02 USB এর সাথে সম্ভাব্য সমস্যা
USB থেকে বুট করা সবসময় কাজ করে না। উদাহরণস্বরূপ, কিছু USB স্টিক খুব ধীরে চালু হয়। বাহ্যিক হার্ড ড্রাইভগুলিও সবসময় দুই সেকেন্ডের মধ্যে সাড়া দেয় না, যখন বুট কোডটি ডিফল্টরূপে অপেক্ষা করে। আপনি সেই সময়সীমা পাঁচ সেকেন্ডে বাড়িয়ে দিতে পারেন, কিন্তু কিছু ড্রাইভ এখনও প্রস্তুত নয়। অন্যান্য USB স্টিকগুলির যোগাযোগ প্রোটোকলের জন্য খুব নির্দিষ্ট প্রয়োজনীয়তা রয়েছে, যা Raspberry Pi 3 বুট কোড (32 kB ROM-এর মধ্যে সীমাবদ্ধ) পূরণ করে না। তাই আপনাকে কিছু ডিস্ক চেষ্টা করতে হতে পারে।
03 ফার্মওয়্যার আপগ্রেড
আমরা ধরে নিচ্ছি আপনি আপনার রাস্পবেরি পাইতে রাস্পবিয়ান চালাচ্ছেন। যদি না হয়, একটি ছবি ডাউনলোড করুন এবং Win32DiskImager প্রোগ্রামের সাথে একটি SD কার্ডে রাখুন এবং এটি থেকে Pi বুট করুন। প্রথমত, এর সাথে সমস্ত সংগ্রহস্থল রিফ্রেশ করুন sudo apt- আপডেট পান. আপনি যদি রাস্পবিয়ান লাইট চালান (গ্রাফিক্যাল ইন্টারফেস ছাড়া সংস্করণ), প্রথমে চালান sudo apt-get install rpi আপডেট কারণ রাস্পবিয়ানের ন্যূনতম সংস্করণে আরপিআই-আপডেট প্যাকেজ নেই। তারপর থেকে ফার্মওয়্যার আপডেট করুন 'পরবর্তী' শাখা সুডো ব্রাঞ্চ = পরবর্তী rpi-আপডেট সহ.
04 USB মোড সক্ষম করুন
এর সাথে বুট কনফিগারেশন ফাইলটি খুলুন sudo nano /boot/config.txt এবং কমান্ড যোগ করুন program_usb_boot_mode=1 অবশেষে. Ctrl+O দিয়ে ফাইল সংরক্ষণ করুন এবং Ctrl+X দিয়ে ন্যানো থেকে প্রস্থান করুন। আপনার Pi এর সাথে পুনরায় চালু করুন sudo রিবুট, এবং রিবুট করার পরে, নিশ্চিত করুন যে USB মোড সক্ষম আছে৷ আপনি আদেশ দিয়ে এটি করুন vcgencmd otp_dump | grep 17:, যার শেষ হওয়া একটি সংখ্যা দেখাতে হবে 0x3020000a. তারপরে বুট কনফিগারেশন ফাইলটি আবার খুলুন এবং কমান্ডটি মুছুন program_usb_boot_mode=1, তাই আপনি এই SD কার্ডটি ঢোকানো অন্য Pi-এ ভুলবশত USB বুট মোড সক্ষম করবেন না।
05 USB স্টোরেজ পার্টিশন করা
এখন আপনার USB স্টোরেজ ডিভাইসটি আপনার Pi এর সাথে সংযুক্ত করুন। এই ডিভাইসটি দিয়ে পার্টিশন করুন sudo parted /dev/sda. এর সাথে একটি নতুন পার্টিশন টেবিল তৈরি করুন mktable msdos এবং নিশ্চিত করুন হ্যাঁ যে আপনি ডিস্কের সমস্ত ডেটা ধ্বংস করতে চান। তারপর একটি 100 মেগাবাইট fat32 পার্টিশন দিয়ে তৈরি করুন mkpart প্রাথমিক ফ্যাট32 0% 100M এবং একটি ext4 পার্টিশন যা ডিস্কের বাকি অংশ দখল করে mkpart প্রাথমিক ext4 100M 100%. প্রিন্টের সাথে পরিবর্তনগুলি দেখুন এবং এর সাথে বিভক্ত করুন প্রস্থান. তারপর দিয়ে বুট ফাইল সিস্টেম তৈরি করুন sudo mkfs.vfat -n BOOT -F 32 /dev/sda1 এবং এর সাথে রুট ফাইল সিস্টেম sudo mkfs.ext4 /dev/sda2.
06 রাস্পবিয়ান কপি
এর সাথে প্রোগ্রামটি rsync ইনস্টল করুন sudo apt-get install rsync. তারপর দিয়ে একটি নতুন ডিরেক্টরি তৈরি করুন sudo mkdir/mnt/usb এবং এটিতে ইউএসবি স্টোরেজের ext4 ফাইল সিস্টেম মাউন্ট করুন sudo mount /dev/sda2 /mnt/usb/. তারপর দিয়ে একটি বুট ডিরেক্টরি তৈরি করুন sudo mkdir /mnt/usb/boot এবং এর সাথে বুট ফাইল সিস্টেম মাউন্ট করুন sudo mount /dev/sda1 /mnt/usb/boot/. এখন আপনি SD কার্ড থেকে আপনার USB স্টোরেজের ফাইল সিস্টেমে যে রাস্পবিয়ান সিস্টেমটি চালাচ্ছেন সেটি অনুলিপি করুন। আপনি আদেশ দিয়ে এটি করুন sudo rsync -ax --progress//boot/mnt/usb. অনুগ্রহ করে ধৈর্য ধরুন কারণ এটি কিছুটা সময় নিতে পারে।
07 Chroot
USB সঞ্চয়স্থানে এখন আপনার চলমান রাস্পবিয়ানের একটি অনুলিপি রয়েছে, তবে সবকিছু অভিন্ন হওয়া উচিত নয়। উদাহরণস্বরূপ, নতুন সিস্টেমের জন্য বিভিন্ন ssh কী প্রয়োজন। অতএব, সঙ্গে USB স্টোরেজ যান cd/mnt/usb এবং এর সাথে কিছু বিশেষ ফাইল সিস্টেম মাউন্ট করুন sudo mount --bind/dev dev, sudo mount --bind/sys sys এবং sudo mount --bind/proc proc. তারপর একটি লিখুন ক্রোম (পরিবর্তন রুট) সঙ্গে আউট sudo chroot .. আপনি এখন যে কমান্ডগুলি চালান তা USB স্টোরেজের সিস্টেমে কার্যকর করা হবে, SD কার্ডের সিস্টেমে আর থাকবে না৷
08 নতুন ssh কী
আপনি এখন chroot-এ রুট ব্যবহারকারী। প্রথমে, বিদ্যমান ssh কীগুলি মুছুন কারণ সেগুলিই আমরা SD কার্ডের সিস্টেম থেকে কপি করেছি৷ আপনি এটা দিয়ে rm /etc/ssh/ssh_host*. তারপর OpenSSH সার্ভার পুনরায় কনফিগার করে নতুন ssh কী তৈরি করুন dpkg-reconfigure openssh-server. তারপর chroot দিয়ে প্রস্থান করুন প্রস্থান. আপনি এখন সঞ্চালিত সমস্ত কমান্ড SD কার্ডের সিস্টেমে আবার কার্যকর করা হবে। তারপরে বিশেষ ফাইল সিস্টেমগুলি আনমাউন্ট করুন সুডো উমাউন্ট দেব, সুডো উমাউন্ট সিএস এবং sudo umount proc.
09 রুট ফাইল সিস্টেম কাস্টমাইজ করুন
এখন নিশ্চিত করুন যে Pi ইউএসবি স্টোরেজে SD কার্ডের পরিবর্তে রুট ফাইল সিস্টেম ব্যবহার করছে। এর জন্য আপনি ফাইলটি পরিবর্তন করুন /boot/cmdline.txt সঙ্গে sudo sed -i "s,root=/dev/mmcblk0p2,root=/dev/sda2," /mnt/usb/boot/cmdline.txt. ফাইলে একই কাজ করুন /etc/fstab: sudo sed -i "s,/dev/mmcblk0p,/dev/sda," /mnt/usb/etc/fstab. তারপর সিডি সহ আপনার হোম ডিরেক্টরিতে যান, ইউএসবি স্টোরেজ থেকে ফাইল সিস্টেমগুলি আনমাউন্ট করুন sudo umount /mnt/usb/boot এবং sudo umount /mnt/usb এবং এর সাথে Pi বন্ধ করুন sudo পাওয়ার অফ. পাওয়ার কেবলটি আনপ্লাগ করুন, SD কার্ডটি সরান এবং পাওয়ার কেবলটি আবার প্লাগ করুন৷ সবকিছু ঠিক থাকলে, আপনার Pi এখন আপনার USB স্টোরেজ থেকে বুট হবে।