Skip to content

Conversation

amirouche
Copy link

It compiles sysbox, and after configuring the host docker, and running sysbox daemons, I can do:

docker run --runtime=sysbox-runc --rm -it --hostname=syscont nestybox/ubuntu-bionic-systemd

then login with admin/admin, then:

admin@syscont:~$ sudo journalctl -xe
[sudo] password for admin: 
-- Logs begin at Sat 2025-07-12 00:46:22 UTC, end at Sat 2025-07-12 00:46:38 UTC. --
Jul 12 00:46:22 syscont systemd-journald[188]: Journal started
-- Subject: The journal has been started
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- The system journal process has started up, opened the journal
-- files for writing and is now ready to process requests.
Jul 12 00:46:22 syscont systemd-journald[188]: Runtime journal (/run/log/journal/1b4e89a5b1164946adc9c370510ccd63) is 820.0K, max 6.4M, 5.6M free.
-- Subject: Disk space used by the journal
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- Runtime journal (/run/log/journal/1b4e89a5b1164946adc9c370510ccd63) is currently using 820.0K.
-- Maximum allowed usage is set to 6.4M.
-- Leaving at least 9.6M free (of currently available 63.1M of disk space).
-- Enforced usage limit is thus 6.4M, of which 5.6M are still available.
-- 
-- The limits controlling how much disk space is used by the journal may
-- be configured with SystemMaxUse=, SystemKeepFree=, SystemMaxFileSize=,
-- RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize= settings in
-- /etc/systemd/journald.conf. See journald.conf(5) for details.
Jul 12 00:46:22 syscont systemd[1]: systemd-journald.service: Failed to add fd to store: Operation not permitted
Jul 12 00:46:22 syscont systemd[1]: systemd-journald.service: Failed to add fd to store: Operation not permitted
Jul 12 00:46:22 syscont systemd[1]: systemd-journald.service: Failed to add fd to store: Operation not permitted
Jul 12 00:46:22 syscont systemd-journald[188]: Runtime journal (/run/log/journal/1b4e89a5b1164946adc9c370510ccd63) is 820.0K, max 6.4M, 5.6M free.
-- Subject: Disk space used by the journal
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- Runtime journal (/run/log/journal/1b4e89a5b1164946adc9c370510ccd63) is currently using 820.0K.
-- Maximum allowed usage is set to 6.4M.
-- Leaving at least 9.6M free (of currently available 63.1M of disk space).
-- Enforced usage limit is thus 6.4M, of which 5.6M are still available.
-- 
-- The limits controlling how much disk space is used by the journal may
-- be configured with SystemMaxUse=, SystemKeepFree=, SystemMaxFileSize=,
-- RuntimeMaxUse=, RuntimeKeepFree=, RuntimeMaxFileSize= settings in
-- /etc/systemd/journald.conf. See journald.conf(5) for details.
Jul 12 00:46:22 syscont systemd[1]: systemd-journald.service: Failed to add fd to store: Operation not permitted
Jul 12 00:46:22 syscont systemd[1]: systemd-journald.service: Failed to add fd to store: Operation not permitted
Jul 12 00:46:22 syscont systemd[1]: systemd-journald.service: Failed to add fd to store: Operation not permitted
Jul 12 00:46:22 syscont systemd-resolved[295]: Positive Trust Anchors:
Jul 12 00:46:22 syscont systemd-resolved[295]: . IN DS 19036 8 2 49aac11d7b6f6446702e54a1607371607a1a41855200fd2ce1cdde32f24e8fb5
Jul 12 00:46:22 syscont systemd-resolved[295]: . IN DS 20326 8 2 e06d44b80b8f1d39a95c0b0d7c65d08458e880409bbc683457104237c7f8ec8d
Jul 12 00:46:22 syscont systemd-resolved[295]: Negative trust anchors: 10.in-addr.arpa 16.172.in-addr.arpa 17.172.in-addr.arpa 18.172.in-addr.arpa 19.172.in-addr.arpa 20.172.in-ad
dr.arpa 21.172.in-addr.arpa 22.172.in-addr.arpa 23.172.in-addr.arpa 24.172.in-addr.arpa 25.172.in-addr.arpa 26.172.in-addr.arpa 27.172.in-addr.arpa 28.172.in-addr.arpa 29.172.in-a
ddr.arpa 30.172.in-addr.arpa 31.172.in-addr.arpa 168.192.in-addr.arpa d.f.ip6.arpa corp home internal intranet lan local private test
Jul 12 00:46:22 syscont systemd-resolved[295]: Using system hostname 'syscont'.
Jul 12 00:46:22 syscont systemd-sysctl[187]: Couldn't write '1' to 'kernel/yama/ptrace_scope', ignoring: No such file or directory
Jul 12 00:46:22 syscont systemd[1]: systemd-journald.service: Failed to add fd to store: Operation not permitted
Jul 12 00:46:22 syscont systemd[1]: systemd-journald.service: Failed to add fd to store: Operation not permitted
Jul 12 00:46:22 syscont systemd-logind[460]: New seat seat0.
-- Subject: A new seat seat0 is now available
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- Documentation: https://www.freedesktop.org/wiki/Software/systemd/multiseat
-- 
-- A new seat seat0 has been configured and is now available.
Jul 12 00:46:25 syscont login[474]: pam_unix(login:session): session opened for user admin by LOGIN(uid=0)
Jul 12 00:46:38 syscont sudo[505]:    admin : TTY=console ; PWD=/home/admin ; USER=root ; COMMAND=/bin/journalctl -xe

