8

I'm trying to install arch linux. When I boot up, it gives me the message found below.

ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own now. Good luck.

sh: can't access tty: job control turned off
[rootfs /]# _
  • init should be located in /usr/bin/init and not /sbin/init – Jeight Oct 19 '13 at 5:07
  • 1
    Did you use an old installation image and not -Syu? – jasonwryan Oct 19 '13 at 5:11
  • 3
    @Jeight /sbin and /bin are symlinks to /usr/bin on Arch Linux. – strugee Oct 19 '13 at 5:19
  • 1
    @strugee The question now is are the OP's Arch Linux /sbin and /bin using the sym links that it should have by default. That would cause the issue. – Jeight Oct 19 '13 at 5:23
  • 4
    @ChanceLeachman I really would recommend against using things like this. if you don't want to configure Arch the way the wiki recommends, or don't understand what you're doing, then Arch is probably not the right distribution for you (maybe try Mint or Debian). also, your link 404s. @Jeight FWIW, I suspect that he can just install the systemd package. maybe his script wasn't updated for the transition to systemd as init. – strugee Oct 19 '13 at 5:32
8

You should need systemd-sysvcompat if you want to use init. The /sbin/init is a simple symbolic link to /lib/systemd/systemd (see PKGBUILD) provided by systemd-sysvcompat.

So if you want to boot your system you should add into grub kernel line (if you use grub):

init=/lib/systemd/systemd

If you don't want to use systemd-sysvcompat you should add the line above into your GRUB's configuration

3

I encountered this problem and solved it by re-installing arch base system and paying closer attention to the instructions given. Specifically under Syslinux - Installation on BIOS.

I chose to install syslinux and read the instructions too quickly and forgot to

Configure syslinux.cfg to point to the right root partition. This step is vital.

My root partition which was on /dev/sda2 in my case, and as you can see below it is not pointing to it.

...
LABEL arch
    ...
    APPEND root=/dev/sda3 rw
    ...

It pointed to my home partition, /dev/sda3

2

Download the very latest install ISO (2013.10.1 currently) from the Arch Download page. Put that ISO on a CD or whatever and re-install.

Either you used an elderly installation ISO or something went wrong during your install. On my relatively up-to-date Arch server, /sbin/init is a symbolic link to /lib/systemd/systemd.

You could check that /sbin/init exists, and that either it's a real file or a symbolic link. If the latter, check to see if what the symbolic link says exists, is executable, is a file, etc etc. My guess is something in that process will show where the install went bad, but that you should probably re-do the install from a fresh download of the ISO image.

  • 2
    Arch does use init, in the sense that the kernel wants a program called /sbin/init (unless the bootloader passes a different value via the init option), and that the program with PID 1 is conventionally called init. It doesn't matter to the kernel whether this is the init from Systemd or from SysVinit or from Upstart or from BusyBox. – Gilles 'SO- stop being evil' Oct 19 '13 at 22:34
1

This can happen if you used the wrong partition for root. Look up your loader entry (in /boot/loader/entries/arch.conf if you are using systemd-boot on Arch Linux like me), and ensure the 'root' UUID is your root partition.

1

I Know this post is old, but I have just encountered this problem, and I didn't find a good answer elsewhere, so here is my answer, hoping that this helps someone in the future.

In my case, when I was at the stage

ERROR: Root device mounted successfully, but /sbin/init does not exist.
Bailing out, you are on your own now. Good luck.

sh: can't access tty: job control turned off
[rootfs /]# _

There actually was a /sbin/init, which was nothing but a symbolic link to busybox!

Here is what happened. In Archlinux, the directory /sbin is a symbolic link to /usr/sbin. And, as say other people, /usr/sbin/init symlinks to /lib/systemd/systemd. But, in my case, I found out that the /usr directory was not mounted.

You basically need to mount the partition /usr as explained on this ArchWiki page. You may also want to verify /etc/fstab, especially if you use one generated by genfstab.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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