Is antiX going to get s6 init manager?

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

  • This topic has 291 replies, 23 voices, and was last updated Feb 26-1:17 am by ProwlerGr.
Viewing 15 posts - 1 through 15 (of 292 total)
  • Author
    Posts
  • #54548
    Member
    andyprough

      I see that s6 is in the antiX repo since November: http://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

        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

          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

            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

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

              #54752
              Member
              andyprough

                A POC was made from a long time now. This is old thread, but it worked before and should work today: http://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: http://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: http://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

                  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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 http://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 3 years ago by eric.
                  • This reply was modified 3 years ago by eric.
                  #54845
                  Forum Admin
                  anticapitalista

                    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 3 years 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

                      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

                        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 years 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

                          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

                            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 http://framagit.org/pkg/observice and here http://github.com/mobinmob/void-66-services/tree/samba/usr/share/66/service

                            • This reply was modified 3 years ago by eric.
                            #54896
                            Member
                            fungalnet

                              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

                                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

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