Skip to main content
Topic: We have a pulse! (Read 4816 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

We have a pulse!

I've been playing around with getting s6 to work on Artix.  I added the Obarun repository after the official repositories and installed the same set of s6 packages that come with Obarun, plus a lot of the service scripts for programs I use. 

After much hair-pulling over the last couple of days trying to get the user RC system working, I finally determined that the Obarun boot process expects /etc/sysctl.conf to exist.  They provide one that has some settings in it.  Simply touching an empty sysctl.conf file made everything work properly. 

Caveats: No working elogind yet, mainly due to Obarun still using ConsoleKit.  Since I'm testing in a VM, I may see if ConsoleKit will work well enough for me.  And this is most obviously not a clean method, since much of this is customized around Obarun.  In particular, the /usr/bin/init script announces it is booting Obarun.  Their default configuration file also sets the hostname to S6obarun.  That, however, is an easy fix.  Overall, this does seem to be a good POC for getting Artix working under S6.

Re: We have a pulse!

Reply #1
So after mucking around with ConsoleKit for awhile and getting stuck by Obarun's desire to avoid anything from systemd, I decided to make elogind work.  I used https://github.com/artix-linux/runit-artix/pull/1 as a guide, I created a kludgy method of getting the openrc cgroup mounted. I put the mountpoint... command in a shell script and wrote a bundle to start it.  Running that command directly from the "run" file didn't work.  I then created a bundle for elogind and went through working out the dependencies so it is starting clean.    KDE sees all of the power options (reboot, shutdown, suspend, etc).  I don't know if they all work.  Privilege escalation for Pamac is not currently working, but octopi does. 


Re: We have a pulse!

Reply #3
Stage 1 is what was provided by obarun, and I'm running with s6-rc.

Re: We have a pulse!

Reply #4
Then no kludgy methods are needed :). You need an one-shot "service" - that is a directory with an up script instead of run and a file named "type" with "oneshot" as  its content. You add this one-shot as a dependency to the elogind service.

Re: We have a pulse!

Reply #5
Could you provide the files needed to get elogind up and running with s6? I can't seem to figure out how to get the cgroup mounted. From what I gathered reading through this thread, you have s6 paired with openrc? I have s6-rc installed and have completely removed openrc, so I'm not sure if your configuration will work in my case.

Re: We have a pulse!

Reply #6
Could you provide the files needed to get elogind up and running with s6? I can't seem to figure out how to get the cgroup mounted. From what I gathered reading through this thread, you have s6 paired with openrc? I have s6-rc installed and have completely removed openrc, so I'm not sure if your configuration will work in my case.

You only need to do this command (preferably in stage 1 when runit/s6 boots) and elogind should run.

Code: [Select]
mountpoint -q /sys/fs/cgroup/openrc || mkdir -p /sys/fs/cgroup/openrc && mount -t cgroup -o none,name=openrc cgroup /sys/fs/cgroup/openrc
now only the dinit guy in artix

Re: We have a pulse!

Reply #7
Could you provide the files needed to get elogind up and running with s6? I can't seem to figure out how to get the cgroup mounted. From what I gathered reading through this thread, you have s6 paired with openrc? I have s6-rc installed and have completely removed openrc, so I'm not sure if your configuration will work in my case.

I see the command to run has already been provided.  I am not using OpenRC at all.  Everything is pure s6.

In fact, the OpenRC and s6 packages conflict, they can't be installed together.

Re: We have a pulse!

Reply #8
I see the command to run has already been provided.  I am not using OpenRC at all.  Everything is pure s6.

In fact, the OpenRC and s6 packages conflict, they can't be installed together.

Something is wrong with your packaging when OpenRC and s6 can't be installed together. In fact, OpenRC has s6 integration feature. [1]

----------

[1] https://wiki.gentoo.org/wiki/S6#s6integration
now only the dinit guy in artix

Re: We have a pulse!

Reply #9
With all the talk about archbang (systemd arch based) in this other thread recently, since I tried it to help out someone liking archbang, I knew that converting to artix is pretty straight forward.  What I got interested in was that there was no dm, autostart/login, and no consolekit or cgmanager.  I thought this wouldn't work with s6.
Autostart x doesn't work, but after login xinit opens up the desktop and everything works.  I'm still trying to solve the puzzle.
In previous experiments trying to get rid of ck I couldn't get xserver running, unless I employed some dm.
One important detail in making s6 work right is to run pacopts origin after installation, as there are pkgs from arch (and artix) that may have the same version as obarun but are different.  Pacopts goes through the list of the obarun repository and what is installed and asks to replace some with obarun's version.

Meanwhile obarun is ready-ing a whole new array of stage2 tools called 66 to replace s6opts.