একটি লিনাক্স পিসিতে অনুকরণ


48

আমি কীভাবে আমার লিনাক্স পিসিতে রাস্পবেরি পাই ওএস যুক্ত একটি এসডি কার্ড সংযুক্ত করতে পারি এবং একটি এমুলেটরটিতে ওএস বুট করব?

ভিএমওয়্যার কেন কাজ করবে না?

এই পদ্ধতির সীমাবদ্ধতাগুলি কী কী?

সম্পর্কিত: একটি উইন্ডোজ পিসিতে অনুকরণ


এটি কি কোনও অনুকরণের প্রশ্নের পরিবর্তে ভার্চুয়ালাইজেশন প্রশ্ন নয়?
জুলু

1
ভার্চুয়ালাইজেশন সম্পাদনার অনুকরণটি আমি পছন্দ করি না ... আমরা কি এটির সাথে চ্যাট করতে পারি?
অ্যালেক্স চেম্বারলাইন

2
মূল সমস্যাটি হ'ল পাইটির একটি এআরএম সিপু রয়েছে যা x86 এর সাথে বেমানান যা ভিএমওয়্যার কীভাবে চালাতে জানে। আপনার একটি এমুলেটর দরকার।
থোরবজর্ন রাভন অ্যান্ডারসন

উল্লেখ্য, রাস্পবিয়ান (ডেস্কটপ এনভায়রনমেন্টম পিক্সেল এবং বেশিরভাগ অ্যাপ্লিকেশন সহ) এর অনেকগুলি বৈশিষ্ট্য সহ কাস্টমাইজড ডেবিয়ানের একটি সংস্করণ রাস্পবেরি পাই ওয়েবসাইট
অ্যাঙ্গুসিডনি

উত্তর:


52

হ্যাঁ এটি সম্পূর্ণ সম্ভব। তবে বাস্তবে আপনি কীভাবে ভাবছেন তার থেকে এটি কিছুটা আলাদা।


প্রস্তাবনা

এসডি কার্ডে অপারেটিং সিস্টেমের একটি চিত্র রয়েছে । এবং ডিভাইসটি চালিত অবস্থায় এই চিত্রটি স্ফীত করে কাজ করে।

আমি যেমনটি আশা করি আপনি ইতিমধ্যে জানেন, একটি ওয়ার্কিং সিস্টেম তৈরি করার জন্য আপনি এই চিত্রটি এসডি কার্ডের উপরে ফ্ল্যাশ করেছেন। যাইহোক, আপনি চিত্রটি ফ্ল্যাশ করার আগে আপনি যা করতে পারেন তা কিউইএমইউ ব্যবহার করে এটির প্রায়শই খেলা শুরু করে যা প্রসেসর এমুলেটর and

এইভাবে, আপনি ছবিটিতে যে কোনও পরিবর্তন (ইনস্টল, সংকলন ইত্যাদি) আপনার এসডি কার্ডে ফ্ল্যাশ করার পরে এখনও সেখানে উপস্থিত থাকবে।

আমি এখন আপনার সাথে কীভাবে চিত্রটি লোড করতে কিউইএমইউ ব্যবহার করব তার মাধ্যমে কথা বলব। আমি আর্চ লিনাক্স চিত্রটি দিয়ে প্রদর্শিত হব, তবে প্রক্রিয়াটি নির্বিশেষে একই হওয়া উচিত।


কিউইএমইউ ব্যবহার করা হচ্ছে

Prerequesites

আপনার সিস্টেমের জন্য আপনাকে কিউইএমইউ অর্জন করতে হবে । কিউইএমইউর কেবল একটি প্রয়োজন থাকতে পারে, কাজ করার জন্য ইনপুট ডিভাইসে আপনার এসডিএল বিকাশ প্যাকেজ ইনস্টল করা দরকার যা আপনার প্যাকেজ ম্যানেজারের থেকে পাওয়া উচিত।

আমি আপনার নিয়মিত প্যাকেজ ম্যানেজার ব্যবহার করে প্যাকেজটি ডাউনলোড করার পরামর্শ দিচ্ছি:

খিলান :

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 ফাইলের অভ্যন্তরে থাকবে) প্রয়োজন।

দ্রষ্টব্য: আমি মনে করি না যে এই পদক্ষেপটি দেবিয়ানদের জন্য প্রয়োজনীয়। কেউ দয়া করে নিশ্চিত করুন।

ভাগ্যক্রমে প্রাক্পম্পাইল্ড চিত্রগুলি উপলব্ধ রয়েছে এবং আপনি এখান থেকে একটি ব্যবহার করতে পারেন ( সরাসরি ডাউনলোড )।

টোডো: এখানে একটি কার্নেল চিত্রটি কীভাবে সংকলন করবেন তা প্রদর্শন করুন?

