13 days later

I'm a bit late to the party. I might have some time to test these on a non-critical machine near the end of this week. Do you have a general release date in mind or is this a "when it's ready" type thing?

I already use this release on my personnal machine 66, oblibs and 66-tools
I also use boot@-66serv
You can also use boot-user@-66serv and scandir@-66serv
You need to update the skarnet package to the lastest:

  • skalibs
  • execline
  • s6

s6-rc is no longer supported.
you can quickly get the thing using the following script to build the necessary, change the path variable value at the begin of the script

#!/bin/sh
set -e
path="/home/<user>/Documents/66/build" ## changeme
tag=1

if [ "$1" == "commit" ]; then
    tag=0
fi

skalibs_tag="v2.14.1.0"
execline_tag="v2.9.4.0"
s6_tag="v2.12.0.3"
s6_portable_utils_tag="v2.3.0.3"
s6_linux_utils_tag="v2.6.2.0"
oblibs_tag="0.2.0.2"
ss_tag="0.7.0.0-beta-3"
ss_tools_tag="0.1.0.0"
boot_66serv_tag="3.0.0"
boot_user_66serv_tag="0.5.0"
scandir_66serv_tag="0.4.1"

check_tag(){

    if ((tag)); then
        git checkout tags/"${1}"
    fi
}

## skalibs
build_skalibs(){

    oblog making skalibs

    cd $path

    if ! cd $path/skalibs; then
        git clone git://git.skarnet.org/skalibs
    fi

    cd $path/skalibs

    check_tag "${skalibs_tag}"

    ./configure \
        --prefix=/usr \
        --with-default-path=/usr/bin \
        --disable-shared

    make install || return 1
}

## execline
build_execline(){

    oblog making execline

    cd $path

    if ! cd $path/execline; then
        git clone git://git.skarnet.org/execline
    fi

    cd $path/execline

    check_tag "${execline_tag}"

    ./configure \
        --prefix=/usr \
        --libexecdir=/usr/libexec \
        --bindir=/usr/bin \
        --sbindir=/usr/bin \
        --shebangdir=/usr/bin \
        --with-lib=/usr/lib/skalibs \
        --disable-shared

    make install || return 1
}

## s6
build_s6(){

    oblog making s6

    cd $path

    if ! cd $path/s6; then
        git clone git://git.skarnet.org/s6
    fi

    cd $path/s6

   check_tag "${s6_tag}"

    ./configure \
        --prefix=/usr \
        --bindir=/usr/bin \
        --sbindir=/usr/bin \
        --with-lib=/usr/lib/skalibs \
        --with-lib=/usr/lib/execline \
        --disable-shared

    make install || return 1
}

## s6-portable-utils
build_s6_portable_utils(){

    oblog making s6-portable-utils

    cd $path

    if ! cd $path/s6-portable-utils; then
        git clone git://git.skarnet.org/s6-portable-utils
    fi

    cd $path/s6-portable-utils

    check_tag "${s6_portable_utils_tag}"

    ./configure \
        --prefix=/usr \
        --bindir=/usr/bin \
        --sbindir=/usr/bin \
        --with-lib=/usr/lib/skalibs \
        --disable-shared

    make install || return 1
}

## s6-linux-utils
build_s6_linux_utils(){

    oblog making s6-linux-utils

    cd $path

    if ! cd $path/s6-linux-utils; then
        git clone git://git.skarnet.org/s6-linux-utils
    fi

    cd $path/s6-linux-utils

    check_tag "${s6_linux_utils_tag}"

    ./configure \
        --prefix=/usr \
        --bindir=/usr/bin \
        --sbindir=/usr/bin \
        --with-lib=/usr/lib/skalibs \
        --disable-shared

    make install || return 1
}

## oblibs
build_oblibs(){

    oblog making oblibs

    cd $path

    if ! cd $path/oblibs; then
        git clone https://git.obarun.org/obarun/oblibs
    fi

    cd $path/oblibs

    check_tag "${oblibs_tag}"

    ./configure \
        --prefix=/usr \
        --with-lib=/usr/lib/skalibs \
        --with-lib=/usr/lib/execline \
        --disable-shared

    make install || return 1
}

