Sign up ×
Raspberry Pi Stack Exchange is a question and answer site for users and developers of hardware and software for Raspberry Pi. It's 100% free, no registration required.

So I have a bug in a script in my init.d directory and bottom line...I can't completely boot the pi.

How can I boot into runlevel 1 (single user mode) so I can fix the bug?

share|improve this question
Check this link for several options – Steve Robillard Nov 27 '12 at 4:42

5 Answers 5

up vote 11 down vote accepted

That's not exactly a way to enter runlevel 1, but there is "safe mode" boot option in raspberry Pi firmware. To enable it, you have to insert a jumper between pins 5 and 6 on P1 (GPIO) header when booting.

Safemode pins

If you do this, bootloader will ignore the config.txt file (except from avoid_safe_mode option which can be used to disable this feature) and will try to boot kernel_emergency.img (if available) instead of kernel.img.

Default kernel_emergency.img has special emergency initramfs build in and it will boot to this busybox based OS so that you can fix the problems in your OS manually (or change kernel boot parameters to run runlevel 1 at next boot). Remember to run sync before powering down since reboot or shutdown commands may not work.

share|improve this answer
That's exactly what I was looking for. – peledies Dec 2 '12 at 2:32

I couldn't find a way to force the pi to boot into runlevel 1 so I fired up a fedora live disk I had laying around and used the terminal to remove the script in question from the /etc/init.d directory

share|improve this answer
  • Hit shift when starting up.
  • Hit "e" to edit config
  • tab over to cmdline.txt
  • add to the end of the line


  • hit ok, then Esc to boot...... it will boot you in to a command line

    # /etc/init.d/ (this will do something)

    # mount -n -o remount,rw / (this will remount / so you can make changes)

  • now you should be able to edit the init.d config......

  • when you reboot again.... hold shift and remove the init=/bin/sh
share|improve this answer

If you want to access and change SD card Linux partition files from Windows you can do it with one of these utilities.

share|improve this answer
  1. Boot into runlevel 1

    $ sudo init 1
  2. After booting into runlevel 1

    $ passwd

NOTE: to runlevel 1, change the file /etc/inittab from id:2:initdefault: to something similar like: id:1:initdefault:

share|improve this answer
Is that really booting into runlevel 1, though? I mean, it can hardly be done if the machine isn't booted in the first place, can it? – Bex Sep 10 '14 at 17:34

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.