আমি কীভাবে আমার লিনাক্স পিসিতে রাস্পবেরি পাই ওএস যুক্ত একটি এসডি কার্ড সংযুক্ত করতে পারি এবং একটি এমুলেটরটিতে ওএস বুট করব?
ভিএমওয়্যার কেন কাজ করবে না?
এই পদ্ধতির সীমাবদ্ধতাগুলি কী কী?
সম্পর্কিত: একটি উইন্ডোজ পিসিতে অনুকরণ
আমি কীভাবে আমার লিনাক্স পিসিতে রাস্পবেরি পাই ওএস যুক্ত একটি এসডি কার্ড সংযুক্ত করতে পারি এবং একটি এমুলেটরটিতে ওএস বুট করব?
ভিএমওয়্যার কেন কাজ করবে না?
এই পদ্ধতির সীমাবদ্ধতাগুলি কী কী?
সম্পর্কিত: একটি উইন্ডোজ পিসিতে অনুকরণ
উত্তর:
হ্যাঁ এটি সম্পূর্ণ সম্ভব। তবে বাস্তবে আপনি কীভাবে ভাবছেন তার থেকে এটি কিছুটা আলাদা।
এসডি কার্ডে অপারেটিং সিস্টেমের একটি চিত্র রয়েছে । এবং ডিভাইসটি চালিত অবস্থায় এই চিত্রটি স্ফীত করে কাজ করে।
আমি যেমনটি আশা করি আপনি ইতিমধ্যে জানেন, একটি ওয়ার্কিং সিস্টেম তৈরি করার জন্য আপনি এই চিত্রটি এসডি কার্ডের উপরে ফ্ল্যাশ করেছেন। যাইহোক, আপনি চিত্রটি ফ্ল্যাশ করার আগে আপনি যা করতে পারেন তা কিউইএমইউ ব্যবহার করে এটির প্রায়শই খেলা শুরু করে যা প্রসেসর এমুলেটর and
এইভাবে, আপনি ছবিটিতে যে কোনও পরিবর্তন (ইনস্টল, সংকলন ইত্যাদি) আপনার এসডি কার্ডে ফ্ল্যাশ করার পরে এখনও সেখানে উপস্থিত থাকবে।
আমি এখন আপনার সাথে কীভাবে চিত্রটি লোড করতে কিউইএমইউ ব্যবহার করব তার মাধ্যমে কথা বলব। আমি আর্চ লিনাক্স চিত্রটি দিয়ে প্রদর্শিত হব, তবে প্রক্রিয়াটি নির্বিশেষে একই হওয়া উচিত।
আপনার সিস্টেমের জন্য আপনাকে কিউইএমইউ অর্জন করতে হবে । কিউইএমইউর কেবল একটি প্রয়োজন থাকতে পারে, কাজ করার জন্য ইনপুট ডিভাইসে আপনার এসডিএল বিকাশ প্যাকেজ ইনস্টল করা দরকার যা আপনার প্যাকেজ ম্যানেজারের থেকে পাওয়া উচিত।
আমি আপনার নিয়মিত প্যাকেজ ম্যানেজার ব্যবহার করে প্যাকেজটি ডাউনলোড করার পরামর্শ দিচ্ছি:
খিলান :
sudo pacman -S sdl qemu
উবুন্টু :
আরও সাম্প্রতিক সংস্করণগুলির (14.04 সাল থেকে) এর জন্য একটি প্যাকেজ রয়েছে:
sudo apt-get install qemu-system-arm
পুরানো সংস্করণগুলির জন্য:
sudo apt-get install libsdl-dev
sudo add-apt-repository ppa:linaro-maintainers/tools
sudo apt-get update
sudo apt-get install qemu-system
বিল্ডিং কিউইউ নিজেই
বিকল্পভাবে, আপনি নিজেরাই কিউইএমইউ তৈরি করতে পারেন। আপনি যদি একটি নতুন সংস্করণ চেষ্টা করতে চান তবে এটি দুর্দান্ত, তবে এটি ধীর হতে পারে এবং সংকলনের সময় প্রচুর ত্রুটির জন্য প্রস্তুত হতে পারে! নোট করুন যে তাদের ওয়েবসাইট থেকে কিউইএমইউ তৈরি করা থাকলে এটি অবশ্যই আর্ম সমর্থনের জন্য সংকলন করা উচিত। সুতরাং প্রথমে আপনার ডিস্ট্রো সংগ্রহস্থলগুলি পরীক্ষা করুন। এটি যেমন করা যেতে পারে;
mkdir rpi-emu && cd rpi-emu
wget http://wiki.qemu.org/download/qemu-1.1.0-1.tar.bz2
tar xvjf qemu-1.1.0-1.tar.bz2
cd qemu-1.1.0-1
./configure –target-list=arm-softmmu,arm-linux-user
make
sudo make install
আপনার সাথে এআরএম সমর্থন রয়েছে তা যাচাই করুন:
qemu-system-arm --version
QEMU emulator version 1.0,1, Copyright (c) 2003-2008 Fabrice Bellard
আমরা আর্চ লিনাক্সের সাথে কাজ করছি, তাই আর্চ আর্ম চিত্রটি ব্যবহার করব। তবে আপনি যা কাজ করতে চান তার সাথে এটি প্রতিস্থাপন করুন বা সম্ভবত আপনার ইতিমধ্যে একটি চিত্র রয়েছে। কোন ক্ষেত্রে এই পদক্ষেপটি এড়িয়ে যান।
wget http://anorien.csc.warwick.ac.uk/mirrors/raspberrypi.org/images/archlinuxarm/archlinuxarm-29-04-2012/archlinuxarm-29-04-2012.zip
unzip archlinuxarm-29-04-2012.zip
কিউইএমইউ কাজ করার জন্য আমাদের কার্নেল চিত্রও (যা .img ফাইলের অভ্যন্তরে থাকবে) প্রয়োজন।
দ্রষ্টব্য: আমি মনে করি না যে এই পদক্ষেপটি দেবিয়ানদের জন্য প্রয়োজনীয়। কেউ দয়া করে নিশ্চিত করুন।
ভাগ্যক্রমে প্রাক্পম্পাইল্ড চিত্রগুলি উপলব্ধ রয়েছে এবং আপনি এখান থেকে একটি ব্যবহার করতে পারেন ( সরাসরি ডাউনলোড )।
টোডো: এখানে একটি কার্নেল চিত্রটি কীভাবে সংকলন করবেন তা প্রদর্শন করুন?
আপনার এখন হওয়া উচিত:
ভার্চুয়াল মেশিনটি এখন নিম্নলিখিত দীর্ঘ-বায়ু কমান্ডটি ব্যবহার করে শুরু করা যেতে পারে:
qemu-system-arm -kernel zImage -cpu arm1176 -M versatilepb -serial stdio -append "root=/dev/sda2" -hda archlinuxarm-29-04-2012.img -clock dynticks
মনে রাখবেন যে এই পদ্ধতিটি ব্যবহার করে আপনার কাছে কেবল কয়েকশ মেগাবাইট স্টোরেজ থাকবে (ছবিতে যা কিছু অতিরিক্ত)। কিউইএমইউ ব্যবহারকারী গাইড অনুসরণ করে একটি ভার্চুয়াল হার্ড ডিস্ক তৈরি করা যেতে পারে ।
উবুন্টু 16.04, কিউইএমইউ 2.9.0-এম রাস্পি 2, রাস্পবিয়ান 2016-05-27, ভ্যানিলা কার্নেল
উত্স থেকে QEMU 2.9.0 কম্পাইল করুন:
sudo apt-get build-dep qemu-system-arm
git clone --recursive git://git.qemu-project.org/qemu.git
cd qemu
git checkout v2.9.0
./configure
make `nproc`
চিত্র ডাউনলোড করুন এবং এটি থেকে কার্নেল এবং ডিটিএস বের করুন:
ছবিটি ডাউনলোড করুন এবং আনজিপ করুন:
wget http://downloads.raspberrypi.org/raspbian/images/raspbian-2016-05-31/2016-05-27-raspbian-jessie.zip
unzip 2016-05-27-raspbian-jessie.zip
পার্টিশনের দ্বিতীয় চিত্রটি মাউন্ট করুন। সবচেয়ে সহজ উপায়:
sudo losetup -f --show -P 2016-05-27-raspbian-jessie.img
এটি কেবল losetup
উবুন্টু ১.0.০৪ এ সর্বশেষ ব্যবহার করে, অন্যান্য পদ্ধতিতে এখানে: https://askubuntu.com
এটি একটি লুপ ডিভাইস মুদ্রণ করে, যেমন:
/dev/loop0
সুতরাং আমরা কি:
sudo mkdir /mnt/rpi
sudo mount /dev/loop0p1 /mnt/rpi
cp /mnt/rpi/kernel7.img bcm2709-rpi-2-b.dtb .
sudo umount /mnt/rpi
sudo losetup -d /dev/loop0
চালান:
./arm-softmmu/qemu-system-arm \
-M raspi2 \
-append "rw earlyprintk loglevel=8 console=ttyAMA0,115200 dwc_otg.lpm_enable=0 root=/dev/mmcblk0p2" \
-cpu arm1176 \
-dtb bcm2709-rpi-2-b.dtb \
-sd 2016-05-27-raspbian-jessie.img \
-kernel kernel7.img \
-m 1G \
-smp 4 \
-serial stdio \
;
তারপরে আপনি আপনার হোস্ট টার্মিনালে প্রদর্শিত টার্মিনালে লগইন করতে পারেন shows
বর্তমান সীমাবদ্ধতা:
-M raspi2
কিউইএমইউ ২..0.০ এ যুক্ত হয়েছিল এবং উবুন্টু ১.0.০৪-তে কেবল কিউএমইউ ২.০.০ রয়েছে, সুতরাং আমাদের উত্স থেকে কিউইএমইউ সংকলন করতে হবে। তবে এটি কঠিন নয়।উবুন্টু 16.04, কিউইএমইউ 2.5.0, রাস্পবিয়ান 2016-05-27, পরিবর্তিত কার্নেল
এই পদ্ধতিটি ব্যবহার করে -M versatilepb
যা উবুন্টু 16.04 এর QEMU 2.5.0 এ উপস্থিত রয়েছে।
খারাপ দিকটি হ'ল আপনাকে একটি পরিবর্তিত কার্নেল ডাউনলোড করতে হবে ( কিমু দিয়ে এমুলেটিং: অতিরিক্ত কার্নেলটি কেন? ) এবং চিত্রটি সংশোধন করতে হবে, সুতরাং এটি প্রকৃত সিস্টেমের কম প্রতিনিধি representative
আমরা এটি চয়ন করি 4.4.12
যেহেতু এটি রাস্পবিয়ান চিত্রের কার্নেল সংস্করণ।
এই কার্নেল ব্লব তৈরির প্রক্রিয়াটি এখানে সংগ্রহস্থলটিতে বর্ণিত হয়েছে: https://github.com/dhruvvyas90/qemu-rpi-kernel/tree/36ede073f4ccb64f60200ede36c231afe9502070/tools
এই অতিরিক্ত কার্নেল চিত্রটির প্রয়োজন কেন: কেমু দিয়ে অনুকরণ করা হচ্ছে: অতিরিক্ত কর্নেল কেন?
উল্লিখিত হিসাবে রাস্পিয়ান চিত্রটি পরিবর্তন করুন: https://github.com/dhruvvyas90/qemu-rpi-kernel/wiki/Emulating-Jessie-image-with-4.x.xx-kernel/0068f0c21d942b0f331e18014ff8e22c20cada5c
সারাংশ:
আমরা যেমনটি করেছি তেমনই চিত্রটি মাউন্ট করুন -M raspi2
তবে প্রথমটির পরিবর্তে দ্বিতীয় বিভাজনটি ব্যবহার করুন:
sudo mount /dev/loop0p2 /mnt/rpi
ছবিটি সম্পাদনা করুন:
# Comment out the line present there with #
sudo vim /mnt/rpi/etc/ld.so.preload
# Comment out the lines of type: "/dev/mmcblk*"
sudo vim /mnt/rpi/etc/fstab
চালান:
sudo apt-get install qemu-system-arm
qemu-system-arm \
-kernel kernel-qemu-4.4.12-jessie \
-cpu arm1176 \
-m 256 \
-M versatilepb \
-no-reboot \
-serial stdio \
-append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" \
-hda 2016-05-27-raspbian-jessie.img
[ব্যর্থ] উবুন্টু ১.0.০৪, কিউইএমইউ ২.৮.০-এম রাস্পি ২, রাস্পবিয়ান ২০১-0-০৫-২7, ভ্যানিলা কার্নেল
এই নতুন উবুন্টুতে, QEMU 2.8.0টি ডিফল্ট, সুতরাং এর জন্য আমাদের উত্স থেকে কিউইএমইউ সংকলন করতে হবে না -M raspi2
। তবে, বার্তাটির পরে বুটটিতে ২.৮.০ হ্যাং রয়েছে:
Console: switching to colour frame buffer device 100x30
এটি দেখায় যে -M raspi2
এখনও অস্থির to
[ব্যর্থ] উবুন্টু 16.04, কিউইএমইউ 2.9.0-এম রাস্পি 2, রাস্পবিয়ান 2017-08-16, ভ্যানিলা কার্নেল
এই নতুন চিত্রটিতে, 2016-05-27 এর জন্য একই পদ্ধতি ব্যবহার করে, বুট করার সময় কার্নেল প্যানিক্স:
Please append a correct "root=" boot option; here are the available partitions:
...
[ 4.138114] ---[ end Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(0,0)
bztsrc/raspi3-tutorial
আরপিআই 3 কিউইএমইউতে খালি ধাতু
https://github.com/bztsrc/raspi3- টিউটোরিয়াল উদাহরণগুলির একটি ভাল সেট যা কেবল কিউইএমইউতে কাজ করে, অতিবেগুনি শুরু হয়: খালি ধাতব রাস্পবেরি পাই চিত্রগুলির জন্য কীমইএমইউ অনুকরণ কীভাবে করবেন
আপনি যা পরামর্শ দিচ্ছেন তা আপনি করতে পারবেন না, কারণ রাস্পবেরি পাইয়ের বেশিরভাগ পিসি থেকে আলাদা প্রসেসরের আর্কিটেকচার রয়েছে। বেশিরভাগ পিসি x86- ভিত্তিক, আরপিআই হ'ল একটি এআরএম ভিত্তিক কম্পিউটার।
আপনি চালাতে পারবেন না কেন এটি একই কারণ , উদাহরণস্বরূপ, আরপিআইতে মাইক্রোসফ্ট উইন্ডোজ।
ভিএমওয়্যার কাজ করবে না, কারণ এটি কেবল x86- ভিত্তিক অপারেটিং সিস্টেমগুলিকে (32-বিট এবং 64-বিট) ভার্চুয়ালাইজ করতে পারে। এছাড়াও অন্যান্য এমুলেটর রয়েছে যা এআরএমকে ভার্চুয়ালাইজ করতে পারে যেমন কিউইইএমইউ, তবে সেগুলি নেটিভ সিপিইউ ভার্চুয়ালিজ্যাটন সমর্থন ছাড়াই সম্পূর্ণ সফ্টওয়্যার এমুলেশন চালাচ্ছে, তাই আপনি এগুলি বেশ ধীর হয়ে যাওয়ার আশা করতে পারেন।
আপনি সেন্সর, কমান্ড লাইন এবং ফাইল সম্পাদকের সাথে আইওটিফাইওতে অন্তর্ভুক্ত একটি রাস্পবেরি পাই সিমুলেটর সহজেই চেষ্টা করতে পারেন। বিভিন্ন প্রকল্প, ওএস দিয়ে শুরু করতে আমাদের ডকুমেন্টেশনটি https://docs.iotify.io/ এ দেখুন এবং রাস্পবেরি পাই কাজের পরিবেশের সাথে নিজেকে পরিচিত করুন।