কীভাবে সফলভাবে ওএসএক্সে আরপিআই অনুকরণ করবেন?


20

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

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

আমি কী মিস করছি? আমি কীমু দিয়ে ওএসএক্সে আরপিআই অনুকরণ করব?


2
আপনি কি অনুকরণ করতে চান? প্রকৃতপক্ষে আরপি আর্কিটেকচার প্লাস আরপিআই-এর নির্দিষ্ট ড্রাইভার / লাইব্রেরি এবং প্রাক ইনস্টলড সফ্টওয়্যারগুলির জন্য আরপি'র রাস্পবিয়ান কেবলমাত্র ডেবিয়ান লিনাক্স। কিউইএমইউ আরপির জিপিআইও বা জিপিইউ অনুকরণ করে না, এটি কেবল জেনেরিক এআরএম-ভিত্তিক কম্পিউটার যা আপনাকে রাস্পিয়ান শুরু করতে দেয়। সুতরাং আপনি যদি XBMC, ফাইল সার্ভার এবং এর সাথে খেলতে চান তবে কেবল ভার্চুয়ালবক্সে ডিবান হুইজি x86 ইনস্টল করুন এবং মজা করুন। আপনি স্ক্র্যাচ, পাইগেম ইত্যাদিও ইনস্টল করতে পারেন
কল্টনসভ

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

1
হ্যাঁ, ভার্চুয়ালবক্স কিউইএমইউ সহ এআরএম অনুকরণের চেয়ে সহজ / দ্রুত। উপায় দ্বারা, আপনি ওএস এক্সের জন্য ওপেনসিভি সংকলন করতে পারেন ( ওপেনসিভি.আর.আর ) অথবা ভার্চুয়ালবক্সে লিনাক্সে এটি ডাউনলোড করতে পারেন। সমস্ত প্ল্যাটফর্ম জুড়ে এটি একই। আমি মুখের স্বীকৃতির জন্য আরপিআইতে ওপেনসিভি ব্যবহার করার চেষ্টা করেছি, এটি খুব ধীর ছিল। ওপেনএনআই-তে কোনও কিছুর পুনরুদ্ধার করা যায় না, দুঃখিত (তবে আমি মনে করি না যে কিউইএমইউ ক্যামেরা এবং আরপিআইয়ের গতি সঠিকভাবে এমুলেট করে))
কলটভসভ

@ vk2 যদিও প্রধান প্রশ্নের বিষয়, কিন্তু আমার উদ্দেশ্য এর সাথে সম্পর্কিত বন্ধ, আমি সম্প্রতি পাই ক্যামেরা মডিউলের জন্য একটি OpenCV মোড়কের মুক্তি করেছি: PiCapture , একটি হিসাবে পাওয়া OpenFrameworks addon । গতিটি বেশ শালীন, বিশেষত একটি ইউএসবি ক্যামেরা ব্যবহারের সাথে তুলনায়
জর্জ প্রোফেনজা

উত্তর:


16

ওএসএক্সে রাস্পবেরি পাই সফ্টওয়্যারটির একটি অনুকরণযুক্ত পরিবেশ স্থাপনের জন্য একটির প্রয়োজন হবে:

  • আরপিআই এর সিপিইউ আর্কিটেকচারের জন্য একটি ক্রস-সংকলন সরঞ্জাম। (উদাঃ এআরএম EABI সরঞ্জামচেন)
  • আরপিআই কার্নেল
  • আরপিআই রুট ফাইল সিস্টেম।
  • এমুলেটর (কিউইএমইউ)।
  • এআরএম আর্কিটেকচারের জন্য ক্রস-সংকলন সরঞ্জাম।

ধরে নিই যে একটিতে ইতিমধ্যে অ্যাপল বিকাশকারী এবং হোমব্রিউয়ের সর্বশেষতম এক্সকোড এবং কমান্ড লাইন সরঞ্জাম ইনস্টলড রয়েছে, তারপরে নির্ভরতাগুলি ইনস্টল করা উচিত:

brew install mpfr gmp libmpc libelf texinfo

সরঞ্জামটি ধরুন এবং সংকলন করুন:

mkdir ~/rpi
mkdir ~/rpi/arm-cs-tools
git clone https://github.com/jsnyder/arm-eabi-toolchain.git
cd arm-eabi-toolchain
PREFIX=$HOME/rpi/arm-cs-tools make install-cross
make clean
echo “export PATH=$HOME/rpi/arm-cs-tools/bin:$PATH” » ~/.bash_profile

আরপিআই কার্নেল সংকলন

mkdir ~/rpi/kernel
cd ~/rpi/kernel
git clone --depth=1 https://github.com/raspberrypi/linux.git
cd linux

কনফিগার ফাইলটি ধরুন এবং কার্নেলটি কনফিগার করুন:

cp arch/arm/configs/bcmrpi_cutdown_defconfig .config
make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- menuconfig

