На жаль, мені потрібен рівень 1


10

Отже, у мене є помилка в скрипті в моєму каталозі init.d і в нижньому рядку ... Я не можу повністю завантажувати pi.

Як я можу завантажитися в runlevel 1 (режим одного користувача), щоб виправити помилку?


1
Перевірте за цим посиланням кілька варіантів raspberrypi.org/phpBB3/viewtopic.php?f=28&t=16185
Стів Робіллард

Відповіді:


16

Це не зовсім спосіб ввести runlevel 1, але в програмному забезпеченні малинового Pi є "безпечний режим" завантаження. Щоб увімкнути це, під час завантаження потрібно вставити перемичку між штифтами 5 та 6 на заголовку P1 (GPIO).

Шпильки Safemode

Якщо ви це зробите, завантажувач буде ігнорувати config.txtфайл (за винятком avoid_safe_modeопції, яку можна використовувати для відключення цієї функції) та спробує завантажитися kernel_emergency.img(якщо є) замість kernel.img.

За замовчуванням kernel_emergency.imgє спеціальна initramfsвбудована система надзвичайних ситуацій, і вона завантажиться в цю ОС на базі зайнятої скриньки, щоб ви могли усунути проблеми в вашій ОС вручну (або змінити параметри завантаження ядра, щоб запустити runlevel 1 при наступному завантаженні). Чи не забудьте запустити syncперед відключенням живлення , так rebootі shutdownкоманди можуть не працювати.


Саме це я і шукав.
Деак Карнс

5
  • Натисніть на зміну при запуску.
  • Натисніть "e" для редагування конфігурації
  • вкладку на cmdline.txt
  • додати до кінця рядка

    init=/bin/sh

  • натисніть ОК, потім Esc для завантаження ...... він завантажить вас у командний рядок

    # /etc/init.d/mountall.sh (це щось зробить)

    # mount -n -o remount,rw / (це буде перераховано / таким чином ви зможете внести зміни)

  • тепер ви зможете редагувати конфігурацію init.d ......

  • коли ви знову перезавантажите .... утримуйте shift і видаліть init = / bin / sh

Відмінно! Я знайшов інструкції до init sh, але не вистачав потрібних матеріалів, які мені потрібні. Дякую!
Річард Тернер

3

Деякі інші відповіді тут зараз невірні:

  • Метод перемикача контактів GPIO було видалено з висхідної ОС, тому він працює лише зараз, якщо ви використовуєте зображення NOOBS

  • Перехід Raspbian Джессі на systemd зламає init=/bin/shхак. Коли ви це робите, він скаржиться,can't access tty: job control turned off

На щастя, існує рішення, яке працює, яке фактично надає реальний доступ для одного користувача: додайте пробіл та а 1в кінці cmdline.txt, відразу після rootwaitпараметра.

Меню завантаження "Hold-Shift" не існує з запасним зображенням Raspbian Jessie OS, тому вам доведеться це зробити, редагуючи /boot/cmdline.txtз іншого комп'ютера, якщо ви не використовуєте зображення NOOBS.


2

Я не зміг знайти спосіб змусити пі завантажуватися до runlevel 1, тому я запустив живий диск fedora, який я проклав, і застосував термінал, щоб видалити спірний сценарій із каталогу /etc/init.d


1

Якщо ви хочете отримати доступ та змінити файли розділів Linux на SD-картці SD з Windows, ви можете зробити це за допомогою однієї з цих утиліт .


Ласкаво просимо! Візьміть екскурсію та відвідайте довідковий центр . Хоча це теоретично може відповісти на питання, бажано сюди включити істотні частини відповіді та надати посилання для довідки. Насправді ми застосовуємо цю політику : будь ласка, відредагуйте так, щоб відповідь була самостійною, якщо посилання перерветься в майбутньому. Якщо він не буде відредагований протягом 48 годин, він буде перетворений на Wiki Wiki.
Jacobm001

1
  1. Завантажте в пробіл 1

    $ sudo init 1
    
  2. Після завантаження в рівень 1

    $ passwd
    

Примітка: на рівень виконання 1, змінити файл /etc/inittabз id:2:initdefault:чим - то подібним , як:id:1:initdefault:


2
Це справді завантаження в рівень 1, проте? Я маю на увазі, це навряд чи можна зробити, якщо машина не завантажується в першу чергу, чи не так?
Бекс

Ні, це точно не так. Що це таке - це зміна рівня запуску в біговій системі.
Хрусткий баракл
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.