কার্নেল চালাও আর ই এন ই চালাতে পারে না?


14

আমি এই পৃষ্ঠায় রাস্পবিয়ান চিত্রটি ডাউনলোড করেছি । আমি একটি কার্নেল কম্পাইল করার চেষ্টা করছি যা qemu এর মধ্যে চিত্র বুট করতে ব্যবহার করা যেতে পারে।

আমি কার্নেল.অর্গ থেকে লিনাক্স কার্নেল উত্সটি ডাউনলোড করে দৌড়েছি:

make versatile_defconfig
make menuconfig

আমি তখন নিম্নলিখিত বৈশিষ্ট্যগুলি কার্নেলের সাথে যুক্ত করেছি:

  • পিসিআই সমর্থন (CONFIG_PCI)
  • এসসিএসআই ডিভাইস সমর্থন (CONFIG_SCSI)
  • এসসিএসআই ডিস্ক সহায়তা (CONFIG_BLK_DEV_SD)
  • SYM53C8XX সংস্করণ 2 এসসিএসআই সমর্থন (CONFIG_SCSI_SYM53C8XX_2)
  • বর্ধিত 3 (এক্সট্রি 3) ফাইল সিস্টেম (CONFIG_EXT3_FS)
  • বর্ধিত 4 (এক্সট 4) ফাইল সিস্টেম (CONFIG_EXT4_FS)

আমি লুপটি ডিস্ক চিত্রটি মাউন্ট করেছি এবং:

  • মন্তব্য সমূহ /etc/ld.so.preload
  • /etc/fstabব্যবহার করতে /dev/sda1এবং সামঞ্জস্য/dev/sda2

আমি তখন চিত্রটি আনমাউন্ট করে দিয়ে মেশিনটি শুরু করার চেষ্টা করেছি:

qemu-system-arm \
    -M versatilepb \
    -m 256 \
    -kernel linux-4.3/arch/arm/boot/zImage \
    -hda 2015-09-24-raspbian-jessie.img \
    -serial stdio \
    -append "root=/dev/sda2 rootfstype=ext4 rw console=ttyAMA0"

কার্নেল ফাইল সিস্টেমটি মাউন্ট করতে সক্ষম হয়েছিল তবে এটি তত্ক্ষণাত কিছু সমস্যার মধ্যে পড়ে:

Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

