BUILDROOT का उपयोग करके स्क्रीन के बिना ssh को कनेक्ट और उपयोग कैसे करें


12

मैं अपने चेहरे की पहचान एल्गोरिथ्म के प्रदर्शन को बेहतर बनाने के लिए रास्पबेरी पाई (बी +) के लिए एक न्यूनतम प्रणाली का निर्माण करना चाहता हूं ... मैंने पाया है BuildRoot: कॉन्फ़िगरेशन के लिए मैंने पाया कि यह स्वयं कॉन्फ़िगरेशन करने के लिए आवश्यक नहीं है और इसके बजाय मैंने प्रदान किया है एक :

make raspberrypi_defconfig
make

अब मेरे पास pi को जोड़ने के लिए एक hdmi केबल नहीं है ... जब इसे मेरे लैपटॉप से ​​कनेक्ट किया जाता है तो लाल रंग चालू होता है और हरे रंग की एलईडी चमकने लगती है: इसका मतलब है कि pi SD कार्ड को सही ढंग से पढ़ रहा है यह पहली बार है। बिल्डरोट का उपयोग कर रहा हूँ, और मुझे नहीं पता कि कैसे pi के लिए ssh को सक्षम करना है या pi एड्रेस को कैसे दिखाना है। ध्यान दें कि यह स्क्रीन के बिना तैयार ssh के लिए डुप्लिकेट नहीं है क्योंकि वे समाधान में प्रदान किए गए हैं

स्टार्टअप पर ssh को सक्षम करने के लिए, SD बूट पर बूट पार्टीशन पर बैकअप boot.rc और इसे boot_enable_ssh.rc के साथ बदलें।

वैसे मेरे पास boot.rc नामक फाइल नहीं है

मैं ubuntu 14.04 का उपयोग करते हुए एसडी कार्ड का उपयोग करने में सक्षम हूं, बूट फ़ोल्डर से एलएस दिखा रहा है:

bootcode.bin  cmdline.txt  config.txt  fixup.dat  start.elf  zImage

मैंने भी cmdline.txt को 10.42.0.5 जोड़कर एक स्थिर आईपी का उपयोग करने की कोशिश की है, लेकिन उसके बाद भी मैं इस पते के साथ पाई से कनेक्ट नहीं कर सकता। इसलिए मेरे पास दो मुद्दे हैं:

  1. बिल्डरो का उपयोग करते समय पाई एड्रेस से कैसे जुड़ें: लिंक टू सोल्यूशन
  2. बिल्डरो और विटटु एचडीएमआई का उपयोग करके एसआई का उपयोग करके पीआई से कैसे सेट अप और कनेक्ट करें।

Btw मैं एक ईथरनेट केबल का उपयोग कर रहा हूँ pi से कनेक्ट करने के लिए

धन्यवाद :)

अद्यतन : मैंने पहले अंक के लिए समाधान के लिए लिंक जोड़ दिया है अब ईथरनेट नेटवर्क को स्कैन करने के बाद पीआई पता दिखाई देता है:

nmap -sP 10.42.0.0/24
Nmap scan report for 10.42.0.5
Host is up (0.00076s latency).

अब मेरे पास मुद्दा यह है कि ssh को सक्षम करने में सक्षम होने के लिए p witout एचडीएमआई से कनेक्ट कैसे करें (बिल्डरोट का उपयोग करके)

जब पीआई को ssh करने की कोशिश की जाती है (बिल्डरोट सिस्टम होस्टनाम का उपयोग किया जाता है):

ssh buildroot@10.42.0.5
ssh: connect to host 10.42.0.5 port 22: Connection refused

मुझे लगता है कि क्योंकि यह सक्षम नहीं है !!!


AFAIK डिफ़ॉल्ट रूप से SSH सक्षम है ... BTW क्या आप ईथरनेट पोर्ट या कुछ USB वाईफाई एडाप्टर का उपयोग कर रहे हैं?
wb9688

AFAIK का क्या मतलब है? नहीं, मैं एक ईथरनेट केबल का उपयोग कर रहा हूं
द बीस्ट

एस एफ अर एस आई के अब ...! पीसी पर चलने वाले उबंटू पर कोशिश करें कि sudo nmap -sP 192.168.0.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'आपको उस नेटवर्क पते को निर्दिष्ट करना होगा 192.168.x.0/24जहां X 0-255 के बीच कहीं निर्दिष्ट है, जो आपको LAN के लिए आरक्षित निजी श्रेणी C पता श्रेणी के लिए कवर करेगा। यह अद्वितीय मैक पते के लिए परिणामों को फ़िल्टर करता है जो कि पीआई पर ईथरनेट इंटरफेस होगा ...
19

1
@SlySven मैंने इसके बजाय उपयोग किया है sudo nmap -sP 10.42.0/24मुझे 1 होस्ट दें (यह मेरा लैपटॉप है) लेकिन कोई अन्य डिवाइस नहीं मिला !!! नोट: मेरा ईथरनेट एड्रेस १०.४२.०.१ है और कमांड sudo nmap -sP 10.42.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'एक खाली आउटपुट देता है
द बीस्ट

1
@ wb9688 हाँ मैंने इसे रास्पियन स्थापित करते समय उपयोग किया है, और ssh@10.42.0.5उस स्थिर आईपी को चुनने के बाद आसानी से कनेक्ट करें
द बीस्ट

जवाबों:


3

यदि आप सब करते थे make raspberrypi_defconfig && make, तो आपके पास अभी भी बहुत काम करना है ताकि एक उपयोगी रनिंग सिस्टम प्राप्त कर सकें।

BuildRoot का डिफ़ॉल्ट कॉन्फ़िगरेशन सब कुछ के लिए है जिसे बिजीबॉक्स को छोड़कर बंद किया जाना है। Ssh सर्वर जवाब नहीं दे रहा है क्योंकि आपने BuildRoot को नहीं बताया था कि आप उसे संकलित करना चाहते थे!

make menuconfigअपने BuildRoot निर्देशिका में चलाकर प्रारंभ करें । Openssh को टारगेट पैकेज, नेटवर्किंग एप्लिकेशन, ओपनशैग में नेविगेट करके सक्षम किया जा सकता है।

यह संभव है कि पाई पर मॉनिटर के बिना यह काम करना बहुत कठिन हो। एक बार ssh को काम करने के बाद आपको इसे अंतिम संस्करण में उपयोग करने की आवश्यकता नहीं है, लेकिन यह मॉनिटर के बिना स्टार्टअप मुद्दों का निदान करने के लिए वास्तव में कठिन होने वाला है। अपने आप को एचडीएमआई केबल या एचडीएमआई -> डीवीआई कनवर्टर खरीदें, और स्थानीय कंसोल का उपयोग करें।


1
डीबग करने के लिए, मैं भी TTL UART केबल को USB प्राप्त करने की सलाह दूंगा। कि सिर्फ buildroot 2016.05 rpi2 छवि पर काम करता है। ओपी को सेटअप करने के लिए पर्याप्त होना चाहिए x11vnc
सिरो सेंटिल्ली: i iro i 法轮功 '

3

प्रस्तावना: मैं एक रास्पबेरी PI 2 के लिए buildroot-2017.02.3 का उपयोग कर रहा हूं और इससे ओपनशैश सक्षम है make menuconfig। अधिक परिवर्तन के बिना, ssh लॉगिन काम नहीं करता है, क्योंकि उत्पन्न डिफ़ॉल्ट /etc/ssh/sshd_configरूट लॉगिन की अनुमति नहीं देता है।

विकल्प A: एक उपयोगकर्ता जोड़ें

आप बिल्डरोट के माध्यम से उपयोगकर्ताओं को जोड़ सकते हैं। निम्नलिखित मैनुअल प्रविष्टियाँ मदद कर सकती हैं:

अनिवार्य रूप से, आप एक टेक्स्टफाइल बनाते हैं जो आपके उपयोगकर्ता को एक विशेष वाक्यविन्यास में परिभाषित करता है जैसे:

foo -1 foo -1 =bar /home/foo /bin/sh - no_comment

और बता buildroot make menuconfig> System Configuration> user tablesजहां अपने उपयोगकर्ता तालिका फ़ाइल खोजने के लिए। उपरोक्त नमूना सामग्री fooपासवर्ड के साथ एक अतिरिक्त उपयोगकर्ता बनाएगी bar(लॉगिन सक्रिय है)। यह उपयोगकर्ता अभी ssh के माध्यम से लॉगिन कर सकता है, क्योंकि वह रूट नहीं है।

विकल्प बी: परमिट रूट लॉगिन

जब आप सिस्टम के लिए एक एसडी कार्ड का उपयोग करते हैं (जैसे रास्पबेरी पर), तो आप बस अपने पीसी पर कार्ड को माउंट कर सकते हैं, संपादित कर सकते हैं /media/<pathToYourSD>/etc/ssh/sshd_config(sudo आवश्यक), और लाइन का पता लगाएं

#PermitRootLogin prohibit-password

और में बदल जाते हैं

PermitRootLogin yes

यह रूट को ssh के माध्यम से लॉगिन करने की अनुमति देता है। ध्यान दें कि मैंने रूट के लिए एक पासवर्ड सेट किया है। सुनिश्चित नहीं है कि यह पासवर्ड के बिना काम करता है। यदि आप अपना एसडी कार्ड माउंट नहीं कर पा रहे हैं, तो आपको पोस्ट बिल्ड स्क्रिप्ट्स लिखनी होंगी जो वर्णित रूप में समान संशोधन करती हैं, लेकिन बिल्ड होस्ट (रूटफ़िश पैक होने से पहले) पर।


1

कोई राउटर + रेगुलर ईथरनेट केबल + RPI 2 + बिल्डरोट 2016.05 + उबंटू 16.04 होस्ट

यह काम करने के बाद मुझे इस समस्या को दो भागों में विभाजित किया गया है:

  1. रास्पियन के साथ काम कर रहे ईथरनेट एसएसएच और एक सीधा केबल कनेक्शन (जिसमें पहले से ठीक से सेटअप sshd डेमन चल रहा है) https://raspberrypi.stackexchange.com/a/54394/33424

  2. QEMU + buildroot पर एक उचित sshd विन्यास करना सीखें: https://stackoverflow.com/a/39301480/895245

    असली बोर्ड पर, आपके पास /etc/ssh/sshd_configपाठ्यक्रम को संशोधित करने के लिए QEMU विंडो नहीं है , इसलिए आपको या तो इसकी आवश्यकता होगी:

    • चमकाने से पहले इसे होस्ट पर संशोधित करें (या तो BR2_ROOTFS_OVERLAY, https://askubuntu.com/a/496576/52975 केoutput/images/sdcard.img साथ माउंट करें या साथ खेलें output/target)
    • UART सीरियल के माध्यम से कनेक्ट करें। आप यह काम जल्दी या बाद में करना चाहेंगे, क्योंकि यह बोर्ड पर आपके बिल्डरो डिस्ट्रो को डिबग करने का सबसे अच्छा तरीका है।

.configबस है raspberrypi2_defconfig+ opensshके साथ सक्षम make menuconfig

फिर बस:

ssh "root@$(cat /var/lib/misc/dnsmasq.leases | cut -d ' ' -f 3)"

छवि पर TTL केवल शक्ति के लिए उपयोग किया जाता है।


0

मुझे पता है कि यह शांत पुराना है, लेकिन मैं वास्तव में एक ही मुद्दा था। मुझे sshd config फाइल को एडिट करना था /etc/ssh। मैंने उस फाइल को किसी दूसरे सिस्टम पर sd-card पर बढ़ते हुए संपादित किया। आपको ssh ( PermitRootLogin हाँ जैसा कुछ ) का उपयोग करके लॉगिन करने की अनुमति देनी होगी ।


-1

SSH डिफ़ॉल्ट रूप से सक्षम है - प्रयास करें pi@10.42.0.5(या root@10.42.0.5यदि आप वास्तव में हताश हैं!)। प्लेन ssh 10.42.0.5भी सार्थक हो सकता है।

क्या आप पासवर्ड का उपयोग कर रहे हैं या sshकनेक्ट करने के लिए?


ओपी एक बिल्डरोट छवि का उपयोग करना चाहता है, न कि रास्पियन। रास्पबियन raspberrypi.stackexchange.com/questions/38/… के साथ काम करता है।
सिरो सेंटिल्ली 冠状 病毒 iro i 法轮功 '

-1

इस तरह मैंने एक हेडलेस पाई सेटअप किया:

  1. डाउनलोड etcher और raspberrypi.org से नवीनतम रस्पियन सॉफ्टवेयर

  2. मेरे sd कार्ड में फ़ाइल को जलाने के लिए etcher का उपयोग किया

  3. etcher स्वचालित रूप से sd कार्ड को खारिज कर देता है, इसे फिर से अपने कंम्प्यूटर में रखें

  4. इसमें कुछ नहीं के साथ एक फ़ाइल बनाई, इसे ssh कहा (सुनिश्चित करें कि सहेजे जाने पर कोई एक्सटेंशन सक्षम नहीं है)

  5. इसे मेरे रास्पबेरी पाई, आरपीआई से रूटर से जुड़े ईथरनेट और माइक्रो यूएसबी टी आरपीआई को जोड़ा गया।

  6. आरपीआई निकाल दिया, 1-2 मिनट इंतजार किया।

  7. मेरे राउटर पेज पर गए (आपके रूटर्स आईपी में टाइप करें, आपके राउटर पर ही होना चाहिए

  8. कनेक्टेड डिवाइसों के लिए खोजा, मेरा रास्पबेरी पाई आईपी पता मिला।

  9. IP एड्रेस को लिखे और टर्मिनल खोले

  10. टर्मिनल में लिखें: ssh pi @ yourRPIiphere!

  11. रिपी आईपी पते के साथ अपने को बदलें

  12. प्रेस दर्ज करें और डिफ़ॉल्ट पासवर्ड में टाइप करें, रास्पबेरी

  13. आरपीआई को कॉन्फ़िगर करने के लिए sudo raspi-config, अपनी सेटिंग्स संपादित करें, रिबूट करें!

इस मदद की उम्मीद!


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