Re: stacked extension not working

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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?

root@osboxes:/home/osboxes/Development# tree stackupper/
stackupper/
├── bin
│   └── umut
├── dev
├── etc
│   ├── machine-id
│   ├── resolv.conf
│   └── runtime
├── lib -> usr/lib
├── opt
│   └── tree
├── proc
├── root
├── run
├── sys
├── tmp
├── usr
│   ├── bin
│   └── lib
│       ├── extension-release.d
│       │   └── extension-release.base
│       └── systemd
│           └── system
│               └── stackupper.service
└── var
    └── tmp

18 directories, 7 files
root@osboxes:/home/osboxes/Development# cat stackupper/usr/lib/systemd/system/stackupper.service
[Service]
Type=oneshot
ExecStart=/opt/tree /


On Fri, Oct 15, 2021 at 2:23 PM Luca Boccassi <bluca@xxxxxxxxxx> wrote:
On Fri, 2021-10-15 at 12:18 +0000, Umut Tezduyar Lindskog wrote:
> Hi, following works for us (for reference, configuration is printed
> at the end)
>  
> portablectl --now attach --extension=./stackupper ./base stackupper
>  
> However, if we move the cat from base/usr/bin/cat to
> stackupper/bin/cat it is not working. Seems like we cannot include
> any library/executable in the extension.
>  
> Are we missing something?
>  
>  
> root@osboxes:/home/osboxes/Development# tree base/
> base/
> ├──bin
> ├──dev
> ├──etc
> │   ├── machine-id
> │   ├── os-release
> │   └── resolv.conf
> ├──lib
> │   └── x86_64-linux-gnu
> │       └── libc.so.6
> ├──lib64
> │   ├──ld-2.32.so
> │   └── ld-linux-x86-64.so.2
> ├──proc
> ├──root
> ├──run
> ├──sys
> ├──tmp
> ├──usr
> │   ├──bin
> │   │   ├──cat
> │   │   ├──echo
> │   │   └── tree
> │   └── lib
> │       └── systemd
> │           └── system
> └── var
>     └── tmp
>  
> 18 directories, 9 files
>  
> root@osboxes:/home/osboxes/Development# tree stackupper/
> stackupper/
> ├──bin
> │   └── umut
> ├──dev
> ├──etc
> │   ├── machine-id
> │   ├── resolv.conf
> │   └── runtime
> ├──lib -> usr/lib
> ├──proc
> ├──root
> ├──run
> ├──sys
> ├──tmp
> ├──usr
> │   ├──bin
> │   └── lib
> │       ├──extension-release.d
> │       │   └── extension-release.base
> │       └── systemd
> │           └── system
> │               └── stackupper.service
> └── var
>     └── tmp
>  
> 17 directories, 6 files
>  
> root@osboxes:/home/osboxes/Development# cat
> stackupper/usr/lib/systemd/system/stackupper.service 
> [Service]
> Type=oneshot
> ExecStart=/usr/bin/cat /etc/os-release
> root@osboxes:/home/osboxes/Development#systemctl --version
> systemd 249 (249.4-1)
> +PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT +GNUTLS -
> OPENSSL +ACL +BLKID +CURL +ELFUTILS -FIDO2 +IDN2 -IDN +IPTC +KMOD
> +LIBCRYPTSETUP -LIBFDISK +PCRE2 -PWQUALITY -P11KIT -QRENCODE +BZIP2
> +LZ4 +XZ +ZLIB +ZSTD -XKBCOMMON +UTMP +SYSVINIT default-
> hierarchy=unified

Hi,

You need to build your extension with the binaries under either the
/usr or /opt hierarchies. Legacy locations like /bin and /lib are
ignored. This is explained in the systemd-sysext.8 manpage.

--
Kind regards,
Luca Boccassi

[Index of Archives]     [LARTC]     [Bugtraq]     [Yosemite Forum]     [Photo]

  Powered by Linux