কনফিগারেশন সংরক্ষণ করুন এবং এর পরে কার্নেলটি তৈরি করুন। নোট করুন যে সংকলনটি ব্যর্থ হওয়া উচিত এবং স্ক্রিপ্ট / মোড / এমকে_ফেলকনফিগের অন্তর্ভুক্তি সম্পর্কে অভিযোগ করা উচিত। যদি এটি হয় তবে একটি ফাইল তৈরি করতে হবে:

sudo touch /usr/local/include/elf.h

এটি সম্পাদনা করুন এবং নিম্নলিখিত লিখুন:

#include <libelf.h>

#define R_386_NONE 0
#define R_386_32 1
#define R_386_PC32 2
#define R_ARM_NONE 0
#define R_ARM_PC24 1
#define R_ARM_ABS32 2
#define R_MIPS_NONE 0
#define R_MIPS_16 1
#define R_MIPS_32 2
#define R_MIPS_REL32 3
#define R_MIPS_26 4
#define R_MIPS_HI16 5
#define R_MIPS_LO16 6

এবং বিল্ডিং প্রক্রিয়াটি অনুসরণ করুন:

make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- -k

চিত্র ফাইলটি তৈরি করা হয়েছে এবং যেমন অবস্থিত arch/arm/boot/zImage

এমুলেটর

হোয়াইট স্ক্রিনের একটি বাগ ত্রুটির কারণে QEMU টি ঝুলিয়ে যদি llvm দিয়ে সংকলিত হয় তবে অবশ্যই হোমব্রিউয়ের ডুপস সংগ্রহস্থল থেকে অ্যাপেল-জিসিসি 42 প্যাকেজটি ইনস্টল করতে হবে।

brew install homebrew/dupes/apple-gcc42

এবং তারপরে কিউমু সংকলন এবং ইনস্টল করুন:

brew install qemu —use-gcc

এখন আরপিআই বিতরণ শুরু করার জন্য আমাদের যা দরকার তা বাকি রয়েছে তাই আসুন এটি শুরু করুন:

qemu-system-arm -M versatilepb -cpu arm1176 -hda debian6-19-04-2012.img -kernel zImage -append “root=/dev/sda2” -serial stdio -usbdevice tablet

যেমনটি ম্লুইসের ওয়েবসাইটে রেফার করা হয়েছে ।


প্রয়োজনীয় অংশগুলি দিয়ে প্রশ্নের উত্তর দিয়েছি।
mluis

1
@ ব্যবহারকারী1104942 থেকে প্রাপ্তি হিসাবে, জোসেমাইটে কাজ করতে একজনকে নিম্নলিখিত পরিবর্তন করতে হতে পারে। #include <libelf/libelf.h> #define R_386_NONE 0 #define R_386_32 1 #define R_386_PC32 2 #define R_ARM_NONE 0 #define R_ARM_PC24 1 #define R_ARM_ABS32 2 #define R_MIPS_NONE 0 #define R_MIPS_16 1 #define R_MIPS_32 2 #define R_MIPS_REL32 3 #define R_MIPS_26 4 #define R_MIPS_HI16 5 #define R_MIPS_LO16 6 #define R_IA64_IMM64 7 #define R_PPC_ADDR32 8 #define R_PPC64_ADDR64 9 #define R_SH_DIR32 10 #define R_SPARC_64 11 #define R_X86_64_64 12 #define R_390_64 13 #define R_MIPS_64 14
mluis


সমস্ত অনুকরণীয় এবং উন্নত হওয়ার পরে, আমি কি কেবল এই .img একটি এসডি কার্ডে এবং রাস্পেরপিতে ইনপুট রাখতে পারি?
মেরিওমল

এটি ম্যাকোএস 10.13.4 এ চেষ্টা করেছেন এবং make install-crossইস্যুগুলি আঘাত করার আগে যতটা পেয়েছেন কেবল তেমনই পেয়েছেন । এছাড়াও, আমি হোমব্রু থেকে শিখেছি apple-gcc42"আপস্ট্রিমের অসঙ্গতিজনিত কারণে ম্যাভারিক্সের চেয়ে নতুন ম্যাকোস সংস্করণগুলিতে প্রত্যাশার মতো সংকলন বা ফাংশন করে না।"
জোশ হাবদাস

3

কিউইএমইউতে চলে যাওয়ার জন্য অর্থ প্রদানের জন্য প্রস্তুত বিকল্প রয়েছে: https://snorfi.us/raspiemu/

আপনি যদি এটির জন্য অর্থ প্রদান করতে না চান তবে আপনি এর মধ্যে আলফা সংস্করণও ডাউনলোড করতে পারেন https://sourceforge.net/projects/raspberrypiemulator/


0

দেখে মনে হচ্ছে 'কার্নেলটি কনফিগার করুন' ধাপটির আরও কিছুটা প্রয়োজন। মনে রাখবেন যে

make ARCH=arm CROSS_COMPILE=~/rpi/arm-cs-tools/bin/arm-none-eabi- menuconfig 

ডিরেক্টরিতে arm-none-eabi-arবা arm-none-eabi-asইত্যাদি ইত্যাদির ডিরেক্টরিগুলির মধ্যে একটি ফাইল হওয়া উচিত ...

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