Is antiX going to get s6 init manager?

Forum Forums antiX-development Development Is antiX going to get s6 init manager?

  • This topic has 27 replies, 7 voices, and was last updated Feb 27-11:55 pm by Brian Masinick.
Viewing 15 posts - 1 through 15 (of 27 total)
  • Author
    Posts
  • #54548
    Member
    andyproughandyprough

    I see that s6 is in the antiX repo since November: https://mirrors.evowise.com/mxlinux-packages/antix/buster/pool/main/s/s6/

    Just wondering if that’s in the plans to offer an s6 init option in the future? Or is it already working and ready to try? A search for the term s6 in the forum turns up no results for me.

    #54550
    Forum Admin
    anticapitalistaanticapitalista

    Perhaps a long-term plan since I haven’t got it to work in antiX (yet).

    Philosophers have interpreted the world in many ways; the point is to change it.

    antiX with runit - leaner and meaner.

    #54572
    Member
    andyproughandyprough

    OK good to know. I tried it on Artix where it was mildly unstable, but I’ve been hearing a lot of praise for it.

    #54573
    Forum Admin
    anticapitalistaanticapitalista

    Obarun has the best implementation of s6 IMO.

    Philosophers have interpreted the world in many ways; the point is to change it.

    antiX with runit - leaner and meaner.

    #54746
    Member
    Avatareric

    A POC was made from a long time now. This is old thread, but it worked before and should work today: https://forum.obarun.org/viewtopic.php?id=981

    #54752
    Member
    andyproughandyprough

    A POC was made from a long time now. This is old thread, but it worked before and should work today: https://forum.obarun.org/viewtopic.php?id=981

    Your link links to this blog post where the author expounds on his method of trying to get s6 working on antiX: https://sysdfree.wordpress.com/2019/12/15/291/

    anticapitalista was commenting on that same blog post in December 2019, saying that he was trying that method: https://sysdfree.wordpress.com/2019/12/15/291/#comment-4246

    But in his post earlier in this thread anticapitalista says he did not get it to work. It would therefore seem that the method does not actually work on antiX.

    #54841
    Member
    Avatareric

    I installed Antix on a VM from the antiX-19.2_x64-full.iso

    I modified the /etc/apt/sources.list.d/antix.conf to get a correct repo.

    then i launched this script below.

    It install all the necessary things and reboot the machine, easy peasy!

    I didn’t did any more test but surely some adjustment need to be made for Antix policies. Anyway, the machine boot correctly and launch the X with slim.

    #!/bin/bash
    
    #antix from full iso
    
    TMP="/tmp/install"
    
    skalibs_tag="v2.10.0.0"
    execline_tag="v2.7.0.0"
    s6_tag="v2.10.0.0"
    s6_rc_tag="v0.5.2.1"
    oblibs_tag="v0.1.3.0"
    _66_tag="v0.6.1.1"
    _66_tools_tag="v0.0.7.1"
    s6_linux_utils_tag="v2.5.1.4"
    s6_portable_utils_tag="v2.2.3.1"
    
    flags_path=(
    
        --prefix=/usr
        --libexecdir=/usr/libexec
        --bindir=/bin
        --shebangdir=/bin
        --sbindir=/sbin
        --enable-shared
        --disable-allstatic
        --disable-static
    )
    
    # lowdown package doesn't exist on Antix, so do not try to build
    # the documentation
    
    _sed_lowdown() {
    
        sed 's:^LOWDOWN.*$::' -i ${1}
    }
    
    prepare_build() {
        apt update || return 1
        apt install git || return 1
        apt install build-essential || return 1
    
        mkdir ${TMP}
    }
    
    ## skalibs
    build_skalibs() {
    
        cd ${TMP}
    
        git clone https://github.com/skarnet/skalibs
    
        cd skalibs
    
        git checkout tags/"${skalibs_tag}"
    
        ./configure ${flags_path[@]}
    
        make clean
    
        make install || return 1
    }
    
    ## execline
    build_execline() {
    
        cd ${TMP}
    
        git clone https://github.com/skarnet/execline
    
        cd execline
    
        git checkout tags/"${execline_tag}"
    
        ./configure ${flags_path[@]}
    
        make clean
    
        make install || return 1
    }
    
    ## s6
    build_s6() {
    
        cd ${TMP}
    
        git clone https://github.com/skarnet/s6
    
        cd s6
    
        git checkout tags/"${s6_tag}"
    
        ./configure ${flags_path[@]} --with-dynlib=/usr/lib/execline
    
        make clean
    
        make install || return 1
    }
    
    ## s6-rc
    build_s6_rc() {
    
        cd ${TMP}
    
        git clone https://github.com/skarnet/s6-rc
    
        cd s6-rc
    
        git checkout tags/"${s6_rc_tag}"
    
        ./configure ${flags_path[@]}
    
        make clean
    
        make install || return 1
    }
    
    ## s6-linux-utils
    build_s6_linux-utils() {
    
        cd ${TMP}
    
        git clone https://github.com/skarnet/s6-linux-utils
    
        cd s6-linux-utils
    
        git checkout tags/"${s6_linux_utils_tag}"
    
        ./configure ${flags_path[@]}
    
        make clean
    
        make install || return 1
    }
    
    ## s6-portable-utils
    build_s6_portable-utils() {
    
        cd ${TMP}
    
        git clone https://github.com/skarnet/s6-portable-utils
    
        cd s6-portable-utils
    
        git checkout tags/"${s6_portable_utils_tag}"
    
        ./configure ${flags_path[@]}
    
        make clean
    
        make install || return 1
    }
    
    ## oblibs
    build_oblibs() {
    
        cd ${TMP}
    
        git clone https://framagit.org/obarun/oblibs
    
        cd oblibs
    
        git checkout tags/"${oblibs_tag}"
    
        ./configure ${flags_path[@]}
    
        make clean
    
        make install || return 1
    }
    
    ## 66
    build_66() {
    
        cd ${TMP}
    
        git clone https://framagit.org/obarun/66
    
        cd 66
    
        _sed_lowdown Makefile
    
        git checkout tags/"${_66_tag}"
    
        ./configure ${flags_path[@]}
    
        make clean
    
        make install || return 1
    
    }
    
    ## 66-tools
    build_66-tools() {
    
        cd ${TMP}
    
        git clone https://framagit.org/obarun/66-tools
    
        cd 66-tools
    
        _sed_lowdown Makefile
    
        git checkout tags/"${_66_tools_tag}"
    
        ./configure ${flags_path[@]}
    
        make clean
    
        make install || return 1
    }
    
    cp_skeleton() {
        cp -f /etc/66/{init,halt,reboot,poweroff,shutdown} /sbin/ || return 1
        sed 's:^66-boot.*$:66-boot -m:' -i /sbin/init
    }
    
    prepare_boot() {
    
        cd ${TMP}
    
        git clone https://framagit.org/pkg/obmods/boot-66serv
    
        cd boot-66serv
    
        _sed_lowdown Makefile
    
        ./configure
    
        make install || return 1
    
    }
    
    build_tree() {
    
        ## don't crash here in case of multiple use of the script
        66-tree -n boot
    
        66-enable -t boot boot@system || return 1
    
        BOOT_CONF="$(readlink /etc/66/conf/boot@system/version)"
    
        cp "${BOOT_CONF}/.boot@system" "${BOOT_CONF}/boot@system" || return 1
    
        66-env -t boot -r 'CGROUPS=!no' boot@system || return 1
    
        66-enable -F -t boot boot@system || return 1
    
        dd if=/dev/urandom of=/var/lib/random-seed count=1 bs=512 status=none || return 1
    
    }
    
    build_tree_root() {
    
        66-tree -cnE root
    
        exec 3>&1 1>/etc/66/service/slim
    cat <<EOF
    [main]
    @type = oneshot
    @version = 0.0.1
    @description = "Slim daemon"
    @user = ( root )
    
    [start]
    @execute = ( slim )
    
    EOF
        exec 1>&3 3>&-
    
        66-enable slim
    }
    
    _run() {
    
        if ! ${1} ; then
            printf "%s\n" "unable to ${2} ${1#*_}"
            exit 1
        fi
    }
    
    ## do it
    
    _run prepare_build "install"
    _run build_skalibs "skalibs"
    _run build_execline "execline"
    _run build_s6 "s6"
    _run build_s6_rc "s6-rc"
    _run build_s6_linux-utils "s6-linux-utils"
    _run build_s6_portable-utils "s6-portable-utils"
    _run build_oblibs "oblibs"
    _run build_66 "66"
    _run build_66-tools "66-tools"
    
    cd ${TMP}
    
    _run cp_skeleton "copy"
    
    # build and remove a dummy tree to have the /usr/share/66 created
    66-tree -n dummy
    66-tree -R dummy
    _run prepare_boot "build"
    _run build_tree "build"
    _run build_tree_root "build"
    
    # reboot of the machine
    66-hpr -r -f
    
    • This reply was modified 4 days, 9 hours ago by eric.
    • This reply was modified 4 days, 9 hours ago by eric.
    #54845
    Forum Admin
    anticapitalistaanticapitalista

    WOW! Thanks for that eric. I’ll give it a try as soon as I can.

    You said you

    modified the /etc/apt/sources.list.d/antix.conf to get a correct repo.

    What exactly did you change?

    I really do admire all your work on Obarun and s6/66 integration and I hope we can incorporate it into antiX.

    • This reply was modified 4 days, 8 hours ago by anticapitalista.

    Philosophers have interpreted the world in many ways; the point is to change it.

    antiX with runit - leaner and meaner.

    #54849
    Member
    Avatareric

    What exactly did you change?

    The installer put an invalid Antix mirror list at /etc/apt/sources.list.d/antix.conf. Well, we know that the life of a mirrorlist can be erratic 🙂 and i picked the old ISO :/(i was lazy to download the fresh one due of my poor connection). So, i took one from your package mirror list.

    I hope we can incorporate it into antiX

    It will be a pleasure to help you to accomplish it and really interesting for me because it may increase the portability of the 66 tools depending of the issues meets.

    Please free to send me a mail if you need my help.

    #54877
    Forum Admin
    anticapitalistaanticapitalista

    eric’s script works very well in my ‘brief’ test.
    There are some issues, down to differences in the boot scripts re Debian(antiX)/arch(obarun).

    More testing needed, but looking good.

    (Debian s6 does not work very well at all)

    added: live version gives some kernel error at boot.

    • This reply was modified 3 days, 8 hours ago by anticapitalista.

    Philosophers have interpreted the world in many ways; the point is to change it.

    antiX with runit - leaner and meaner.

    #54885
    Member
    andyproughandyprough

    Nice work there Eric. The install script worked on my antiX Libre respin. eth0 is down for the moment, the OS threw up an “Unable to find a connection to the system bus” error for connman.

    #54887
    Member
    Avatareric

    down to differences in the boot scripts re Debian(antiX)/arch(obarun).

    Let me the time to make some test to see what happens.

    “Unable to find a connection to the system bus”

    The script just install the necessary to boot the machine and do not add runtime service like dbus (except slim). You need to enable what you need. You can find good example here https://framagit.org/pkg/observice and here https://github.com/mobinmob/void-66-services/tree/samba/usr/share/66/service

    • This reply was modified 2 days, 22 hours ago by eric.
    #54896
    Member
    fungalnetfungalnet

    I never had this building problem in sid/unstable because:

    liblowdown-dev/unstable 0.8.1-1 amd64
      Simple markdown translator (development files)
    
    lowdown/unstable 0.8.1-1 amd64
      Simple markdown translator
    #54898
    Forum Admin
    anticapitalistaanticapitalista

    lowdown is only in bullseye/testing and sid repos, not present stable/buster (Eric tested using antiX-19/buster)

    Philosophers have interpreted the world in many ways; the point is to change it.

    antiX with runit - leaner and meaner.

    #54899
    Forum Admin
    anticapitalistaanticapitalista

    antiX-21-a1 running s6/66 with sysvinit removed.

    Attachments:

    Philosophers have interpreted the world in many ways; the point is to change it.

    antiX with runit - leaner and meaner.

Viewing 15 posts - 1 through 15 (of 27 total)
  • You must be logged in to reply to this topic.