# Entering single user mode on ARM to correct mistakes rc.conf



## rusma (Jan 21, 2012)

Hello, I made a mistake in rc.conf (enabling nginx, nginx seems to hang forever), and now want to undo it, but it is not possible at the moment, because the system is not finished booting. This is on a Marvell Sheevaplug running the ARM architecture of FreeBSD. I do not have this nice countdown menu like on my amd64 computer. I have serial access from another machine running nearby. I know in OpenBSD you write [CMD="loader>"]boot -s[/CMD] at the start of the boot process, then I wonder: how is it possible for me to enter single user mode (I am hoping for some escape command like !)?

Basically, what happens at boot is the kernel binary file is loaded for the early boot process (recognition of devices).


----------



## tingo (Jan 23, 2012)

What happens if you press space (or "any key") after the kernel has loaded, but before it boots?
That should give you a boot prompt.


----------



## rusma (Jan 24, 2012)

Hello Tingo, thanks for you interest. No, pressing space or any key via the serial does not seem to work. Any other suggestions?


----------



## tingo (Jan 25, 2012)

Does the Sheevaplug load thew kernel directly (instead of using loader(8))? If so, you can't tell the kernel to boot into single user via a command line argument.
What are you booting from? If it an external medium of some kind (eg. usb memory stick), perhaps removing it and inserting in into another FreeBSD machine is the easiest option?

If not, how about (temporary) booting the Sheevaplug from a usb stick, mount your storage, fix the problem and try again?


----------



## okeeblow (Jan 27, 2012)

Do you have another FreeBSD computer handy? You could mount the USB root drive there, edit rc.conf, then umount and put it back in the Sheevaplug.


----------



## rusma (Jan 31, 2012)

Some days have gone by, my immediate solution was to mount the drive on another FreeBSD system and edit the rc.conf file (commenting out nginx_enable), and everything works, though I thought this was not possible beacuse of some permissions or possible standard root filesystem crypto.

Then I wonder, is it possible for me to use loader(8) from U-Boot (i.e. Das U-Boot)? Then I suppose it would be possible to load kernel modules with ease. FYI, my current U-boot bootcmd string looks like this:

```
usb stop;sleep 2;usb start;sleep 2;fatload usb 0 0x900000 kernel.bin;sleep 2;go 0x900000;reset;
```


----------

