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.

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

  1. Hi JohnyWhy,
    Some people are intimidated by arch minimalism and its installation options. They are fine by me, but there seem to be many people who like distros like (late) antergos or archlabs, because they have customized desktops or a fancy graphic installer. But say they made this installation and want to switch to S6 and get rid of systemd.

    My favorite way to make an installation is from scratch using pacman and its flexibility.
    You make a blank partition, and mount it at /mnt
    If you use pacman’s ability to install something in a different root you use -r

    pacman -r /mnt -S pacman

    You will get an error, because no pacman database exists there, and specifically the directory structure doesn’t, I believe the error will mention specifically /mnt/var/lib/pacman doesn’t exist.
    So,

    mkdir /mnt/var

    mkdir /mnt/var/lib

    mkdir /mnt/var/lib/pacman

    pacman -r /mnt -S pacman

    No, you need to update the repositories for /mnt

    pacman -Sy filesystem pacman zsh (or bash)

    Now you have both a shell (zsh) and pacman to work with, so you can chroot into it:

    arch-chroot /mnt zsh

    you need an edito pacman -S vi nano emacs … whatever and you build the system brick by brick with what you need.

    Look at how many popular (by distowatch distro hoppers) distros are based on arch and all they have is fancy icons, themes, backgrounds, and nothing of substance. Manjaro is way on top on the list but arch is half way down the top 100 list.

    Obarun doesn’t even call itself a distro, it calls itself a modification of Arch, it has 7 repositories and a few (testing) and more than 100 packages of its own, of substance not graphical modifications.

    You boot a live arch iso image and have a partition made say /dev/sda23

    mount /dev/sda23 /mnt

    cp -ax / /mnt

    The whole live system is now on /mnt you chroot into it, install a kernel, a bootloader, set passwords and create a real /etc/fstab, and you have an arch installation. Then edit pacman.conf and add the obarun’s pacman.conf from wiki. You run 5-6 commands to remove systemd and add s6/66, you end up with obarun base. Simple!

    Yeah, archlabs is pretty 🙂

    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.

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