ArchLabs without systemd – Obarun s6 on top

You may ask what we are doing with ArchLabs when there is a tremendous amount of original non-systemd based distros on the list (our own lists for example).   “Originally a minimalist, Arch-based live distribution with Openbox, the latest release of ArchLabs Linux is a radical departure from the original concept as the distribution is now designed for users who like to customise their system during installation. ”  It may be coincidental but the installer is following a bit on the Obarun fashion where you install what you need and like and not what the distribution has chosen.  Obarun offers infinite customization by you being able to edit the lists of pkgs, in ArchLabs you check from the available lists what to install.

Initially archlabs (influenced by bunsenlabs) came with openbox and a live image.  The live image is gone, there is just console and the installer.  The available selections of wm/destops through the installer are Openbox, i3wm, Bspwm, dwm, and Awesome.  If you like dark minimalistic themes you will feel at home.  Installation is relatively easy, quick and uneventful.  The system will boot and go straight into the wm/desktop fully set up.  We must admit that although we are Openbox fanatics and we can tolerate a few other minimal window managers, we never really tried BSPWM, so we went for a double of openbox/bspwm installation.  The installer actually asks which one would you like to use as the primary to autostart.

From that point on we went hacking, throwing systemd out and installing obarun’s s6 and related utilities.  Here is how:

Edit:  The reported problem below with installing obarun-keyring was solved and the instructions below incorporate the changes


append pacman.conf with obarun repo and SigLevel set to Never
The Obarun repositories MUST go before Core (Arch's main repository) so 
it will be Obarun, core, extra, community, and archlabs last.

#[obarun-testing]
#SigLevel = Never
#SigLevel = Required
#Server = https://repo.obarun.org/$arch/testing

[obarun]
SigLevel = Never
#SigLevel = Required    ## after installing the obarun-keyring you will flip the comment from required to never
Server = https://repo.obarun.org/$arch

All commands start with # and require root privileges, so use su, login as root, or use sudo before them.

synchronize : # pacman -Syy

download obarun-keyring # pacman -Sw obarun-keyring

The -Sw downloads packages into /var/cache/pacman/pkg without installing it

Now you will install the downloaded pkgs as local, which pacman allows without a gpg check

# pacman -U /var/cache/pacman/pkg/obarun-keyring-20180910-1-x86_64.pkg.tar.xz
# pacman -Syy

# pacman-key –populate obarun archlinux

re-edit /etc/pacman.conf erase the Siglevel = Never and leave Siglevel = Required .

install applysys pacopts
# pacman -S applysys pacopts

keep a list of the active daemons so you can activate the appropriate services
later 

# systemctl list-units --state=running | grep -v systemd | awk '{print $1}' | grep service > daemon.list
# cat daemon.list 

remove crap with -Rnsudd systemd libsystemd systemd-sysvcompat
# pacman -Rnsudd systemd libsystemd systemd-sysvcompat

Re edit /etc/pacman.conf and add systemd and libsystemd on the ignore list so they will never come in.

install the  s6-suite eudev consolekit2 ** (consolekit is optional based on what you need to install)
# pacman -S s6-suite eudev consolekit2

:: There are 12 members in group s6-suite:
:: Repository obarun
 1) execline 2) mdevd 3) s6 4) s6-boot 5) s6-dns 6) s6-linux-init 
 7) s6-linux-utils 8) s6-networking 9) s6-portable-utils  10) s6-rc 
 11) s6opts 12) skalibs

Install all 12


7  launch pacopts origin command and replace all installed packages that came from arch and have obarun replacements, with the good ones, 
when it asks you. be careful of the messages when filesystem is installed 
and make the necessaries change about xxx.pacnew files.

# pacopts origin  
list of pkgs not coming from Obarun but for which Obarun has replacements.
resolving dependencies...

replace all of the above by hitting y y y to all.
Take really a close look of the output for any red lines of warnings or 
errors and take care of anything that was not reinstalled properly.
You may encounter a problem, a pkg that does not want to be replaced easy.  
Remove and reinstall, it will automatically come from Obarun as obarun's 
repository is above (Arch Core system extra community on pacman.conf))

If lsb-release does not want to upgrade, it is the same version with obarun's, 
so use force (--force) to force it in place.

modify the s6.conf to suit your needs
# nano /etc/s6/s6.conf
(swap, hostname, timezone, etc.)
launch pacopts service and install the service that you need when it asks you.  Remember the list of services active you pulled when systemd was still installed?  Use it now as guide.