CPU: 0 PID: 1 Comm: init Not tainted 4.3.0 #1
Hardware name: ARM-Versatile PB
[<c001b5c0>] (unwind_backtrace) from [<c0017e18>] (show_stack+0x10/0x14)
[<c0017e18>] (show_stack) from [<c0069860>] (panic+0x84/0x1ec)
[<c0069860>] (panic) from [<c0025b98>] (do_exit+0x81c/0x850)
[<c0025b98>] (do_exit) from [<c0025c5c>] (do_group_exit+0x3c/0xb8)
[<c0025c5c>] (do_group_exit) from [<c002dfcc>] (get_signal+0x14c/0x59c)
[<c002dfcc>] (get_signal) from [<c001bf28>] (do_signal+0x84/0x3a0)
[<c001bf28>] (do_signal) from [<c0017a94>] (do_work_pending+0xb8/0xc8)
[<c0017a94>] (do_work_pending) from [<c0014f30>] (slow_work_pending+0xc/0x20)
---[ end Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

প্রথমদিকে, আমি ভাবছিলাম যে এটি সেলইনাক্সের সাথে সম্পর্কিত নয়। আমি এর সাহায্যে কার্নেলটি বুট করার চেষ্টা করেছি:

selinux=0 enforcing=0

... কিন্তু এতে একেবারেই কোনও পার্থক্য হয়নি।

আমি কি ভুল করছি? এবং এই ত্রুটিটির অর্থ কী?

আপডেট

আমি ভাগ্যবিহীন, নিম্নলিখিতগুলিও চেষ্টা করেছি:

  • আমি CONFIG_VFPসক্ষম এবং ছাড়াই সংকলনের চেষ্টা করেছি
  • আমি যোগ CONFIG_DEVTMPFSএবংCONFIG_DEVTMPFS_MOUNT
  • প্রয়োগ করা হচ্ছে এই প্যাচ এবং সক্রিয় CPU_V6, CONFIG_MMC_BCM2835, &CONFIG_MMC_BCM2835_DMA
  • সরঞ্জামচেন ব্যবহার করেgcc-linaro-arm-linux-gnueabihf-raspbian
  • সরঞ্জামচেইনের সাথে একটি সাধারণ সি প্রোগ্রাম সংকলন এবং তারপরে কার্নেলের কাছে init=কাজগুলি দিয়ে যাওয়ার পথে - বাইনারি ফর্ম্যাটগুলির মধ্যে একটি তাত্পর্য আছে তা বিশ্বাস করতে আমাকে নেতৃত্ব দেয়

    • file <sample program>:

      ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), statically linked, for GNU/Linux 2.6.26, BuildID[sha1]=e5ec8884499c51b248df60aedddfc9acf72cdbd4, not stripped
      
    • file <file from the image>:

      ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=3e92423821f3325f8cb0ec5d918a7a1c76bbd72c, stripped`
      
    • ইএলএফ শিরোনামের পার্থক্য

আমি এই সাধারণ সি প্রোগ্রামটি সরঞ্জামচেইন দিয়ে সংকলিত করেছি :

<path>/arm-linux-gnueabihf-gcc --static simple.c -o simple

... এবং এটিকে /rootছবিতে অনুলিপি করে init=বুট প্যারামিটারটি এতে পরিবর্তন করে /root/simple। বুট করার সময় এটি আমাকে নিম্নলিখিত দেয়:

Starting bash...
Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000004

মনে হচ্ছে execv()কলটিতে দম বন্ধ হচ্ছে ।


3
আমি বলব এটি হার্ড ফ্লোটিং পয়েন্ট সমর্থন সম্পর্কিত একটি সমস্যা। আপনার কি CONFIG_VFP = y আছে?
আলেকজান্দ্রে বেলোনি

@ অ্যালেক্সান্ড্রেবেলোনি cat .config | grep CONFIG_VFPফলন করেছে CONFIG_VFP=y- দেখে মনে হচ্ছে এটি সক্ষম হয়েছে।
নাথন ওসমান

@ আলেকজান্ডারবেলনি আমি কার্নেলটি সাথে এবং বাইরে চেষ্টা করেছি CONFIG_VFPএবং এটি কোনও পার্থক্য করে না।
নাথান ওসমান

1
আমার মনে হয় আলেকজান্দ্র সঠিক পথে আছে তবে ভিএফপি সমস্যাযুক্ত সেটিং নয়। versatilepbএটি একটি এআরএম 926 সিপিইউ, যা আরপিআই এর এআরএম 1176 এর চেয়ে পুরনো, সুতরাং রাস্পবিয়ান বাইনারিগুলি এমন কিছু অন্যান্য বৈশিষ্ট্য ব্যবহার করতে পারে যা অনুকরণ করা হচ্ছে না। Unixmen.com/emulating-raspbian-used-qemu থেকে , -cpu arm1176সাহায্য করে?
গিলস 'অশুভ হওয়া বন্ধ করুন'

1
হুম। সম্ভবত একটি আর্মেল সরঞ্জামচেন চেষ্টা? (আসল প্রোগ্রামটি চলমান রাখে, কেবল রিলে স্টাবের জন্য নয় You আপনি
ব্যস্তবক্স

উত্তর:


1

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

এর ডিসেম্বর 2018, এবং এখনও এখনও সমস্যা রয়েছে qemu-system-arm

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

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

আমি এই টিউটোরিয়ালটি অনুসরণ করেছি: https://azedia-labs.com/emulate-raspberry-pi-with-qemu/

শুভকামনা


1

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

আমি কিউএমইউ সহ উবুন্টু 16.04 রাস্পি 3 চিত্রটি ব্যবহার করতে চেয়েছিলাম । এটি ডাউনলোড করুন, এটি এক্সট্রাক্ট করেছেন, বুট পার্টিশনটি মাউন্ট করেছেন, ভিএমলিনজ ফাইল এবং আরআরআরডি ফাইল পেয়েছেন এবং ... কিউমু-সিস্টেম-আর্ম-এম ব্লেবলা-সিপিইউ ... - কার্নেল ... কাজ করে না। কালো পর্দা.

তারপরে এখান থেকে জেনিয়াল ইমেজ / রুটফের সাহায্যে কার্নেল-কিউমু-৪.৪.৩৪-জেসি ব্যবহার করে আপনার একই "আর্ট মেরে" সমস্যা দেখা দিয়েছে।

তবে যেহেতু আমি একটি পরিচিত ভাল কার্নেল ব্যবহার করছি, এবং যেহেতু আপনার সাধারণ স্ট্যাটিকালি লিঙ্কযুক্ত সি প্রোগ্রামটি কাজ করছে, সম্ভবত কেউ যখন ডায়নামিক লিঙ্কার ব্যবহার করেন তখনই সমস্যাটি কেবল ততটুকু সামনে আসে। (এবং লিঙ্কার কার্নেলগুলির জন্য বিশেষভাবে সংবেদনশীল নয়, কারণ সর্বশেষ ডিবিয়ান 9 (প্রসারিত) ভিত্তিক রাস্পবিয়ান থেকে এলডি -২.২৪ একটি ৪.৪ ডিবিয়ান ৮ (জেসি) ভিত্তিক কার্নেলের উপর সূক্ষ্মভাবে কাজ করে))

এমনকি "জেসি" চিত্রটি / উবুন্টু জেনিয়াল চিত্রটিতে কাজ করে এমন ফাইলগুলি অনুলিপি করার পরেও আমি কেবল একটি অদ্ভুত "কলিং প্রিনিট: কেই" ত্রুটি পেয়েছি।

ওহ, এবং যে কেউ রাস্পবেরি পাইয়ের জন্য কার্নেল সংকলনের দিকে তাকিয়ে আছে, এই সাইটটি পরীক্ষা করা উচিত , যা সরাসরি " অফিসিয়াল " ডক্স / হাওতার উল্লেখ করে ।


0

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


এটি কীভাবে হবে তা নিশ্চিত কিনা তা নিশ্চিত নই
কাসিম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.