কেমু ব্যবহার করে রাস্পবেরি পাই অনুকরণ করতে পারে না: কার্নেল আতঙ্ক


15

আমার ফেডোরা 22 মেশিনে রাস্পবেরি পাই অনুকরণ করার জন্য আমি ইন্টারনেটে বিভিন্ন গাইড অনুসরণ করার চেষ্টা করছি। আমি এই প্রশ্নটি পেয়েছি: কিউইএমইউতে রাস্পবিয়ানকে অনুকরণ করে এটি একটি কার্নেল দখল করার জন্য কার্নেল- কিমু খুঁজে পেতে ব্যবহার করে । আমি 2015-09-24-raspbian-jessie.imgরাস্পবেরি পাইতে ভাল লোক থেকে ডাউনলোড করেছি ।

আমি যখন চালানোর চেষ্টা করি তখন আমি qemu-system-armকর্নেল প্যানিক পাই। আমি কি অনুপস্থিত কিছু আছে?

qemu-system-armআমি টাইপ করা কমান্ড লাইন এখানে :

qemu-system-arm -cpu arm1176 -m 256 -M versatilepb -no-reboot -nographic -kernel kernel-qemu -appc=2 console=ttyAMA0 rw" -hda 2015-09-24-raspbian-jessie.img -net nic -net user,hostfwd=tcp::9999-:22

কার্নেল বার্তা অনুসরণ করে:

sd 0:0:0:0: [sda] Attached SCSI disk
smc91x.c: v1.1, sep 22 2004 by Nicolas Pitre <nico@fluxnic.net>
eth0: SMC91C11xFD (rev 1) at d089a000 IRQ 25 [nowait]
eth0: Ethernet addr: 52:54:00:12:34:56
mousedev: PS/2 mouse device common for all mice
TCP cubic registered
NET: Registered protocol family 17
input: AT Raw Set 2 keyboard as /devices/fpga:06/serio0/input/input0
input: ImExPS/2 Generic Explorer Mouse as /devices/fpga:07/serio1/input/input1
EXT2-fs (sda2): error: couldn't mount because of unsupported optional features (244)
EXT4-fs (sda2): couldn't mount as ext3 due to feature incompatibilities
EXT4-fs (sda2): recovery complete
EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 8:2.
devtmpfs: mounted
Freeing init memory: 120K
Kernel panic - not syncing: Attempted to kill init!
[<c0032bec>] (unwind_backtrace+0x0/0xf0) from [<c03064dc>] (panic+0x58/0x170)
[<c03064dc>] (panic+0x58/0x170) from [<c0044054>] (do_exit+0x5d0/0x68c)
[<c0044054>] (do_exit+0x5d0/0x68c) from [<c004435c>] (do_group_exit+0x40/0xb0)
[<c004435c>] (do_group_exit+0x40/0xb0) from [<c004ed48>] (get_signal_to_deliver+0x1a8/0x378)
[<c004ed48>] (get_signal_to_deliver+0x1a8/0x378) from [<c002f124>] (do_signal+0x90/0x518)
[<c002f124>] (do_signal+0x90/0x518) from [<c002fa64>] (do_notify_resume+0x48/0x54)
[<c002fa64>] (do_notify_resume+0x48/0x54) from [<c002cc38>] (work_pending+0x24/0x28)

2
আপনি কি হুইজি ইমেজ অনুকরণ করার চেষ্টা করেছেন? কার্নেল যদি এটির সাথে কাজ করে তবে এটি অবশ্যই জেসি হবে।
dhruvvyas90

ওহ, দুহ! হ্যাঁ যখন কার্নেলটি ইমগের সাথে মেলে না, জিনিসগুলি ভেঙে যায়! হুইজি ইমেজটি কাজ করে ... ধন্যবাদ
মাইক এস

উত্তর:


4

@ দস্তান যেমন বলেছে, কার্নেল সংস্করণটির img ফাইলটি মেলাতে হবে। আমি একটি 3.1 কার্নেল সহ একটি 4.1 কার্নেল সংস্করণ চিত্র ফাইলটি ব্যবহার করার চেষ্টা করছিলাম।

এখন যেহেতু আমি সঠিক চিত্রটি ব্যবহার করছি, এটি কাজ করে।

ধন্যবাদ!