ভিএম শুরু করা হচ্ছে

আপনার এখন হওয়া উচিত:

  • একটি img ফাইল যা আপনি সরবরাহিত sha1 (প্রস্তাবিত) ব্যবহার করে যাচাই করতে পারবেন।
  • একটি কার্নেল চিত্র (zImage)।
  • এআরএমের জন্য কিউইএমইউ।

ভার্চুয়াল মেশিনটি এখন নিম্নলিখিত দীর্ঘ-বায়ু কমান্ডটি ব্যবহার করে শুরু করা যেতে পারে:

qemu-system-arm -kernel zImage -cpu arm1176 -M versatilepb -serial stdio -append "root=/dev/sda2" -hda archlinuxarm-29-04-2012.img -clock dynticks

মনে রাখবেন যে এই পদ্ধতিটি ব্যবহার করে আপনার কাছে কেবল কয়েকশ মেগাবাইট স্টোরেজ থাকবে (ছবিতে যা কিছু অতিরিক্ত)। কিউইএমইউ ব্যবহারকারী গাইড অনুসরণ করে একটি ভার্চুয়াল হার্ড ডিস্ক তৈরি করা যেতে পারে ।


এই আমি পরে কি ছিল - ধন্যবাদ! এটি একটি দুর্দান্ত রেফারেন্স উত্তর
অ্যালেক্স এল

@ অ্যালেক্স কোনও সমস্যা নেই, আপনার যদি আমার আরও বিস্তারিত জানার দরকার হয় তবে আমাকে জানান। এছাড়াও, আপনি যদি কোনও ডেবিয়ান চিত্র কাজ করে পান তবে আমাকে বলুন এবং আমরা যদি আলাদা হয় তবে এটির নির্দেশিকায় আমরা যুক্ত করতে পারি।
জিভিংস

এখানে যুক্তিসঙ্গতভাবে পুরোপুরি ওয়াকথ্রু রয়েছে
অ্যালেক্স এল

@ অ্যালেক্স এটি খুব ভাল, আমি এটি দেখিনি।
জিভিংস

2
অন্যটি বন্ধ রয়েছে, তাই আমি যা করতে পারি তা
হ'ল

8

উবুন্টু 16.04, কিউইএমইউ 2.9.0-এম রাস্পি 2, রাস্পবিয়ান 2016-05-27, ভ্যানিলা কার্নেল

এখানে চিত্র বর্ণনা লিখুন

  1. উত্স থেকে 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`
    
  2. চিত্র ডাউনলোড করুন এবং এটি থেকে কার্নেল এবং ডিটিএস বের করুন:

    1. ছবিটি ডাউনলোড করুন এবং আনজিপ করুন:

      wget http://downloads.raspberrypi.org/raspbian/images/raspbian-2016-05-31/2016-05-27-raspbian-jessie.zip
      unzip 2016-05-27-raspbian-jessie.zip
      
    2. পার্টিশনের দ্বিতীয় চিত্রটি মাউন্ট করুন। সবচেয়ে সহজ উপায়:

      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
      
  3. চালান:

    ./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

  1. ডাউনলোড: https://github.com/dhruvvyas90/qemu-rpi-kernel/blob/36ede073f4ccb64f60200ede36c231afe9502070/kernel-qemu-4.4.12-jessie

    আমরা এটি চয়ন করি 4.4.12যেহেতু এটি রাস্পবিয়ান চিত্রের কার্নেল সংস্করণ।

    এই কার্নেল ব্লব তৈরির প্রক্রিয়াটি এখানে সংগ্রহস্থলটিতে বর্ণিত হয়েছে: https://github.com/dhruvvyas90/qemu-rpi-kernel/tree/36ede073f4ccb64f60200ede36c231afe9502070/tools

    এই অতিরিক্ত কার্নেল চিত্রটির প্রয়োজন কেন: কেমু দিয়ে অনুকরণ করা হচ্ছে: অতিরিক্ত কর্নেল কেন?

  2. উল্লিখিত হিসাবে রাস্পিয়ান চিত্রটি পরিবর্তন করুন: https://github.com/dhruvvyas90/qemu-rpi-kernel/wiki/Emulating-Jessie-image-with-4.x.xx-kernel/0068f0c21d942b0f331e18014ff8e22c20cada5c

    সারাংশ:

    1. আমরা যেমনটি করেছি তেমনই চিত্রটি মাউন্ট করুন -M raspi2তবে প্রথমটির পরিবর্তে দ্বিতীয় বিভাজনটি ব্যবহার করুন:

      sudo mount /dev/loop0p2 /mnt/rpi
      
    2. ছবিটি সম্পাদনা করুন:

      # 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
      
  3. চালান:

    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- টিউটোরিয়াল উদাহরণগুলির একটি ভাল সেট যা কেবল কিউইএমইউতে কাজ করে, অতিবেগুনি শুরু হয়: খালি ধাতব রাস্পবেরি পাই চিত্রগুলির জন্য কীমইএমইউ অনুকরণ কীভাবে করবেন


2
বাবু, তুমি দুর্দান্ত!
সুবিন

4

আপনি যা পরামর্শ দিচ্ছেন তা আপনি করতে পারবেন না, কারণ রাস্পবেরি পাইয়ের বেশিরভাগ পিসি থেকে আলাদা প্রসেসরের আর্কিটেকচার রয়েছে। বেশিরভাগ পিসি x86- ভিত্তিক, আরপিআই হ'ল একটি এআরএম ভিত্তিক কম্পিউটার।

আপনি চালাতে পারবেন না কেন এটি একই কারণ , উদাহরণস্বরূপ, আরপিআইতে মাইক্রোসফ্ট উইন্ডোজ।

ভিএমওয়্যার কাজ করবে না, কারণ এটি কেবল x86- ভিত্তিক অপারেটিং সিস্টেমগুলিকে (32-বিট এবং 64-বিট) ভার্চুয়ালাইজ করতে পারে। এছাড়াও অন্যান্য এমুলেটর রয়েছে যা এআরএমকে ভার্চুয়ালাইজ করতে পারে যেমন কিউইইএমইউ, তবে সেগুলি নেটিভ সিপিইউ ভার্চুয়ালিজ্যাটন সমর্থন ছাড়াই সম্পূর্ণ সফ্টওয়্যার এমুলেশন চালাচ্ছে, তাই আপনি এগুলি বেশ ধীর হয়ে যাওয়ার আশা করতে পারেন।


3
আপনি কীভাবে x86 (যেমন কিউইএমইউ সহ) এ রাসপিআই অনুকরণ করবেন সে সম্পর্কে আরও কিছু তথ্য অন্তর্ভুক্ত করতে পারেন ? ব্যাখ্যাটি প্রশংসা করা হলেও আমি এই প্রশ্নটিতেই সত্যই মনোনিবেশ করতে চেয়েছিলাম।
অ্যালেক্স এল

3
ভোট হ্রাস করার জন্য দুঃখিত, তবে এটি কীভাবে প্রশ্নকারীকে প্রয়োজন তা কীভাবে অর্জন করবেন তা ব্যাখ্যা করে না।
জি-।

অন্যদিকে, এটি প্রশ্নের অন্যান্য পয়েন্টগুলিকে সম্বোধন করে যা অন্য উত্তরটি দেয় না। আমি মনে করি আপনার ডাউনভোটগুলি নিখরচায় রয়েছে (এটি এই প্রশ্নটির মতো নয়)

3
এমনকি দেশীয় গুণাবলী সমর্থন ছাড়াই ধীরে ধীরে আপেক্ষিক যেহেতু আপনি সম্ভবত কোনও রাস্পবেরি পাইয়ের চেয়ে অনেক বেশি শক্তিশালী কোনও মেশিনে ভার্চুয়ালাইজ করছেন
কেনেথ উইলকে

0

আপনি সেন্সর, কমান্ড লাইন এবং ফাইল সম্পাদকের সাথে আইওটিফাইওতে অন্তর্ভুক্ত একটি রাস্পবেরি পাই সিমুলেটর সহজেই চেষ্টা করতে পারেন। বিভিন্ন প্রকল্প, ওএস দিয়ে শুরু করতে আমাদের ডকুমেন্টেশনটি https://docs.iotify.io/ এ দেখুন এবং রাস্পবেরি পাই কাজের পরিবেশের সাথে নিজেকে পরিচিত করুন।

এখানে চিত্র বর্ণনা লিখুন


1
যদিও প্রযুক্তিগতভাবে এটি একটি উত্তর, আপনি কিছু স্পষ্ট বিজ্ঞাপনের জন্য আমাদের সাইটটি বেশ স্পষ্টভাবে ব্যবহার করছেন। আপনি যে অফারটি নিখরচায় থাকতে পারেন তা এখনও ঠিক নেই। আমরা সম্প্রদায়ে আপনার অবদানের প্রশংসা করি তবে দয়া করে আপনার বিজ্ঞাপনটি অন্য কোথাও নিয়ে যান।
দারথ ভাদার

4
@ দার্থভেদার: যেহেতু পোস্টারটি জানিয়েছে যে তারা পণ্যটির সাথে যুক্ত, এবং এটি প্রশ্নের উত্তর দেয়, তাই আমি এটিকে গ্রহণযোগ্য বলে অভিহিত করছি।
জ্যাকব এম 1001
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.