Is antiX going to get s6 init manager?

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

  • This topic has 70 replies, 12 voices, and was last updated Oct 31-8:51 pm by mobinmob.
Viewing 15 posts - 1 through 15 (of 70 total)
  • Author
    Posts
  • #54548
    Member
    andyprough

      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
      anticapitalista
        Helpful
        Up
        0
        ::

        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
        andyprough
          Helpful
          Up
          0
          ::

          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
          anticapitalista
            Helpful
            Up
            0
            ::

            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
            eric
              Helpful
              Up
              0
              ::

              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
              andyprough
                Helpful
                Up
                0
                ::

                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
                eric
                  Helpful
                  Up
                  0
                  ::

                  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 2 years, 2 months ago by eric.
                  • This reply was modified 2 years, 2 months ago by eric.
                  #54845
                  Forum Admin
                  anticapitalista
                    Helpful
                    Up
                    0
                    ::

                    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 2 years, 2 months 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
                    eric
                      Helpful
                      Up
                      0
                      ::

                      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
                      anticapitalista
                        Helpful
                        Up
                        0
                        ::

                        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 2 years, 2 months 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
                        andyprough
                          Helpful
                          Up
                          0
                          ::

                          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
                          eric
                            Helpful
                            Up
                            0
                            ::

                            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 years, 2 months ago by eric.
                            #54896
                            Member
                            fungalnet
                              Helpful
                              Up
                              0
                              ::

                              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
                              anticapitalista
                                Helpful
                                Up
                                0
                                ::

                                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
                                anticapitalista
                                  Helpful
                                  Up
                                  0
                                  ::

                                  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 70 total)
                                • You must be logged in to reply to this topic.