## 66
build_66(){

    oblog making 66

    cd $path

    if ! cd $path/66; then
        git clone https://git.obarun.org/obarun/66
    fi

    cd $path/66

    # check_tag "${ss_tag}"

	git switch dev

    ./configure \
        --bindir=/usr/bin \
        --shebangdir=/usr/bin \
        --with-s6-log-timestamp=iso \
        --with-s6-log-user=s6log \
        --with-lib=/usr/lib/skalibs \
        --with-lib=/usr/lib/execline \
        --with-lib=/usr/lib/s6 \
        --with-lib=/usr/lib/oblibs \
        --disable-shared

    make install || return 1
}

## 66-tools
build_66_tools(){

    oblog making 66-tools

    cd $path

    if ! cd $path/66-tools; then
        git clone https://git.obarun.org/obarun/66-tools
    fi

    cd $path/66-tools

    check_tag "${ss_tools_tag}"

    ./configure \
        --bindir=/usr/bin \
        --with-lib=/usr/lib/skalibs \
        --with-lib=/usr/lib/execline \
        --with-lib=/usr/lib/oblibs \
        --disable-shared

    make install || return 1
}

# boot-66serv

build_boot_66serv(){

    oblog making boot-66serv

    cd $path

    if ! cd $path/boot-66serv; then
        git clone https://git.obarun.org/obmods/boot-66serv
    fi

    cd $path/boot-66serv

    check_tag "${boot_66serv_tag}"

    ./configure \
        --bindir=/usr/bin

    make install || return 1
}

build_boot_user_66serv(){

    oblog making boot-user-66serv

    cd $path

    if ! cd $path/boot-user-66serv; then
        git clone https://git.obarun.org/obmods/boot-user-66serv
    fi

    cd $path/boot-user-66serv

    check_tag "${boot_user_66serv_tag}"

    ./configure \
        --bindir=/usr/bin

    make install || return 1
}

build_scandir_66serv(){

    oblog making scandir-66serv

    cd $path

    if ! cd $path/scandir-66serv; then
        git clone https://git.obarun.org/obmods/scandir-66serv
    fi

    cd $path/scandir-66serv

    check_tag "${scandir_66serv_tag}"

    ./configure \
        --bindir=/usr/bin

    make install || return 1
}

_run() {

    if ! ${1} ; then
        printf "%s" "unable to build ${1#*_}"
        exit 1
    fi
}

_run build_skalibs
_run build_execline
_run build_s6
_run build_s6_linux_utils
_run build_s6_portable_utils
_run build_oblibs
_run build_66
_run build_66_tools
_run build_boot_66serv
_run build_boot_user_66serv
_run build_scandir_66serv

You also may want to take look at Rosetta Stone and upgrade pages not be confuse with the new interface. All docs are complete. Refers to it or just ask me 🙂.
Many thanks for your interest.
In short to get a bootable system, i assume that all packages are installed

# 66 enable boot@system
# 66 tree admin -o groups=boot boot
# 66 reboot ## if it's not working you can force it with 66 reboot -f. This will depends how to make the migration of the 66 program(fresh install, migrate from old tools, etc)

The 66 tree admin command can be avoid if you provide a seed file to configure the boot tree at its creation. You can find the file here. To do so, just create a file at /etc/66/seed/boot with the following:

allow = root
groups = boot

Then, with the seed file you just need to do

# 66 enable boot@system
# 66 reboot

You may want to configure your boot sequence

# 66 configure boot@system ## launch the editor 
# 66 reconfigure boot@system ## apply the changes
# 66 reboot
11 days later

Took longer than I expected, but here's the report.

What works:

  • boot@system
  • boot-user@
  • creating, removing, configuring trees