সম্পাদনা করুন: এটি কাজ করা বেশ সহজবোধ্য: https://github.com/dhruvvyas90/qemu-rpi-kernel/ থেকে চিত্রটি ধরুন, তারপরে আপনি চান রাস্পিয়ান চিত্রটি https://www.raspberrypi.org/ এ ডাউনলোড করুন ডাউনলোড / রাস্পবিয়ান / । বর্তমানে, জেসি এবং হুইজি উভয় স্থানে রয়েছে তবে ভবিষ্যতে কোনও গ্যারান্টি নেই যে উপযুক্ত কার্নেল সেই গিথুব সাইটে উপলব্ধ হবে। যে কোনও ইভেন্টে, আমি নিজেই গতির সাথে এতটা মুগ্ধ হইনি তাই আমি আমার ল্যাপটপের তারযুক্ত নেটওয়ার্ক পোর্টে একটি সত্যিকারের পাই স্থাপন এবং 5200 এমএএইচ সেলফোন সহায়ক ব্যাটারি থ্যাচির মাধ্যমে পাওয়ারিং এবং ল্যাপটপে ভিএনসি ব্যবহার করে দেখছি একটি প্রদর্শন.

আমি জেসিকে কাজ করতে পাইনি; এটাই সমস্যা ছিল - আমার কাছে হুইজি কার্নেল এবং জেসি চিত্র ছিল, তবে আমার কাছে জেসির কার্নেলটি ছিল না।


1
আপনি কীভাবে সাম্প্রতিক কার্নেলটি ব্যবহার করে এটি সমাধান করেছেন তা বিশদ উত্তর যুক্ত করতে পারেন? এটি জেসি অনুকরণ করার চেষ্টা করা অন্যান্য ব্যবহারকারীদের সহায়তা করবে। ধন্যবাদ।
dhruvvyas90

3
আমি একটি জেসি কার্নেল এবং জেসি চিত্র চেষ্টা করেছি এবং তারা একই ত্রুটির সাথে ব্যর্থ হচ্ছে। একটি 4.1 কার্নেল ( github.com/dhruvvyas90/qemu-rpi-kernel/blob/master/… ) এবং নিয়মিত জেসি পোস্ট মে 2015 এর রাস্পবিয়ান থেকে।
মাইকেল ম্যাকগারাহ

কোনও অপরাধ নয়, তবে জেসি কার্নেলের মতো কোনও জিনিস নেই। সঙ্গে raspbian netinstaller আপনি হুইজি বা Jessie এবং উভয় ক্ষেত্রেই সঠিক একই কার্নেল ইনস্টল পরার ইনস্টল করতে পারেন।
ডিয়েডেরিক ডি হাসাস

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

@ মিচেলম্যাকগারাহ o রেপোর উইকিটি পড়ে কাজটি করতে পেরেছেন: রাস্পবেরিপি.স্ট্যাকেকেক্সচেঞ্জ / আ / 3৩৯৩৩ / ৩৩৪৪৪ আপনাকে রাসম্পিয়ান চিত্রটি কিছুটা সামান্য তিরস্কার করতে হবে।
সিরো সান্তিলি 新疆 改造 中心 法轮功 六四

1

আমার কিউমু সক্ষম করা কার্নেলটি নির্দ্বিধায় দেখতে পারেন: https://github.com/diederikdehaas/raspbian-kernel
প্রতিশ্রুতিবদ্ধ বার্তাগুলিতে আপনি কী কীভাবে কীভাবে পরিবর্তন করা হয়েছিল তার বিশদ বিবরণ পেতে পারেন।
এর বেশিরভাগটি এই নিবন্ধটির উপর ভিত্তি করে ছিল: https://web.archive.org/web/20131210001638/http://xecdesign.com/compiling-a-kernel/


1

উবুন্টু 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.০৪ এ সর্বশেষ ব্যবহার করে, অন্যান্য পদ্ধতিতে এখানে: /ubuntu/69363/mount-single-partition-from-image-of-entire-disk-device/496576#496576

      এটি একটি লুপ ডিভাইস মুদ্রণ করে, যেমন:

      /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 \
    ;
    

তারপরে আপনি আপনার হোস্ট টার্মিনালে প্রদর্শিত টার্মিনালে লগইন করতে পারেন on

বর্তমান সীমাবদ্ধতা:

  • -M raspi2কিউএমইউ ২.6.০ এ যুক্ত হয়েছিল এবং উবুন্টু ১ 16.০৪-তে কেবল কিউইএমইউ ২.০.০ রয়েছে, সুতরাং আমাদের উত্স থেকে কিউইএমইউ সংকলন করতে হবে। তবে এটি কঠিন নয়।
  • জিইউআই প্রদর্শন করে তবে এসডিএল এবং ভিএনসি উভয়কেই পরীক্ষিত মাউস / কীবোর্ডকে সাড়া দিচ্ছে না। তবে সিএলআই পুরোপুরি কাজ করে। সুতরাং আপনি পাশাপাশি লাইট চিত্রটি ব্যবহার করতে পারেন যা আপাতত জিইউআই হয়েছে।
  • কোন নেটওয়ার্কিং

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

এই পদ্ধতিটি ব্যবহার করে -M versatilepbযা উবুন্টু 16.04 এর QEMU 2.5.0 এ উপস্থিত রয়েছে।

খারাপ দিকটি হ'ল আপনাকে একটি পরিবর্তিত কার্নেল ডাউনলোড করতে হবে ( কিমু দিয়ে এমুলেটিং: অতিরিক্ত কার্নেলটি কেন? ) এবং চিত্রটি সংশোধন করতে হবে, সুতরাং এটি প্রকৃত সিস্টেমের কম প্রতিনিধি is

  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এখনও কতটা অস্থির তা দেখায় ।

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


আপনার পদ্ধতিটি losetupঅতি জটিল। পরিবর্তে আপনি কেবল ব্যবহার করতে পারেন fdisk -l your-image.img, এবং তারপরে mountঅপশনটিতে পার্টিশনের অফসেটটি ব্যবহার করতে পারেন -o loop,offset=$((512*YOUR_OFFSET))
রুসলান

-এম রাস্পি 2 কাজ করছে না
zhaofeng-shu33

0

বেশিরভাগ গাইড পুরানো এবং ভাঙা লিঙ্কগুলি ধারণ করে। আপনাকে অবশ্যই একটি প্যাচড কার্নেল ব্যবহার করতে হবে যা আপনি ব্যবহার করছেন রাস্পবিয়ান সংস্করণের সাথে মেলে।

নিম্নলিখিত গাইডটি ফেব্রুয়ারী 2017 হিসাবে কাজ করে It এটিতে একটি স্ক্রিপ্ট রয়েছে যা কিউইএমইউতে চলার জন্য রাস্পবিয়ান চিত্র পরিবর্তন করার বিষয়ে যত্ন নিয়েছে এবং রাস্পবিয়ানের সাথে আপনার নেটওয়ার্ক সংযোগটি স্বয়ংক্রিয়ভাবে ভাগ করে।

https://ownyourbits.com/2017/02/06/raspbian-on-qemu-with-network-access/


-1

আপনি আমার গিথুব, পোলাকো 1782 এ রাস্পবিয়ান জেসির জন্য আমার কাস্টম কার্নেল (4.1.7) ডাউনলোড করতে পারেন । ডক ফাইলের নির্দেশাবলী অনুসরণ করুন।


1
আপনার কর্নেলটি প্রতিবার অনুকরণ করার চেষ্টা করার সময় আমাকে জরুরি মোড প্রম্পটে প্রেরণ করে। এটি আমার পড়া ফাইলের মতো লেখা আছে। (শেষ বারের পোস্টটি দেখুন -> raspberrypi.org/forums/viewtopic.php?t=112259 ) আপনি নিজের উত্তরটি কীভাবে তৈরি করতে বেসিক জেসি চিত্রটিতে পরিবর্তন করেছেন তা ধাপে ধাপে সম্পাদনা করতে পারেন? এটি এখন অন্য ব্যবহারকারীদের কাছে আসবে যেহেতু এখনই জেসি চিত্রটি লাইভ, আরও বেশি সংখ্যক ব্যবহারকারী জেসি কেমুতে অনুকরণ করতে চলেছেন। আগাম ধন্যবাদ.
dhruvvyas90

আপনার কর্নেল সম্পর্কে কাস্টম কী তা বোঝাতে আপনি নিজের উত্তরটি প্রসারিত করতে পারেন?
গ্রিননলাইন

আমি fstabmmcblk এন্ট্রি মন্তব্য করে আমার সমস্যাটি সমাধান করতে সক্ষম হয়েছি able
dhruvvyas90

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