Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [TRACKER] Runit support (Read 13657 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

Re: [TRACKER] Runit support

Reply #30
Just a quick question. Is there any reason to be concerned about this error? On boot, I get this message and I don't know why.

Code: [Select]
[    3.670727] elogind[605]: Failed to connect to system bus: No such file or directory
[    3.670770] elogind[605]: Failed to fully start up daemon: No such file or directory

As far as I can tell, this does absolutely nothing. I have dbus and elogind up and running just fine over here. I don't know why it's giving me that message unless I'm just forgetting a service.

The only reason for that is because runit services are started in parallel, elogind immediately looks for a dbus service, while dbus was still initializing. So, no, that error should not concern you, but I'm looking for way to turn that message off.
now only the dinit guy in artix

Re: [TRACKER] Runit support

Reply #31
Ah, that makes sense. It might not be a clean fix, but I just slapped "sleep 1s" before the dbus check and there's no error message for me anymore.

Re: [TRACKER] Runit support

Reply #32
A new runit-artix package (20180414) has been released and is now in [gremlins].

An important change in this release is binaries for pause, modules-load, and zzz has been moved back to /usr/bin, this is after I determined that there are no packages in Artix that uses the same binary names as runit-artix.

We'll move it to [system] this Monday.

If you symlinked /usr/bin/pause, /usr/bin/modules-load, and /usr/bin/zzz, please remove it before running pacman -Syu.

We're sorry for your inconvenience.

Also, we're testing a new runit-only image for Artix, expect a new post in the upcoming week.
now only the dinit guy in artix

Re: [TRACKER] Runit support

Reply #33
A runit release iso is not too far away, some minor issues to sort out.
Great job konimex.


Re: [TRACKER] Runit support

Reply #34
Would it possibly ever be one installer that would provide the choice of the init system?  It would be one installer for two distributions and I don't think this ever existed.
Fascinating when most others struggle with one.

Re: [TRACKER] Runit support

Reply #35
Would it possibly ever be one installer that would provide the choice of the init system?  It would be one installer for two distributions and I don't think this ever existed.
Fascinating when most others struggle with one.

Personally I'm not a fan of Calamares (manual install using the old strapping way gives me more control), but it should be possible. In fact, I'm aiming so both openrc-init and runit-init can be placed in the same iso, and give choice to users on which init to use during boot.
now only the dinit guy in artix


Re: [TRACKER] Runit support

Reply #37
Code: [Select]
https://wiki.artixlinux.org/Runit/Runit    -->
After installing runit, make sure to copy these directories to /usr/bin.

This seems a little vague, which directories? 

Code: [Select]
ls -la /usr/bin
lrwxrwxrwx 1 root root        10 Apr 18 17:26  init -> runit-init
lrwxrwxrwx 1 root root        29 Apr 18 18:03  halt -> /usr/lib/runit-artix/bin/halt
lrwxrwxrwx 1 root root        30 Apr 18 18:03  pause -> /usr/lib/runit-artix/bin/pause
lrwxrwxrwx 1 root root        33 Apr 18 18:03  shutdown -> /usr/lib/runit-artix/bin/shutdown
lrwxrwxrwx 1 root root        37 Apr 18 18:03  modules-load -> /usr/lib/runit-artix/bin/modules-load
lrwxrwxrwx 1 root root        28 Apr 18 18:03  zzz -> /usr/lib/runit-artix/bin/zzz
lrwxrwxrwx 1 root root         4 Apr 18 18:04  poweroff -> halt
lrwxrwxrwx 1 root root         4 Apr 18 18:04  reboot -> halt
lrwxrwxrwx 1 root root         3 Apr 18 18:07  bin -> bin


Does this look right?

Code: [Select]
ls -al /etc/runit/sv
total 60
drwxr-xr-x  6 root root 4096 Apr 18 17:14 ..
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty6
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty4
drwxr-xr-x 15 root root 4096 Apr 18 17:14 .
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-console
drwxr-xr-x  2 root root 4096 Apr 18 17:14 sulogin
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-ttyUSB0
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-ttyS0
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty5
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty2
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty1
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-generic
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-ttyAMA0
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty3
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-serial

I did what the wiki said, forced removal of openrc otherwise it will not be replaced, edite the init line in grub,
then system would halt after trying to boot.  I only caught a couple of lines from the top that looked like runit before it halted.
chroot was not easy either, it seems as it lost the ln for bash so artools-chroot /mnt  /usr/bin/bash   eventually worked
there seems to be a directory instead of a link called bin that had a link to the init system in it, I have no clue how it got there.
Code: [Select]
lrwxrwxrwx  1 root root   10 Apr 16 10:54 init -> runit-init

I took all my service scripts (thinking anythin with -openrc will have an -runit) and rename them into -runit trying to install them:

Code: [Select]
error: target not found: inetutils-runit
error: target not found: kmod-runit
error: target not found: openvpn-runit
error: target not found: eudev-runit
error: target not found: displaymanager-runit
error: target not found: cryptsetup-runit

The rest were ok.

Re: [TRACKER] Runit support

Reply #38
Sorry, the wiki is not yet updated. I've updated the wiki.

Code: [Select]
https://wiki.artixlinux.org/Runit/Runit    -->
After installing runit, make sure to copy these directories to /usr/bin.

This seems a little vague, which directories? 

Code: [Select]
ls -la /usr/bin
lrwxrwxrwx 1 root root        10 Apr 18 17:26  init -> runit-init
lrwxrwxrwx 1 root root        29 Apr 18 18:03  halt -> /usr/lib/runit-artix/bin/halt
lrwxrwxrwx 1 root root        30 Apr 18 18:03  pause -> /usr/lib/runit-artix/bin/pause
lrwxrwxrwx 1 root root        33 Apr 18 18:03  shutdown -> /usr/lib/runit-artix/bin/shutdown
lrwxrwxrwx 1 root root        37 Apr 18 18:03  modules-load -> /usr/lib/runit-artix/bin/modules-load
lrwxrwxrwx 1 root root        28 Apr 18 18:03  zzz -> /usr/lib/runit-artix/bin/zzz
lrwxrwxrwx 1 root root         4 Apr 18 18:04  poweroff -> halt
lrwxrwxrwx 1 root root         4 Apr 18 18:04  reboot -> halt
lrwxrwxrwx 1 root root         3 Apr 18 18:07  bin -> bin


Not "directory" per se, but "files". That's correct.


Does this look right?

Code: [Select]
ls -al /etc/runit/sv
total 60
drwxr-xr-x  6 root root 4096 Apr 18 17:14 ..
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty6
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty4
drwxr-xr-x 15 root root 4096 Apr 18 17:14 .
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-console
drwxr-xr-x  2 root root 4096 Apr 18 17:14 sulogin
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-ttyUSB0
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-ttyS0
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty5
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty2
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty1
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-generic
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-ttyAMA0
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-tty3
drwxr-xr-x  2 root root 4096 Apr 18 17:14 agetty-serial

Yes.

I did what the wiki said, forced removal of openrc otherwise it will not be replaced, edite the init line in grub,
then system would halt after trying to boot.  I only caught a couple of lines from the top that looked like runit before it halted.
chroot was not easy either, it seems as it lost the ln for bash so artools-chroot /mnt  /usr/bin/bash   eventually worked
there seems to be a directory instead of a link called bin that had a link to the init system in it, I have no clue how it got there.
Code: [Select]
lrwxrwxrwx  1 root root   10 Apr 16 10:54 init -> runit-init

Please elaborate.

I took all my service scripts (thinking anythin with -openrc will have an -runit) and rename them into -runit trying to install them:

Code: [Select]
error: target not found: inetutils-runit
error: target not found: kmod-runit
error: target not found: openvpn-runit
error: target not found: eudev-runit
error: target not found: displaymanager-runit
error: target not found: cryptsetup-runit

The rest were ok.


Most of them are handled directly by runit's stage 1 so it doesn't make sense to add them manually. As for Display Manager, the service script for the respective DM (lxdm-runit, gdm-runit) should suffice.
now only the dinit guy in artix

Re: [TRACKER] Runit support

Reply #39
The system is locked in read only mode, somehow, and /usr/bin /bin link is missing
The only way to chroot is if I specify where a shell is #artools-chroot /mnt /usr/bin/bash
When I attempt to boot in either normal or recovery I get 2-3 lines on top (same as I did with void) and within 2-3" the systems shutsdown.  It is so fast I doubt runit has saved any logs, but I am willing to look if you tell me where.
I did add the line in grub under linux UUID...... for the init system as the wiki said yesterday
The only problem I had was that OpenRC did not want to move over for runit so I had to force runit and remove openrc afterwards, as they were in conflict.

Re: [TRACKER] Runit support

Reply #40
The system is locked in read only mode, somehow, and /usr/bin /bin link is missing

That sounds like something is wrong with your system, but not from the runit side. And because /bin is owned by the filesystem package, it should be there and symlinks to /usr/bin. You don't forget installing the runit-artix package, right?

The only way to chroot is if I specify where a shell is #artools-chroot /mnt /usr/bin/bash

Were you trying to install a fresh instance? Why are you trying to chroot?

When I attempt to boot in either normal or recovery I get 2-3 lines on top (same as I did with void) and within 2-3" the systems shutsdown.  It is so fast I doubt runit has saved any logs, but I am willing to look if you tell me where.

Runit doesn't save any logs for stage1, but again, maybe you forgot to install the runit-artix package.
now only the dinit guy in artix

Re: [TRACKER] Runit support

Reply #41
No both runit and runit artix were installed, also all the relevant -runit files except for the services I didn't find any, as listed above.
The system never had a problem before, sddm, openbox, and I followed all steps.
It was updated/upgraded just the day before.
Why am I chrooting?  Because instead of boot it just shutsdown.
The /usr/bin link was there, for sure, before the runit installation.  I have no idea what went wrong, I just followed the steps on wiki like you mention earlier on the post.  When I tried to reboot  --- puff ---  nada --

Should I try through chroot (artools) to reinstall openrc ?

I just left it as it was so I don't do anything to harm it more.  How do you recreate the link from chroot?  It says it can't because it is a read only system.

Re: [TRACKER] Runit support

Reply #42
No both runit and runit artix were installed, also all the relevant -runit files except for the services I didn't find any, as listed above.
The system never had a problem before, sddm, openbox, and I followed all steps.
It was updated/upgraded just the day before.
Why am I chrooting?  Because instead of boot it just shutsdown.
The /usr/bin link was there, for sure, before the runit installation.  I have no idea what went wrong, I just followed the steps on wiki like you mention earlier on the post.  When I tried to reboot  --- puff ---  nada --

Should I try through chroot (artools) to reinstall openrc ?

I just left it as it was so I don't do anything to harm it more.  How do you recreate the link from chroot?  It says it can't because it is a read only system.

I cannot reproduce this on any of my machine or VMs.
Can you test this on a VM and see if your problem is also there?

It shouldn't be read-only because root is remounted rw or you'll be dropped to emergency shell.
now only the dinit guy in artix

Re: [TRACKER] Runit support

Reply #43
https://smarden.org/runit  that you have in the wiki is dead

After figuring out a way to remake the symlink for /bin I also thought that my problems may be for using gremlins.  So I # gremlins and got runit and runit-artix from system, 1 version back each.  This is all artools-chroot.  When I replaced the link for /bin and exited chroot worked normally whithout specifying a path for bash.
The services *-runit that I had installed had to be reinstalled, so I did that.  At first they were giving me some trouble because of conflict with openrc, but openrc was removed since yesterday.  What was left were 3-4 runscripts that didn't have a runit equivalent.  So I removed them and reinstalled all -runit scripts by force.
So finally I reboot to the system and all is functional but no network.  Somehow networkmanager-runit was not there.
No halt or reboot would work either.  Neither killing #1 worked.  But ctrlaltdel at console did work, I am glad that was symlinked.
I chrooted again and installed networkmanager and corresponding -runit file and tried it again.  No network yet, so this time I downloaded the wiki page but the link for further reference as listed above does not exist.


I just have a hard time understanding how anyone used these particular packages and got the system to work.
To double check the problem went back to gremlins and reinstalled your artix runit pkg and runit istelf and it did the same exact thing again.  It removed the bin link, made a bin directory and placed the init link inside the /bin.
So I moved the init link into /usr/bin and recreated the bin link to /usr/bin
It is your package that screwes this up, not me!

I am getting close to putting this together but it is a homemade garage job at this stage.  It is wearing me down!


Here is a piece of the Void grub.cfg

Code: [Select]
linux	/boot/vmlinuz-4.15.15_1 root=UUID=*********************  ro  loglevel=1 slub_debug=P page_poison=0 net.ifnames=0
echo 'Loading initial ramdisk ...'
initrd /boot/initramfs-4.15.15_1.img

and this is void's fstab

Code: [Select]
UUID=******************************	/	ext4	defaults,noatime	0	1
tmpfs /tmp tmpfs defaults,nosuid,nodev 0 0

That page poison=0/2 I think zeros out ram for meltdown/spectre protection.  Irrelevant to runit I think



Re: [TRACKER] Runit support

Reply #44
Yes, go reproduce what I am saying with the gremlins pkgs.  It doesn't say anywhere that those are useless.
This was the source of all this trouble, once the /bin link is broken any software related to pacman etc. is bound to mess installation and removal up as it is calling /bin/bash etc.. that don't exist.

I don't like vms because they are just vms not 'real" systems on real hardware. 

I managed to get s6 working on a standard new manjaro-lxde installation.  It rocks :)  Read my article on sysdfree