# pacopts service

 

You may have to make some adjustments depending on what you initially installed, what you want to keep.  There is some scripts pkg that archbang ships with that may require a library which doesn’t exist or can’t be installed, but you can use # pacman -Sdd archlabs-***-pkg  and take a chance that some feature may fail.  In some cases there might not even be a problem as obarun pkgs may provide this necessity but it may be bundled under a different package name.  Feel free to ask for help here or through the Obarun forum or irc channel.

The end result is a much faster and responsive system utilizing less resources to start, and you are now free of systemd.  With the exception of using arch’s init system and service manager, archlabs appears to be a very nice distribution with a tremendous amount of work and development behind it.

 

PS  Consolekit2 is optional for those that need to use obarun pkgs like containers that require it.

Your .xinitrc should end at exec ck-launch-session openbox-session    if you want xinit or startx to start openbox.  Without consolekit exec openbox-session  

For more information on using xinit look up the arch-wiki

PS2  The above procedure is not unique to archlabs, it works with any arch based distribution.

Advertisements

16 thoughts on “ArchLabs without systemd – Obarun s6 on top

  1. I’m very interested in doing this…
    However, it fails from the following line:

    pacman-key –populate obarun archlinux

    It won’t populate… and then the following errors happen:

    sudo pacman -S applysys pacopts

    error: obarun: missing required signature
    error: database ‘obarun’ is not valid (invalid or corrupted database (PGP signature))

    Could you please edit your tutorial and share a proper w=solution for this please?
    Thanks a lot in advance.

    Like

  2. Thanks to another comment that just came in I noticed your comment as well now, hopefully not too late.
    Did you install obarun-keyring?
    After you edit pacman.conf and add [obarun]

    pacman -Syy

    pacman -S obarun-keyring

    pacman-key –populate obarun

    pacman -Syy

    then edit pacman.conf and swithch the SigLevel = Never to = Required — make sure SigLevel is spelled with both capitals.

    it shoudl be ok.

    If not it may be a problem I can’t diagnose. Maybe in Obarun forum they may know,

    Like

  3. Thanks for the response fungalnet!
    I did everything exactly as shown on the tutorial, but my results were those as in the previous post.
    I will try again and let you know.
    Thanks.

    Like

  4. Hi fungalnet,
    Unfortunately your instructions won’t work!
    I followed all the steps and succesfully installed obarun-keyring (as I had done before).
    It went all okay until the problematic part:

    pacman -S applysys pacopts

    error: obarun: missing required signature
    error: database ‘obarun’ is not valid (invalid or corrupted database (PGP signature))

    These are the same errors as before.
    Too bad! This would be, in my opinion and for my needs, a perfect OS…
    I guess I’ll have to stick to MX for now, at least until I find a solution for this.
    Thanks anyway.

    Like

  5. Ok, I tried it today again, reproduced the problem, I can’t remember what exactly I had done the time before, I made a small change in the instructions above, and I got a good installation.
    Hope to see you in the Obarun forum for further tweaking.

    Like

  6. Hi fungalnet,
    Thanks a lot for your effort and for your feedback over this issue!
    Well, I’ve tried it all at least 3 times , having rebooted in between every new attempt before writing this message, but unfortunately the same error persists.

    pacman -S applysys pacopts

    error: obarun: missing required signature
    error: database ‘obarun’ is not valid (invalid or corrupted database (PGP signature))

    No luck yet.
    Sorry for the bad news!
    Anyway, thanks once again.

    Like

  7. Hi fungalnet,
    I’ve finally managed to finish the installation by doing the following:

    pacman -Syu

    To which, it offered me to install eudev and ditch systemd… I accepted it and it failed citing broken dependencies.
    Then I simply did:

    pacman -S applysys pacopts

    And it worked!
    This time I could finish installing it.
    But… It refused to reboot, until I logged out and performed forced a shutdown.
    Now it won’t boot to X or Openbox!
    I tried with and without xinitrc with no success…
    It looks like xorg is broken or something.

    Like

  8. Did you disable autologin at installation and before the conversion, I believe it should be done as it uses a systemd service to do it and it may become problematic. Also can you log in to root? If tty1 fails, go to tty6 (ctrl alt F6), killall xinit, login as root.

    In /etc/X11/ there should be a file called /etc/X11/Xwrapper.config

    It should have the following content:

    needs_root_rights = yes

    Like

  9. I didn’t have autologin on.
    I never have it, but yes, I did check it before the migration procedure.
    As for the Xwrapper.config file, archlabs doesn’t have it and the migration didn’t seem to produce it.
    Well, after having tried this procedure for quite a few times, without any real success, I think I’m done for now… At least until a more detailed tutorial or an error proof one shows up.
    Another option would be to install obarun with archlabs dotfiles (which I have saved here…), but obarun seems not to deal with UEFI installs. It messed with mine badly.
    So, no luck for me!
    Anyway, thanks a lot for your effort!

    P.S.: Would it be difficult to prepare a ready to install obarun .iso configured with archlabs dotfiles?

    Like

  10. I’m working on the art of iso making, but other than VMs I don’t have any hw that I can test UEFI on.
    https://forum.obarun.org/viewtopic.php?pid=1810#p1810
    There have been others who did an UEFI install of obarun, but I hear there are differences from one UEFI system to another.

    Obarun has a script for making your own iso
    obarun/obarun-mkiso 0.0.9-1
    Script for making an iso

    If I make one it would be with openbox.

    Like

  11. Shout here if you run into any troubled waters. We can hardly ever find two identical machines so every installation is unique and unique problems may surface.

    Like

  12. Thanks, I’ve tried your tutorial a few more times, but no success.
    I get the system installed, at least no errors are reported, but cannot reboot normally. Can only perform a forced shutdown.
    Booting it afterwards with “startx” throws me back all sorts of errors and no xsession.
    It sounds to me that VM installs are simpler to deal with, unlike real hardware.
    I was hoping you’d eventually come up with “that” iso file though…
    Other than that, have had enough attempts here.
    Thanks anyway.

    Like

  13. A couple of weeks I used the email that you provided to send you email so I can help you better, as it is hard to send comments and code over the comments here. I didn’t get a response.
    Now, I think I am confused in what you mean by booting. If you get some errors that end up in kernel panick message and the whole thing freezes that is usually a grub problem. If you are using another linux to make a grub entry for obarun then this might be a problem.
    If you get messages such as problems with starting stage 2 , then there are init problems. Sometimes this may happen from incorrect /etc/fstab entries. Problems with init end up in an emergency shell # prompt but there is not much you can do there other than mount a correct root and then exit to see if stage 2 will be reached. Alt Shift F6 will take you to an alternative tty (tty6). If that is functional and you get a login: prompt then you are in the system at least, login as root.
    Run # mount -a
    If you get an error then you know what to fix.

    Now you are saying you can’t start X/wm/de, that means that it is not a booting problem, the system booted and you logged in and have a prompt. Do you have networking? # ip a

    I assume you had disabled autologin from archlabs before the conversion, if not that is your problem, because archlabs autologin is systemd based and without it creates an error.
    Is xorg-xinit installed?
    Is there a .xinitrc in your /root/ and /home/$username/ ~/ directories?
    Is there an /etc/X11/Xwrapper.config with the following content:
    needs_root_rights = yes

    If there are then we move to .xinitrc
    If you have consolekit2 installed then your .xinitrc shoudl end with:
    exec ck-launch-session openbox-session
    if you don’t have consolekit2 installed
    exec openbox-session

    cat ~/.xinitrc

    #!/bin/bash

    if [ -d /etc/X11/xinit/xinitrc.d ] ; then
    for f in /etc/X11/xinit/xinitrc.d/?*.sh ; do
    [ -x “$f” ] && . “$f”
    done
    unset f
    fi

    #exec ck-launch-session openbox-session
    exec openbox-session

    ####

    Comment one of the two out to make the other effective.
    It should start x by just loging in either as root or as user and typing xinit or startx
    If not there must be other problems xorg related, you must read the /var/log/Xorg.0.log to find the first error and/or warning. There may be an improper xf86-video file installed or missing.

    I share and respect your frustration, but I did this 3 times to make sure I didn’t miss something and it worked to verify the problems you may be having. Sorry. The last time it was so quick and easy I saved the image of the installation because it was fun. I keep it updated and it is installed on hard disk.
    I have a suspicion that autologin is still active. See your /etc/group and tell me if you see any autologin in there.

    Like

If your comment is considered off-topic a new topic will be created with your comment to continue a different discussion. This community is based on open and free communication, meaning we must all respect all in minimizing the exercise of freedom to disrupt such communication. Feel free to post what you think but keep in mind the subject matter discussed. It is just as easy to start a new topic as it is to dilute the content of an existing discussion.

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.