যেমন ইতিমধ্যে চিহ্নিত করা হয়েছে, আপনাকে আপনার ডিভাইসে একটি এআরএম-সক্ষম ক্রুট ইনস্টল করতে হবে এবং সেই ক্রুটে সমস্ত প্রয়োজনীয় প্যাকেজ ইনস্টল করতে হবে। তবে আপনার হোম ডিরেক্টরিতে এটি করার ফলে প্রচুর মূল্যবান জায়গা নষ্ট হয়। পরিবর্তে, এটি একটি উপযুক্ত লিনাক্স ওএসে চালিত একটি কম্পিউটার ব্যবহার করে আপনার এসডি-কার্ডে করা যেতে পারে (লিনাক্স মিন্ট 17 এবং উবুন্টু ট্রাস্টিতে পরীক্ষিত)। যেহেতু আমি অন্য কোথাও এ সম্পর্কে কোনও তথ্য পাইনি, আমি এটি একটি পুরানো প্রশ্নের উত্তর হিসাবে এখানে রেখেছি।
নিম্নলিখিত নির্দেশাবলী ধরে নেওয়া হয় যে আপনি ডিরেক্টরি জেসিতে একটি ডেবিয়ান জেসি ক্রুট ইনস্টল করতে চান।
একটি ডেস্কটপ কম্পিউটারে চিত্র ফাইল তৈরি এবং পপুলেট করা
একটি খালি চিত্র ফাইল তৈরি করা হচ্ছে
বর্তমান কার্যনির্বাহী ডিরেক্টরিতে IMAGE.img নামে একটি 1 জিবি চিত্র তৈরি করতে, করুন:
dd if=/dev/zero of=IMAGE.img bs=1G count=1
দ্রষ্টব্য যে জিবিতে বিটি বাকি রয়েছে। "যদি" এর অর্থ "ইনপুট ফাইল", "আউটপুট ফাইলের" এর "এবং" ব্লক আকার "এর জন্য" বিএস "থাকে।
এখানে আরও দক্ষ কমান্ড রয়েছে, তবে এগুলি কেবলমাত্র নির্দিষ্ট ধরণের ফাইল সিস্টেমগুলিতে কাজ করে, যতদূর আমি জানি। এটি একটি এসডি-কার্ড বা একটি টেম্পসগুলিতেও কাজ করে। দয়া করে / dev / শূন্য এবং / dev / এলোমেলো বা / dev / urandom এর ব্যবহারটি নোট করুন কারণ এটি ডিভাইসগুলির মধ্যে চিত্রটি পরে স্থানান্তর করতে আরও বেশি সময় নিতে পারে।
ইমেজে একটি ফাইল সিস্টেম তৈরি করা হচ্ছে
ফাইল সিস্টেম ব্যতীত ফোনটি ছবিতে কোনও ডেটা সঞ্চয় করতে সক্ষম হবে না। কোনও ফাইল সিস্টেম ব্যতীত আপনি চিত্রটি কোনও ডিরেক্টরিতে কেবল একটি ব্লক-ডিভাইসে মাউন্ট করতে পারবেন না।
এই বাশ-কমান্ডটি পরবর্তী খালি লুপ ডিভাইসটিকে ভেরিয়েবলের মধ্যে আউটপুট দেবে LOOP
:
$LOOP=$(sudo losetup -f)
এর পরে, চিত্রটিকে একটি ব্লক ডিভাইসে বরাদ্দ করুন:
sudo losetup $LOOP IMAGE.img
এর পরে, এতে ext4 ফাইল সিস্টেম তৈরি করুন:
sudo mkfs -t ext4 $LOOP
এরপরে, লুপ ডিভাইস থেকে চিত্রটি আলাদা করুন:
sudo losetup -d $LOOP
যদি আপনি কমান্ডটি ত্রুটিগুলি খুঁজে না পান তবে কেবল অনুপস্থিত প্রোগ্রামগুলি ইনস্টল করুন।
ছবিটি অ্যাক্সেস করার জন্য কম্পিউটারে মাউন্ট করুন
এখন, ওয়ার্কিং ডিরেক্টরিতে একটি অস্থায়ী ডিরেক্টরি তৈরি করুন:
mkdir jessie
এবং এতে চিত্র ফাইলটি IMAGE.img মাউন্ট করুন:
sudo mount -o loop IMAGE.img $(pwd)/jessie
কমান্ডটি pwd
নিশ্চিত করবে যে আপনি আপনার বর্তমান কার্যনির্বাহী ডিরেক্টরিতে মাউন্টকে একটি পরম পাথ দিয়েছেন।
নতুন অপারেটিং সিস্টেমের সাথে qemu-debootstrap দিয়ে চিত্রটি পপুলেট করা
পরবর্তী পদক্ষেপটি হবে প্রয়োজনীয় ফাইলগুলি ডাউনলোড করতে qemu-debootstrap ব্যবহার করা। যদি উবুন্টু এবং উত্পন্ন ওএস-এর ক্ষেত্রে কিউমু-ডিবুটস্ট্র্যাপ উপলব্ধ থাকে তবে এটি সহজ। আপনি যদি আদেশটি কার্যকর করতে গিয়ে ত্রুটিগুলি খুঁজে না পান
qemu-debootstrap --help
তবে উপযুক্ত প্যাকেজটি ইনস্টল করার চেষ্টা করুন যা উবুন্টু এর মাধ্যমে করা যেতে পারে:
sudo apt-get install qemu-user-static
সমস্ত প্রয়োজনীয় ফাইল ডাউনলোড করতে এবং নতুন ওএস প্রস্তুত করতে নিম্নলিখিত কমান্ডটি চালান:
sudo qemu-debootstrap --arch=armhf jessie ./jessie http://http.debian.net/debian
দয়া করে মনে রাখবেন যে প্রথমটি jessie
ওএস সংস্করণটির jessie
জন্য দাঁড়িয়েছে যেখানে দ্বিতীয়টি যেখানে ফাইলগুলি ইনস্টল করা হবে সেই ডিরেক্টরিটির জন্য। এর মাধ্যমে এটি করুন:
sudo umount $(pwd)/jessie
আপনি যদি qemu-debootstrap ইনস্টল করতে না পারেন তবে পরবর্তী বিভাগটি দেখুন।
নতুন অপারেটিং সিস্টেমের সাহায্যে চিত্রটি qemu-debootstrap ছাড়াই পপুলেট করা
আপনার যদি কিউমু-ডিবুটস্ট্র্যাপ উপলব্ধ থাকে তবে দয়া করে এই বিভাগটি এড়িয়ে যান। যদিও আপনার আর্কিটেকচারের জন্য আপনার এখনও একটি নেটিভ ডিবাটস্ট্র্যাপের প্রয়োজন হবে। এই armhf হতে হবে তাহলে, শুধুমাত্র উপরের কমান্ড লাইন ব্যবহার করতে পারে তবে প্রতিস্থাপন qemu-debootstrap
দ্বারা
debootstrap
। যদি তা না হয় তবে এই বিভাগটি অনুসরণ করুন।
নতুন ওএসের জন্য প্রয়োজনীয় সমস্ত ফাইল ডাউনলোড করতে নিম্নলিখিত কমান্ডটি চালান:
sudo debootstrap --arch=armhf --foreign jessie ./jessie \
http://http.debian.net/debian
বাকী কাজ ফোনে করতে হওয়ায় এখন আপনি চিত্রটি আনমাউন্ট করতে পারবেন। এর মাধ্যমে এটি করুন:
sudo umount $(pwd)/jessie
ফোনে চিত্র স্থানান্তর করুন
আপনি এখন আপনার ফোনে অনুলিপি করুন যা এ থেকে সেরা একটি সংরক্ষণাগার তৈরি করুন। সংরক্ষণাগারটি এসডি-কার্ডে বা অভ্যন্তরীণ স্টোরেজে রাখা হয়েছে কিনা তা বিবেচ্য নয়। ডেস্কটপে এটি ব্যবহার করে সংরক্ষণাগার তৈরি করুন:
tar -cvzf jessie.tar.gz IMAGE.img
এখন, আপনার ফোনে, চিত্রটি অনুলিপি করতে ssh সমর্থন চালু করুন। পরিবর্তে আপনি একটি ইউএসবি-কেবল ব্যবহার করে এটিও করতে পারেন। যেহেতু প্রতিটি রিবুট-এ ssh সার্ভারটি পুনরায় সেট করা হয়েছে, ফোনের মাধ্যমে এসএসএস পরিষেবাটি এর মাধ্যমে শুরু করুন:
sudo service ssh start
এর পরে, এর মাধ্যমে চিত্রটি অনুলিপি করুন:
scp jessie.tar.gz phablet@ubuntu-phablet:$COPYDIR
যেখানে ভেরিয়েবলের COPYDIR
ডিরেক্টরি রয়েছে সেখানে চিত্রটি সংরক্ষণ করা হবে। এই কমান্ডটি ধরে নিয়েছে যে ফোনে আপনার ব্যবহারকারীর নামটি ফ্যাবলেট এবং ফোনের হোস্টনাম উবুন্টু-ফ্যাবলেট। আপনি উভয় জারি করে খুঁজে বের করতে পারেন echo $USER
এবং echo $HOSTNAME
যথাক্রমে ফোনে।
এখন আপনি কেবল যেখানেই চিত্রটি বাস করতে চান সেখানে সংরক্ষণাগারটি বের করতে হবে। আপনি যে ডিরেক্টরিটি চিত্রটি অবস্থিত করতে চান সেখানে ভেরিয়েবলে সঞ্চিত থাকে তা ধরে নিন IMAGEDIR
। বাশ কমান্ডের মাধ্যমে চিত্রটি এখানে আনুন:
( cd $IMAGEDIR; tar -xvzf $COPYDIR/jessie.tar.gz; )
আপনি এখন সংরক্ষণাগারটি মুছে ফেলতে পারেন:
rm $COPYDIR/jessie.tar.gz
ফোনে চিত্রটি চূড়ান্ত করা এবং ব্যবহার করা
আপনি যদি ফোনে ssh সার্ভারটি চালু না করেন তবে এখনই এর মাধ্যমে করুন:
sudo service ssh start
এর পরে, আপনার ইমেজটিকে আপনার পছন্দের ডিরেক্টরিতে মাউন্ট করুন (এই ক্ষেত্রে "জেসি"):
sudo mount -o loop $IMAGEDIR/IMAGE.img $(pwd)/jessie
এখন, প্রথম বারের মাধ্যমে আপনার ক্রুট প্রবেশ করুন:
ssh localhost "sudo chroot $(pwd)/jessie /bin/bash"
আপনার কম্পিউটারে যদি কেমু-ডিবুটস্ট্র্যাপ উপলব্ধ থাকে তবে আপনি সব শেষ করেছেন। আপনার ক্রুটের সাথে সংযোগ করতে উপরের দুটি কমান্ড ব্যবহার করুন। যদি তা না হয় তবে ওএসের সঠিকভাবে সেটআপ করার জন্য আপনাকে নিজের ক্রুটের অভ্যন্তরে প্রবেশ করার পরেও নিম্নলিখিত কমান্ডটি প্রয়োগ করতে হবে:
/debootstrap/debootstrap --second-stage
ক্রুট অ্যাক্সেসের সংক্ষিপ্তসার
আপনি যদি উপরের পদক্ষেপগুলি অনুসরণ করেন তবে ফোনে এই সাধারণ স্ক্রিপ্টটি ব্যবহার করে আপনার ক্রুটটি অ্যাক্সেস করতে সক্ষম হওয়া উচিত:
#!/bin/bash
sudo service ssh start
ssh localhost "sudo chroot jessie /bin/bash"
টার্মিনাল অ্যাপ্লিকেশনটির অ্যাপারমোর সীমাবদ্ধতার কারণে আপনাকে প্রথমে ফোন থেকে নিজের ফোনে প্রবেশ করতে হবে। টার্মিনাল অ্যাপ্লিকেশনটিকে কেবল নির্দিষ্ট স্থানে বাইনারিগুলি চালানোর অনুমতি দেওয়া হয় এবং আপনার হোম ডিরেক্টরি বা এসডি কার্ডের মধ্যে একটিও নয়। Ssh পরিষেবাদিতে অবশ্য এ জাতীয় বিধিনিষেধ নেই।