but make test errors, and among the unit tests only make test-mgr succeeds.

Signed-off-by: Amirouche A BOUBEKKI <[email protected]>
Copy link
Member

@ctalledo ctalledo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @amirouche for the contribution!

However it's missing a small part (see review comment).

# Instructions: https://cri-o.io/
RUN apk update && apk add cri-o


Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We are missing the installation of the Nestybox forked CRI-O here, as well as crictl and CNIs; similar to:

 168 │ # Build and install the Nestybox CRI-O (for testing deployment of pods with sysbox (aka "sysbox pods"))                                                                                                                                                                  
 169 │ RUN apt-get update && apt-get install -y --no-install-recommends libgpgme-dev \                                                                                                                                                                                          
 170 │     && mkdir -p /tmp/crio-build \                                                                                                                                                                                                                                        
 171 │     && git clone https://github.com/nestybox/cri-o.git /tmp/crio-build/cri-o \                                                                                                                                                                                           
 172 │     && git -C /tmp/crio-build/cri-o checkout -b ${crio_version}-sysbox origin/${crio_version}-sysbox \                                                                                                                                                                   
 173 │     && cd /tmp/crio-build/cri-o && make binaries \                                                                                                                                                                                                                       
 174 │     && mv /usr/bin/crio /usr/bin/crio.orig \                                                                                                                                                                                                                             
 175 │     && cp /tmp/crio-build/cri-o/bin/crio-static /usr/bin/crio \                                                                                                                                                                                                          
 176 │     && rm -rf /tmp/crio-build 
 
 178 │ RUN wget https://github.com/kubernetes-sigs/cri-tools/releases/download/${crictl_version}/crictl-${crictl_version}-linux-${sys_arch}.tar.gz \                                                                                                                            
 179 │     && sudo tar zxvf crictl-${crictl_version}-linux-${sys_arch}.tar.gz -C /usr/local/bin \                                                                                                                                                                               
 180 │     && rm -f crictl-${crictl_version}-linux-${sys_arch}.tar.gz                                                                                                                                                                                                           
 181 │                                                                                                                                                                                                                                                                          
 182 │ # Container CNIs (needed by CRI-O)                                                                                                                                                                                                                                       
 183 │ RUN curl -fsSL https://pkgs.k8s.io/core:/stable:/${k8s_version}/deb/Release.key | gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg \                                                                                                                        
 184 │     && echo "deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/${k8s_version}/deb/ /" | tee /etc/apt/sources.list.d/kubernetes.list \                                                                                       
 185 │     && apt-get update \                                                                                                                                                                                                                                                  
 186 │     && apt-get install kubernetes-cni

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants