उफ़ मुझे रनवे 1 चाहिए


10

तो मैं अपने init.d निर्देशिका और नीचे पंक्ति में एक स्क्रिप्ट में एक बग है ... मैं पूरी तरह से बूट नहीं कर सकता।

मैं रनलेवल 1 (एकल उपयोगकर्ता मोड) में कैसे बूट कर सकता हूं ताकि मैं बग को ठीक कर सकूं?


1
कई विकल्पों के लिए इस लिंक की जाँच करें raspberrypi.org/phpBB3/viewtopic.php?f=28&t=16185
स्टीव रॉबिलार्ड

जवाबों:


16

यह रनलेवल 1 में प्रवेश करने का एक तरीका नहीं है, लेकिन रास्पबेरी पाई फर्मवेयर में "सुरक्षित मोड" बूट विकल्प है। इसे सक्षम करने के लिए, आपको बूट करते समय P1 (GPIO) हेडर पर पिन 5 और 6 के बीच एक जम्पर डालना होगा।

सफ़ेमोड पिन

यदि आप ऐसा करते हैं, तो बूटलोडर config.txtफ़ाइल को अनदेखा कर देगा ( avoid_safe_modeइस सुविधा को अक्षम करने के लिए उपयोग किए जा सकने वाले विकल्प को छोड़कर ) और kernel_emergency.imgइसके बजाय बूट (यदि उपलब्ध हो) करने का प्रयास करेगा kernel.img

डिफ़ॉल्ट kernel_emergency.imgमें विशेष आपातकालीन initramfsबिल्ड है और यह इस व्यस्त बॉक्स पर आधारित OS को बूट करेगा ताकि आप अपने OS की समस्याओं को मैन्युअल रूप से ठीक कर सकें (या अगले बूट पर रनलेवल 1 चलाने के लिए कर्नेल बूट पैरामीटर बदल सकें)। याद रखें syncकि पॉवर डाउन करने से पहले दौड़ना चाहिए rebootया shutdownहो सकता है कि काम न करें।


ठीक वैसा ही मैं देख रहा था।
डेच कर्न्स

5
  • शुरू होने पर शिफ्ट मारो।
  • कॉन्फ़िगर को संपादित करने के लिए "ई" को मारो
  • cmdline.txt पर टैब करें
  • पंक्ति के अंत में जोड़ें

    init=/bin/sh

  • ठीक है, तो बूट करने के लिए Esc ...... यह आपको एक कमांड लाइन में बूट करेगा

    # /etc/init.d/mountall.sh (यह कुछ करेगा)

    # mount -n -o remount,rw / (यह परिवर्तन होगा / इसलिए आप परिवर्तन कर सकते हैं)

  • अब आपको init.d config को संपादित करने में सक्षम होना चाहिए ......

  • जब आप फिर से रीबूट करते हैं .... शिफ्ट पकड़ें और init = / bin / sh को हटा दें

अति उत्कृष्ट! मुझे init sh के निर्देश मिले थे, लेकिन मुझे जरूरत का रिमाउंट सामान नहीं मिल रहा था। धन्यवाद!
रिचर्ड टर्नर

3

यहाँ कई अन्य उत्तर अब गलत हैं:

  • GPIO जम्पर पिन विधि को अपस्ट्रीम OS से हटा दिया गया था , इसलिए यह केवल तभी काम करता है जब आप NOOBS छवि का उपयोग कर रहे हों

  • रास्पबियन जेसी के सिस्टमड के लिए कदम init=/bin/shहैक को तोड़ देता है । जब आप ऐसा करते हैं, तो यह शिकायत करता है,can't access tty: job control turned off

सौभाग्य से, एक समाधान है जो काम करता है, जो वास्तव में वास्तविक एकल-उपयोगकर्ता पहुंच देता है: पैरामीटर के ठीक बाद एक स्थान और एक 1के अंत में जोड़ें ।cmdline.txtrootwait

होल्ड-शिफ्ट बूट मेन्यू स्टॉक रास्पबियन जेसी ओएस छवि के साथ मौजूद नहीं है, इसलिए /boot/cmdline.txtयदि आप नोबस छवि का उपयोग नहीं कर रहे हैं तो आपको दूसरे कंप्यूटर से संपादन करके ऐसा करना होगा ।


2

मुझे रनवेवेल 1 में बूट करने के लिए pi को बाध्य करने का कोई तरीका नहीं मिल रहा है इसलिए मैंने एक फ़ेडोरा लाइव डिस्क को निकाल दिया, जिसमें मैंने लेटा था और /etc/init.d निर्देशिका से स्क्रिप्ट को प्रश्न में निकालने के लिए टर्मिनल का उपयोग किया था


1

यदि आप विंडोज से एसडी कार्ड लिनक्स विभाजन फ़ाइलों को एक्सेस और बदलना चाहते हैं, तो आप इन उपयोगिताओं में से एक के साथ कर सकते हैं ।


स्वागत हे! कृपया ले दौरे और यात्रा के सहायता केंद्र । जब भी यह सैद्धांतिक रूप से प्रश्न का उत्तर दे सकता है, तो उत्तर के आवश्यक भागों को शामिल करना बेहतर होगा , और संदर्भ के लिए लिंक प्रदान करें। वास्तव में हम इस नीति को लागू कर रहे हैं : कृपया संपादित करें ताकि उत्तर अपने आप खड़ा हो जाए ताकि भविष्य में लिंक टूट जाए। अगर इसे 48 घंटों के भीतर संपादित नहीं किया गया तो इसे कम्युनिटी विकी में बदल दिया जाएगा।
जैकबम001

1
  1. रनलेवल 1 में बूट करें

    $ sudo init 1
    
  2. रनलेवल 1 में बूट करने के बाद

    $ passwd
    

नोट: रनलेवल 1 के लिए, फ़ाइल को कुछ इसी तरह /etc/inittabसे बदलें id:2:initdefault::id:1:initdefault:


2
क्या वास्तव में रनवे 1 में बूटिंग है , हालांकि? मेरा मतलब है, यह शायद ही किया जा सकता है अगर मशीन पहले स्थान पर बूट नहीं हुई है, क्या यह हो सकता है?
बेक्स

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