<div dir="ltr">Thanks and I would have never figured it out without your help. However, moving the binary to /opt didn't work either (I made sure there is empty /opt in the base too). Anything else I am missing?<div><br></div><div><font face="monospace">root@osboxes:/home/osboxes/Development# tree stackupper/<br>stackupper/<br>├── bin<br>│   └── umut<br>├── dev<br>├── etc<br>│   ├── machine-id<br>│   ├── resolv.conf<br>│   └── runtime<br>├── lib -> usr/lib<br>├── opt<br>│   └── tree<br>├── proc<br>├── root<br>├── run<br>├── sys<br>├── tmp<br>├── usr<br>│   ├── bin<br>│   └── lib<br>│       ├── extension-release.d<br>│       │   └── extension-release.base<br>│       └── systemd<br>│           └── system<br>│               └── stackupper.service<br>└── var<br>    └── tmp<br><br>18 directories, 7 files<br>root@osboxes:/home/osboxes/Development# cat stackupper/usr/lib/systemd/system/stackupper.service <br>[Service]<br>Type=oneshot<br>ExecStart=/opt/tree /</font><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Oct 15, 2021 at 2:23 PM Luca Boccassi <<a href="mailto:bluca@debian.org">bluca@debian.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex">On Fri, 2021-10-15 at 12:18 +0000, Umut Tezduyar Lindskog wrote:<br>
> Hi, following works for us (for reference, configuration is printed<br>
> at the end)<br>
>  <br>
> portablectl --now attach --extension=./stackupper ./base stackupper<br>
>  <br>
> However, if we move the cat from base/usr/bin/cat to<br>
> stackupper/bin/cat it is not working. Seems like we cannot include<br>
> any library/executable in the extension.<br>
>  <br>
> Are we missing something? <br>
>  <br>
>  <br>
> root@osboxes:/home/osboxes/Development# tree base/<br>
> base/<br>
> ├──bin<br>
> ├──dev<br>
> ├──etc<br>
> │   ├── machine-id<br>
> │   ├── os-release<br>
> │   └── resolv.conf<br>
> ├──lib<br>
> │   └── x86_64-linux-gnu<br>
> │       └── libc.so.6<br>
> ├──lib64<br>
> │   ├──<a href="http://ld-2.32.so" rel="noreferrer" target="_blank">ld-2.32.so</a><br>
> │   └── ld-linux-x86-64.so.2<br>
> ├──proc<br>
> ├──root<br>
> ├──run<br>
> ├──sys<br>
> ├──tmp<br>
> ├──usr<br>
> │   ├──bin<br>
> │   │   ├──cat<br>
> │   │   ├──echo<br>
> │   │   └── tree<br>
> │   └── lib<br>
> │       └── systemd<br>
> │           └── system<br>
> └── var<br>
>     └── tmp<br>
>  <br>
> 18 directories, 9 files<br>
>  <br>
> root@osboxes:/home/osboxes/Development# tree stackupper/<br>
> stackupper/<br>
> ├──bin<br>
> │   └── umut<br>
> ├──dev<br>
> ├──etc<br>
> │   ├── machine-id<br>
> │   ├── resolv.conf<br>
> │   └── runtime<br>
> ├──lib -> usr/lib<br>
> ├──proc<br>
> ├──root<br>
> ├──run<br>
> ├──sys<br>
> ├──tmp<br>
> ├──usr<br>
> │   ├──bin<br>
> │   └── lib<br>
> │       ├──extension-release.d<br>
> │       │   └── extension-release.base<br>
> │       └── systemd<br>
> │           └── system<br>
> │               └── stackupper.service<br>
> └── var<br>
>     └── tmp<br>
>  <br>
> 17 directories, 6 files<br>
>  <br>
> root@osboxes:/home/osboxes/Development# cat<br>
> stackupper/usr/lib/systemd/system/stackupper.service <br>
> [Service]<br>
> Type=oneshot<br>
> ExecStart=/usr/bin/cat /etc/os-release<br>
> root@osboxes:/home/osboxes/Development#systemctl --version<br>
> systemd 249 (249.4-1)<br>
> +PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS -<br>
> OPENSSL +ACL +BLKID +CURL +ELFUTILS -FIDO2 +IDN2 -IDN +IPTC +KMOD<br>
> +LIBCRYPTSETUP -LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2<br>
> +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-<br>
> hierarchy=unified<br>
<br>
Hi,<br>
<br>
You need to build your extension with the binaries under either the<br>
/usr or /opt hierarchies. Legacy locations like /bin and /lib are<br>
ignored. This is explained in the systemd-sysext.8 manpage.<br>
<br>
-- <br>
Kind regards,<br>
Luca Boccassi<br>
</blockquote></div>