Ups, saya perlu runlevel 1

10

Jadi saya punya bug dalam skrip di direktori init.d saya dan garis bawah ... Saya tidak bisa sepenuhnya boot pi.

Bagaimana saya bisa boot ke runlevel 1 (mode pengguna tunggal) sehingga saya bisa memperbaiki bug?

Deac Karns
sumber
1
Periksa tautan ini untuk beberapa opsi raspberrypi.org/phpBB3/viewtopic.php?f=28&t=16185
Steve Robillard

Jawaban:

16

Itu bukan cara untuk memasuki runlevel 1, tetapi ada opsi boot "safe mode" di firmware raspberry Pi. Untuk mengaktifkannya, Anda harus memasukkan jumper antara pin 5 dan 6 pada header P1 (GPIO) saat booting.

Pin Safemode

Jika Anda melakukan ini, bootloader akan mengabaikan config.txtfile (kecuali dari avoid_safe_modeopsi yang dapat digunakan untuk menonaktifkan fitur ini) dan akan mencoba untuk boot kernel_emergency.img(jika tersedia) alih-alih kernel.img.

Default kernel_emergency.imgmemiliki initramfsbuild darurat khusus dan akan boot ke OS berbasis busybox ini sehingga Anda dapat memperbaiki masalah di OS Anda secara manual (atau mengubah parameter boot kernel untuk menjalankan runlevel 1 pada boot berikutnya). Ingatlah untuk lari syncsebelum powering down karena rebootatau shutdownperintah mungkin tidak bekerja.

Krzysztof Adamski
sumber
Itulah tepatnya yang saya cari.
Deac Karns
5
  • Tekan shift saat memulai.
  • Tekan "e" untuk mengedit konfigurasi
  • tab ke cmdline.txt
  • tambahkan ke akhir baris

    init=/bin/sh

  • tekan ok, lalu Esc untuk boot ...... itu akan mem-boot Anda ke baris perintah

    # /etc/init.d/mountall.sh (ini akan melakukan sesuatu)

    # mount -n -o remount,rw / (ini akan mengirim ulang / agar Anda dapat melakukan perubahan)

  • sekarang Anda harus dapat mengedit init.d config ......

  • ketika Anda reboot lagi .... tahan shift dan hapus init = / bin / sh
Mike Sandler
sumber
Luar biasa! Saya telah menemukan instruksi untuk init sh tetapi tidak memiliki hal-hal remount yang saya butuhkan. Terima kasih!
Richard Turner
3

Beberapa jawaban lain di sini sekarang salah:

  • Metode pin jumper GPIO telah dihapus dari OS hulu, jadi itu hanya berfungsi sekarang jika Anda menggunakan gambar NOOBS

  • Langkah Raspbian Jessie ke systemd memecah init=/bin/shretas. Ketika Anda melakukan ini, itu mengeluh,can't access tty: job control turned off

Untungnya, ada solusi yang berfungsi, yang benar-benar memberikan akses pengguna tunggal nyata: tambahkan spasi dan 1di akhir cmdline.txt, tepat setelah rootwaitparameter.

Menu boot tahan-Shift tidak ada dengan gambar OS Jessie Raspbian, jadi Anda harus melakukan ini dengan mengedit /boot/cmdline.txtdari komputer lain jika Anda tidak menggunakan gambar NOOBS.

Warren Young
sumber
2

Saya tidak dapat menemukan cara untuk memaksa pi untuk boot ke runlevel 1 jadi saya menyalakan disk live fedora yang telah saya letakkan dan menggunakan terminal untuk menghapus skrip yang dimaksud dari direktori /etc/init.d

Deac Karns
sumber
1

Jika Anda ingin mengakses dan mengubah file partisi Linux kartu SD dari Windows, Anda dapat melakukannya dengan salah satu utilitas ini .

avra
sumber
Selamat datang! Silakan ikuti tur dan kunjungi pusat bantuan . Sementara ini secara teoritis dapat menjawab pertanyaan, lebih disukai untuk memasukkan bagian-bagian penting dari jawaban di sini, dan menyediakan tautan untuk referensi. Sebenarnya kami memberlakukan kebijakan ini : harap edit sehingga jawabannya berdiri sendiri jika tautannya terputus di masa mendatang. Jika tidak diedit dalam waktu 48 jam itu akan dikonversi ke Komunitas Wiki.
Jacobm001
1
  1. Boot ke runlevel 1

    $ sudo init 1
    
  2. Setelah boot ke runlevel 1

    $ passwd
    

CATATAN: untuk runlevel 1, ubah file /etc/inittabdari yang id:2:initdefault:serupa seperti:id:1:initdefault:

Lowreno
sumber
2
Apakah itu benar-benar boot ke runlevel 1? Maksudku, itu hampir tidak bisa dilakukan jika mesin tidak di-boot di tempat pertama, bukan?
Bex
Tidak, tentu saja tidak. Apa itu, adalah mengubah level run pada sistem yang sedang berjalan.
Crusty Barnacle