तो मैं अपने init.d निर्देशिका और नीचे पंक्ति में एक स्क्रिप्ट में एक बग है ... मैं पूरी तरह से बूट नहीं कर सकता।
मैं रनलेवल 1 (एकल उपयोगकर्ता मोड) में कैसे बूट कर सकता हूं ताकि मैं बग को ठीक कर सकूं?
तो मैं अपने init.d निर्देशिका और नीचे पंक्ति में एक स्क्रिप्ट में एक बग है ... मैं पूरी तरह से बूट नहीं कर सकता।
मैं रनलेवल 1 (एकल उपयोगकर्ता मोड) में कैसे बूट कर सकता हूं ताकि मैं बग को ठीक कर सकूं?
जवाबों:
यह रनलेवल 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
हो सकता है कि काम न करें।
पंक्ति के अंत में जोड़ें
init=/bin/sh
ठीक है, तो बूट करने के लिए Esc ...... यह आपको एक कमांड लाइन में बूट करेगा
# /etc/init.d/mountall.sh
(यह कुछ करेगा)
# mount -n -o remount,rw /
(यह परिवर्तन होगा / इसलिए आप परिवर्तन कर सकते हैं)
अब आपको init.d config को संपादित करने में सक्षम होना चाहिए ......
यहाँ कई अन्य उत्तर अब गलत हैं:
GPIO जम्पर पिन विधि को अपस्ट्रीम OS से हटा दिया गया था , इसलिए यह केवल तभी काम करता है जब आप NOOBS छवि का उपयोग कर रहे हों
रास्पबियन जेसी के सिस्टमड के लिए कदम init=/bin/sh
हैक को तोड़ देता है । जब आप ऐसा करते हैं, तो यह शिकायत करता है,can't access tty: job control turned off
सौभाग्य से, एक समाधान है जो काम करता है, जो वास्तव में वास्तविक एकल-उपयोगकर्ता पहुंच देता है: पैरामीटर के ठीक बाद एक स्थान और एक 1
के अंत में जोड़ें ।cmdline.txt
rootwait
होल्ड-शिफ्ट बूट मेन्यू स्टॉक रास्पबियन जेसी ओएस छवि के साथ मौजूद नहीं है, इसलिए /boot/cmdline.txt
यदि आप नोबस छवि का उपयोग नहीं कर रहे हैं तो आपको दूसरे कंप्यूटर से संपादन करके ऐसा करना होगा ।
यदि आप विंडोज से एसडी कार्ड लिनक्स विभाजन फ़ाइलों को एक्सेस और बदलना चाहते हैं, तो आप इन उपयोगिताओं में से एक के साथ कर सकते हैं ।
रनलेवल 1 में बूट करें
$ sudo init 1
रनलेवल 1 में बूट करने के बाद
$ passwd
नोट: रनलेवल 1 के लिए, फ़ाइल को कुछ इसी तरह /etc/inittab
से बदलें id:2:initdefault:
:id:1:initdefault: