Skip to main content
Topic: Cannot create runit symlink after install (Read 1590 times) previous topic - next topic
0 Members and 8 Guests are viewing this topic.

Cannot create runit symlink after install

I have installed Artix Linux through the command line correctly on my computer, up until the point where I reboot it.

While booting up, the following two messages show up:
Code: [Select]
ln: failed to create regular file: '/run/runit/stopit': No such file or directory

And:
Code: [Select]
In: failed to create symbolic link '/run/runit/service': No such file or directory

After that, I don't even get a login prompt, so I get stuck at this part.
 
This is the second time I'm trying to install Artix, and the same problem showed up again, at the same place.

It is my first time installing a Linux with runit. I've never used openrc or s6.

What I have tried to do:
- Following the normal install instructions during the runit part
-  booting through the live media and creating the /run/runit directoy (obviously wouldn't work)
- chrooting and doing the above
- symlinking /etc/runit/runsvdir/default to /run/runit/service (while chrooted ofc)


Re: Cannot create runit symlink after install

Reply #1
I have installed Artix Linux through the command line correctly on my computer, up until the point where I reboot it.

While booting up, the following two messages show up:
Code: [Select]
ln: failed to create regular file: '/run/runit/stopit': No such file or directory

And:
Code: [Select]
In: failed to create symbolic link '/run/runit/service': No such file or directory

After that, I don't even get a login prompt, so I get stuck at this part.
 
This is the second time I'm trying to install Artix, and the same problem showed up again, at the same place.

It is my first time installing a Linux with runit. I've never used openrc or s6.

What I have tried to do:
- Following the normal install instructions during the runit part
-  booting through the live media and creating the /run/runit directoy (obviously wouldn't work)
- chrooting and doing the above
- symlinking /etc/runit/runsvdir/default to /run/runit/service (while chrooted ofc)


/run is a tmpfs and it should be created and mounted before starting runit. This should probably be done by initramfs but if not, add corresponding commands to /etc/runit/1
ARMtix

Re: Cannot create runit symlink after install

Reply #2
/run is a tmpfs and it should be created and mounted before starting runit. This should probably be done by initramfs but if not, add corresponding commands to /etc/runit/1

question, what would be the case for this to happen or need to do the extra steps? assuming a step or two was missed using the basic installation guide.

Re: Cannot create runit symlink after install

Reply #3
The /run directory is a tmpfs that doesn't exist until after you do an install and then boot up the machine again. The guide can misleading here be. For runit, you can symlink services directly to the runlevel itself (/etc/runit/runsvdir/default) if you have not actually booted up in that install. I double checked how building the iso handles this and it does symlink directly to /etc/runit/runsvdir/default so I will update the installation guide to reflect that and be clearer on this point.

Edit: I'm not sure how exactly those messages showed up for you in the first place but I'm assuming they had something to do with the weird/incorrect symlinks you did.

Re: Cannot create runit symlink after install

Reply #4
/run is a tmpfs and it should be created and mounted before starting runit. This should probably be done by initramfs but if not, add corresponding commands to /etc/runit/1

I failed to mention that the specific directory that is being mentioned is not /run itself, but rather /run/runit. Sorry for the confusion.
Either way, I edited /etc/runit/1 so that it would mkdir this directory before actually trying to link something in it, but it did not work.

question, what would be the case for this to happen or need to do the extra steps? assuming a step or two was missed using the basic installation guide.

Yes, I first assumed that I missed a few steps during installation. So I tried to install it a second time and made sure to follow every step. I ended up having the same outcome.

The /run directory is a tmpfs that doesn't exist until after you do an install and then boot up the machine again. The guide can misleading here be. For runit, you can symlink services directly to the runlevel itself (/etc/runit/runsvdir/default) if you have not actually booted up in that install. I double checked how building the iso handles this and it does symlink directly to /etc/runit/runsvdir/default so I will update the installation guide to reflect that and be clearer on this point.

Edit: I'm not sure how exactly those messages showed up for you in the first place but I'm assuming they had something to do with the weird/incorrect symlinks you did.

These messages appeared right after I rebooted, but before getting a login prompt.
I followed the installation procedures twice and got the same results both of the times.
I am not a runit expert (I know much about Linux, but this is new territory for me), but I suspect that runit not being initialized makes it impossible for me to log into my machine.

I knew the things I did would have no effect since the run directory is created during boot. I just mentioned it because I saw that a previous post  (https://forum.a.org/index.php/topic,1394.0.html)  was solved by symlinking /etc/runit/runsvdir/default/ /run/runit/service. Although it was on a different step of the installation process, it never hurts to try.

Re: Cannot create runit symlink after install

Reply #5
Well runit had to have started otherwise you would have gotten a kernel panic. I guess that means the default runlevel is some how not being initialized on /run/runit/service which would mean you get no getty services. That would explain not having any tty. Although I don't know how this could be possible. @konimex any ideas?

Re: Cannot create runit symlink after install

Reply #6
@Sleet that's wierd. i came from void so its not kinda that hard for me to use runit. but i dont have problems about symlink not available. i do use /etc/runit/runsvdir/current though instead of what dudemaguy said that its suppose to be /etc/runit/runsvdir/default  for the active session.

EDIT: ah nmv. "current" is just a symlink to "default"