Obvious showstoppers:

  • 66 can't find any frontend service files outside of the boot modules, e.g. 66 enable cupsd fails.
  • can't easily revert the machine to it's previous state, this will discourage other beta testers. PKGBUILDS would help here, since with those we could at least pacman our way out of a non-functioning boot provided we still have the old packages in the cache and we don't mind rebuilding our previous trees manually.

Everything was built at the latest available tag, the following versions were changed from your script above.

skalibs_tag="v2.14.1.0"
s6_tag="v2.12.0.3"
oblibs_tag="0.2.0.1"
ss_tag="0.7.0.0-beta-3"

66 was failing to build with "stack_clean_string_g undeclared", I had to git checkout the oblibs tag for some reason. Once I got past that everything build fine though.

Do you know why 66 wouldn't be able to find service files provided by -66serv packages? Is there some extra configuration that needs to be done aside from the steps above?

  • eric replied to this.

    Depending of the flags passed to 66. If you built with the default, service is localized at /etc/66/service and /usr/share/66/service for root and $HOME/.66/service, /etc/66/service/user and /usr/share/66/service/user for regular user, in that order of precedence.
    So, actually -66serv package install the service at /usr/lib/66/service.

    Well, the beta-2 and obviously 3 changed the place for user service. User service must be set at user subdirectory,/etc/66/service/user or /usr/share/66/service/user or $HOME/.66/service.

    If you want to keep the old place meaning replacing /usr/share/66/service by /usr/lib/66/service you need to define the flag --with-system-service=/usr/lib

    cdop 66 was failing to build with "stack_clean_string_g undeclared", I had to git checkout the oblibs tag for some reason. Once I got past that everything build fine though.

    Found the bug, it's due to oblibs_tag="0.2.0.1" where it should be oblibs_tags="0.2.0.1" (note the s at the end of tags). I have corrected the script that i posted you.

      eric If you want to keep the old place meaning replacing /usr/share/66/service by /usr/lib/66/service you need to define the flag --with-system-service=/usr/lib

      I just copied the service files I needed from the old directory to the new one. After that I could enable/start the services as expected. But I needed to poke around quite a bit to get to the xfce desktop, because there are still some rough edges.

      Some field notes for other testers:

      • Make sure you have at least one spare TTY. You'll need it.
      • Change your system in steps. After installing the new packages, boot with only the boot tree and the boot@ module the first time, and work your way up to a working configuration by building the other trees gradually. That way it's easier to pinpoint sources of problems.
      • If you get one of your trees in a state where you can't remove services or modules anymore, just remove the entire tree and start over.
      • Most daemons work without changes after being enabled/started. You just need the service files in the correct location (see above).
      • You might want to disable X display managers (lxdm, sddm, etc.) while testing this. Use startx and .xinitrc instead. If you need console management/dbus to work you can just do the usual exec ck-launch-session dbus-launch --sh-syntax --exit-with-session startxfce4 or similar.
      • The boot-user@ module has options to auto-start console-kit or one of it's friends and a display manager. Keep these disabled until you can reliably start your DE from the command line with startx as described above. I currently don't have X automatic start working, and I haven't figured out why yet.
      • I don't know if it's already somewhere in the docs: Trees don't need to (and in fact can't) depend on the boot tree because the boot@ module handles starting enabled trees now and that would introduce a circular dependency.

      @eric the only thing that's a bit confusing to me is that some services started from one tree end up in another tree. Example: my boot-user@ module , started in the session tree, says it belongs in tree=root. Weirder, it appears in both trees when I do 66 tree status -g. Same thing with scandir@.

      TL;DR: Simpler setups should just work or require only minimal intervention. If you have more complicated tree graphs you might wan't to wait a bit until you have some time to kill. X display managers may cause some pain related to autostart, but no flakiness was detected on the boot sequence once tree setups are correct.

      It might be a few days until I have time to do a deeper dive on this, but I'll chime in once X autostart is working for me again.

      • eric replied to this.

        cdop @eric the only thing that's a bit confusing to me is that some services started from one tree end up in another tree. Example: my boot-user@ module , started in the session tree, says it belongs in tree=root. Weirder, it appears in both trees when I do 66 tree status -g. Same thing with scandir@.

        It seems normal, but can please you post the output of the 66 tree status -g command?

        It can be little confusing like you said, but it allow to get all depends/requiredby of a service whatever the tree used.

        cdop You might want to disable X display managers (lxdm, sddm, etc.) while testing this. Use startx and .xinitrc instead. If you need console management/dbus to work you can just do the usual exec ck-launch-session dbus-launch --sh-syntax --exit-with-session startxfce4 or similar.

        Take care of the issues. Some commits was made to fix bugs related to module as regular user.

        • cdop replied to this.
          19 days later
          • Edited

          Documentation for the upcoming release is online. It's strongly encouraged to read this documentation to familiarize yourself with the new 66 user interface. Also, take a look to these particular documentation pages:

          • the upgrade page to know the changes
          • the rosetta stone documentation to make comparison with the previous release.

          The necessaries packages will be soon provided on its corresponding testing repositories. An announce will be made about this. A migration (and rollback) instructions will also be provided at the same time. So, if you have already activated the testing repositories, be careful to not update without checking first the package concerned.

          13 days later

          eric It seems normal, but can please you post the output of the 66 tree status -g command?

          I don't know if this is still relevant, but here it is. I just compiled and installed the preprod version with all the updated tags:

          # 66 tree status -g
          Name        : global
          Current     : no
          Enabled     : yes
          Allowed     : root
          Groups      : admin
          Depends     : \
                        └─None
          Required by : \
                        └─None
          Contents    : \
                        └─None
          
          Name        : boot
          Current     : no
          Enabled     : no
          Allowed     : root
          Groups      : boot
          Depends     : \
                        └─None
          Required by : \
                        └─None
          Contents    : \
                        ├─boot@system:system-hostname (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-run (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-tmp (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-proc (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:system-sysctl (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:udevd-log (pid=278, state=Enabled, type=classic, tree=boot)
                        ├─boot@system:tty-earlier@tty12 (pid=196, state=Enabled, type=classic, tree=boot)
                        ├─boot@system (pid=up, state=Enabled, type=module, tree=boot)
                        ├─boot@system:populate-run (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:populate-tmp (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-sys (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:populate-sys (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-dev (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-pts (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-shm (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:populate-dev (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-cgroups (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-branch (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:system-hwclock (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:modules-kernel (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:system-random (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:modules-system (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:udevd (pid=451, state=Enabled, type=classic, tree=boot)
                        ├─boot@system:udevadm (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:system-fontnkey (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:system-fsck (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-fstab (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:system-branch (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-rw (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:local-loop (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:local-time (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:local-authfiles (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:local-sethostname (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:local-tmpfiles (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:mount-netfs (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:local-dmesg (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:local-branch (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:runtime-branch (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:canopy (pid=up, state=Enabled, type=oneshot, tree=boot)
                        ├─boot@system:tty-rc@tty1 (pid=983, state=Enabled, type=classic, tree=boot)
                        └─boot@system:tty-rc@tty2 (pid=985, state=Enabled, type=classic, tree=boot)
          
          Name        : root
          Current     : yes
          Enabled     : yes
          Allowed     : root
          Groups      : admin
          Depends     : \
                        └─None
          Required by : \
                        └─session (Enabled)
          Contents    : \
                        ├─cupsd-log (pid=917, state=Enabled, type=classic, tree=root)
                        ├─openntpd-log (pid=924, state=Enabled, type=classic, tree=root)
                        ├─wpa_supplicant-log (pid=919, state=Enabled, type=classic, tree=root)
                        ├─dbus-log (pid=923, state=Enabled, type=classic, tree=root)
                        ├─networkmanager-log (pid=926, state=Enabled, type=classic, tree=root)
                        ├─consolekit-log (pid=925, state=Enabled, type=classic, tree=root)
                        ├─boot-user@davide:mount-run@davide (pid=up, state=Enabled, type=oneshot, tree=root)
                        ├─scandir@davide (pid=up, state=Enabled, type=module, tree=session)
                        ├─cupsd (pid=930, state=Enabled, type=classic, tree=root)
                        ├─openntpd (pid=934, state=Enabled, type=classic, tree=root)
                        ├─wpa_supplicant (pid=1010, state=Enabled, type=classic, tree=root)
                        ├─dbus (pid=937, state=Enabled, type=classic, tree=root)
                        ├─networkmanager (pid=938, state=Enabled, type=classic, tree=root)
                        ├─consolekit (pid=1009, state=Enabled, type=classic, tree=root)
                        └─boot-user@davide (pid=up, state=Enabled, type=module, tree=root)
          
          Name        : session
          Current     : no
          Enabled     : yes
          Allowed     : root
          Groups      : admin
          Depends     : \
                        └─root (Enabled)
          Required by : \
                        └─None
          Contents    : \
                        ├─scandir@davide:setenv@davide (pid=up, state=Enabled, type=oneshot, tree=session)
                        ├─scandir@davide:svscan@davide-log (pid=912, state=Enabled, type=classic, tree=session)
                        ├─scandir@davide (pid=up, state=Enabled, type=module, tree=session)
                        ├─boot-user@davide:mount-run@davide (pid=up, state=Enabled, type=oneshot, tree=root)
                        ├─scandir@davide:svscan@davide (pid=946, state=Enabled, type=classic, tree=session)
                        └─boot-user@davide (pid=up, state=Enabled, type=module, tree=root)

          I haven't tested the X display managers again but I don't see issues with anything else.

          • eric replied to this.
            • Edited

            cdop Seems normal, but definitely confusing

            2 months later
            • Edited

            I new section was added to the migration process instructions. It describe how to get the exact same system before and after migration of the 66 program suite.

            Hey @eric if I want to start the trees boot, net and finally global, is this command right?
            sudo 66 tree admin -o depends=boot,net

            @wastelander
            You missed the name of the tree at the command line, right?
            In theory yes, but you don't need to depends on boot. The tree boot is always launched at boot time. So any other trees are sure to already have the boot tree started.

            Can you describe a little more what your try to accomplish? For example, what you want to do with the net tree?

            @eric i wanted to start a net tree after boot but before global. I didn't write the name of the global tree at the end of the command because I thought that being global a default tree the name was unneeded:) however I would need the net tree with wpa_supplicant and dhcpd/dhclient enabled, while connmand would stay in global and so start later.

            • Edited

            You have different way to accomplish this
            If your tree is already create you can administrate it to make requiredby dependency changes

            $ sudo 66 tree admin -o requiredby=global net

            or you can do

            $ sudo 66 tree admin -o depends=net global

            You have the exact same result, global will start after net. Passing through the first command allow to make correct interdependence without the need to touch an existing tree, and so, you can configure it at creation time too

            $ sudo 66 tree create -o requiredby=global net

            This is the shortest way.

            For the sake of the example

            • enable wpa_supplicant, dhcpcd, and dhclient at net tree :

              $ sudo 66 -t net enable wpa_supplicant@wlan0 dhclient@enp0s6 dhcpcd

            • and enable to global connmand

              $ sudo 66 enable connmand

            I don't known what you do exactly but this configuration will make conflicts between dhcpcd and connmand, you should only use one network manager at a time.
            you can for example disable connmand and start it manually when you need it by a 66 start command.

            Thank you so much @eric , you really cleared out all my doubts:). Yes, sure, I would just want to enable either connmand or dhcpcd, the reason why I would not enable connmand is that sometimes it doesn't connect when using a VPN, so I should manually create a wpa_supplicant-wlan0.conf file and just leave the wpa_supplicant@wlan0 enabled in the net tree.

            Just tested it and it's working great, though dbus seems to create duplicate in both global and session tree when I uncomment sddm in the display-manager line in boot-user@ module file. Also it cannot find consolekit service file after uncommenting the console-tracker line in same module.

            edit: the duplicate entry is fine with me since it just relists the same pid.

            parse: info: launch configure script of module: boot-user@orb
            boot-user@orb: info: add dependency: 
            boot-user@orb: info: set environment at .xsession file to: /home/orb/.66/conf/svscan@orb
            boot-user@orb: warning: move existing /home/orb/.xsession file to /home/orb/.xsession-53857301382.backup
            boot-user@orb: info: create /home/orb/.xsession
            boot-user@orb: fatal: the consolekit frontend service file do not exist on your system -- please install it and try again
            Name        : global
            Current     : no
            Enabled     : yes
            Allowed     : root
            Groups      : admin
            Depends     : \
                          └─None
            Required by : \
                          └─session (Enabled)
            Contents    : \
                          ├─wpa_supplicant-log (pid=1157, state=Enabled, type=classic, tree=global)
                          ├─connmand-log (pid=1051, state=Enabled, type=classic, tree=global)
                          ├─dbus-log (pid=1046, state=Enabled, type=classic, tree=session)
                          ├─ntpclient-log (pid=1156, state=Enabled, type=classic, tree=global)
                          ├─seatd-log (pid=1050, state=Enabled, type=classic, tree=global)
                          ├─wpa_supplicant (pid=1198, state=Enabled, type=classic, tree=global)
                          ├─dbus (pid=1060, state=Enabled, type=classic, tree=session)
                          ├─ntpclient (pid=4009, state=Enabled, type=classic, tree=global)
                          ├─seatd (pid=1073, state=Enabled, type=classic, tree=global)
                          └─connmand (pid=1079, state=Enabled, type=classic, tree=global)
            
            Name        : session
            Current     : no
            Enabled     : yes
            Allowed     : root
            Groups      : admin
            Depends     : \
                          └─global (Enabled)
            Required by : \
                          └─None
            Contents    : \
                          ├─consolekit-log (pid=1110, state=Enabled, type=classic, tree=session)
                          ├─dbus-log (pid=1046, state=Enabled, type=classic, tree=session)
                          ├─sddm-log (pid=1270, state=Enabled, type=classic, tree=session)
                          ├─scandir@orb (pid=up, state=Enabled, type=module, tree=session)
                          ├─scandir@orb:setenv@orb (pid=up, state=Enabled, type=oneshot, tree=session)
                          ├─scandir@orb:svscan@orb-log (pid=1167, state=Enabled, type=classic, tree=session)
                          ├─boot-user@orb:mount-run@orb (pid=up, state=Enabled, type=oneshot, tree=session)
                          ├─dbus (pid=1060, state=Enabled, type=classic, tree=session)
                          ├─scandir@orb:svscan@orb (pid=1197, state=Enabled, type=classic, tree=session)
                          ├─consolekit (pid=1119, state=Enabled, type=classic, tree=session)
                          ├─sddm (pid=0, state=Enabled, type=classic, tree=session)
                          └─boot-user@orb (pid=up, state=Enabled, type=module, tree=session)

            Smooth transition otherwise, thanks for the clarity😎

            • eric replied to this.
              • Edited

              Wat-now dbus seems to create duplicate in both global and session tree

              Nope, even on global tree your get dbus (pid=1060, state=Enabled, type=classic, tree=session). So the last parameter is tree=session and show you the associated tree of the dbus service. You also should transfert it to global. In practice this doesn't change anything, i mean you will get a good start order of the services, but it's little weird as your tree session depends on global. That means that consolekit will ask for dbus (66 will start it for sure) where dbus can be already up if you transfert it to global .
              Simply you can do:

              66 -t global enable dbus

              Wat-now Also it cannot find consolekit service file after uncommenting the console-tracker line in same module

              That's odd as your consolekit daemon seems running. Do you have the frontend at file at /etc/66/service, /usr/share/66/service?

                Powered by Obarun