OSX पर RPI का सफलतापूर्वक अनुकरण कैसे करें?


20

मैंने VirtualBox के माध्यम से OSX पर RPI का अनुकरण करने के लिए इस गाइड का पालन ​​किया और यह काम करता है। अब मैं चीजों को थोड़ा सरल करना चाहूंगा क्योंकि इस समाधान में एक आभासी मशीन में डेबियन को चलाने के लिए सिर्फ क्यूमू को ऊपर से चलाना शामिल है।

मैं गाइड के लिए googled कि कैसे qemu को सीधे ओएक्स पर सेटअप किया जाए और मैथ्यू यी-किंग का गाइड पाया जाए । मैंने निर्देशों का पालन किया और सभी अंतिम भाग तक ठीक लगते हैं। जब मैं लॉन्च करता qemu-system-armहूं तो मुझे QEMU विंडो दिखाई देती है लेकिन एप्लिकेशन फ्रीज होता है। थोड़ी देर बाद यह गतिविधि प्रबंधक में प्रतिसाद नहीं के रूप में प्रकट होता है।

मुझे किसकी याद आ रही है ? मैं QEMU के साथ OSX पर RPI का अनुकरण कैसे करूं?


2
आप क्या अनुकरण करना चाहते हैं? असल में आरपीआई का रास्पियन एआरएम आर्किटेक्चर और आरपीआई के विशिष्ट ड्राइवरों / पुस्तकालयों और पूर्व-स्थापित सॉफ़्टवेयर के लिए सिर्फ डेबियन लिनक्स है। QEMU RPI के GPIO या GPU का अनुकरण नहीं करता है, यह सिर्फ सामान्य ARM- आधारित कंप्यूटर है जो आपको रास्पियन शुरू करने की अनुमति देता है। इसलिए यदि आप XBMC, फ़ाइल सर्वर और इतने पर खेलना चाहते हैं, तो बस VirtualBox पर Debian Wheezy x86 स्थापित करें और मज़े करें। आप स्क्रैच, PyGame आदि भी स्थापित कर सकते हैं
kolontsov

मुझे यकीन नहीं है कि मैं इसे सही तरीके से सोच रहा हूं, लेकिन मैं पीआई पर एआरएम के लिए ओपनसीवी और शायद ओपनएनआई की कोशिश करूंगा और पहले कुछ एमुलेटर का उपयोग करके कुछ परीक्षण करने के बारे में सोचा (इसलिए मैं कसरत कर सकता हूं कि मुझे सभी के लिए कितनी जगह चाहिए , उस पर के साथ खेलते हैं, आदि) VirtualBox विकल्प सरल समाधान है?
जॉर्ज प्रोफेनो

1
हाँ, वर्चुअलबॉक्स QEMU के साथ एआरएम अनुकरण की तुलना में सरल / तेज है। वैसे, आप OSC ( opencv.org ) के लिए ओपनसीवी संकलित कर सकते हैं या इसे लिनक्स में वर्चुअलबॉक्स में डाउनलोड कर सकते हैं। यह सभी प्लेटफार्मों पर समान है। मैंने फेस रिकग्निशन के लिए आरपीसी पर ओपनसीवी का उपयोग करने की कोशिश की, यह बहुत धीमा था। OpenNI पर कुछ भी अनुशंसित नहीं किया जा सकता, क्षमा करें (लेकिन मुझे नहीं लगता कि QEMU कैमरा और आरपीआई की गति को सही ढंग से अनुकरण करता है)।
kolontsov

@ vk2 हालांकि मुख्य प्रश्न के विषय से दूर है, लेकिन मेरे उद्देश्य से संबंधित है, मैंने हाल ही में एक ओपनकेवी आवरण को Pi कैमरा मॉड्यूल के लिए जारी किया है: PiCapture , एक OpenFrameworks addon के रूप में भी उपलब्ध है । गति बहुत ही सभ्य है, विशेष रूप से एक USB कैमरे का उपयोग करने की तुलना में
जॉर्ज प्रोफेंज़ा

जवाबों:


16

OSX पर रास्पबेरी पाई सॉफ्टवेयर के एक उत्सर्जित वातावरण को स्थापित करने की आवश्यकता होगी:

  • आरपीआई के सीपीयू वास्तुकला के लिए एक क्रॉस-संकलन उपकरण। (उदा। एआरएम EABI टूलकिन)
  • द आरपी कर्नेल।
  • आरपीआई रूट फाइलसिस्टम।
  • एमुलेटर (QEMU)।
  • एआरएम वास्तुकला के लिए क्रॉस-संकलन उपकरण।

मान लें कि पहले से ही Apple डेवलपर और homebrew से नवीनतम Xcode और कमांड लाइन उपकरण स्थापित हैं, तो निर्भरताएं स्थापित करनी चाहिए:

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

कॉन्फ़िगरेशन को सहेजें और उसके बाद कर्नेल का निर्माण करें। ध्यान दें कि संकलन विफल होना चाहिए और स्क्रिप्ट / मॉड / mk_elfconfig में शामिल करने के बारे में शिकायत करना चाहिए। यदि ऐसा होता है, तो किसी को फ़ाइल बनाना होगा:

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

द एमुलेटर

एक सफेद स्क्रीन के क्यूईएमयू के एक बग के कारण अगर llvm के साथ संकलित किया जाता है तो होमबॉव के डुप्स रिपॉजिटरी से पैकेज ऐप्पल-जीसी 42 स्थापित करना होगा।

brew install homebrew/dupes/apple-gcc42

और फिर qemu को संकलित और स्थापित करें जैसे:

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

जैसा कि मुलिस की वेबसाइट पर संदर्भित है ।


आवश्यक भागों के साथ प्रश्न का उत्तर दिया।
मुलिस जू

1
@ User1104942 से एक भीड़ के रूप में, एक को योसमाइट में काम करने के लिए निम्नलिखित को बदलना पड़ सकता है। #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
मुलिस

इस नल से स्थापित नहीं होगा: github.com/nitsky/homebrew-stm32 के रूप में भी ऐसा ही github.com/jsnyder/arm-eabi-toolchain.git ?
andsens

सब के बाद उत्सर्जित और विकसित, क्या मैं इसे स्टोर कर सकता हूं। एक एसडी कार्ड और रास्पबेरी में इनपुट?
मारीओमॉल

यह macOS पर 10.13.4 की कोशिश की और केवल make install-crossमुद्दों को मारने से पहले के रूप में दूर मिल गया । इसके अलावा, मैंने होमब्रे से सीखा apple-gcc42"एक अपस्ट्रीम असंगति के कारण मैकवर्क्स की तुलना में मैकओएस संस्करणों पर अपेक्षित रूप से संकलन या कार्य नहीं करता है।"
जोश हबदास

3

एक भुगतान विकल्प चलाने के लिए तैयार है जो QEMU पर चलता है: 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आदि ...

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.