Hi again. I tried renaming ( https://www.freedesktop.org/software/systemd/man/os-release.html) it but that didn't work. I am not getting any errors during the attachment phase so I am not sure if the failure is due to extension file in any way.
A wish list is to be more verbose regarding what is going on during extension file check/comparison and during overlaying /usr and /opt. I think portablectl is quite verbose when it comes to preparing files, symb links and what I wish fits well. Could you please try it yourself? I put them in https://drive.google.com/file/d/1LoN_swR7jgvo5yxajWjYK5ck_e8kJs1W/view?usp=sharing there should be a download button on the top right. Appreciate your help. Thanks, Umut On Fri, Oct 15, 2021 at 3:46 PM Luca Boccassi <[email protected]> wrote: > On Fri, 2021-10-15 at 14:59 +0200, Umut Tezduyar Lindskog wrote: > > 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 / > > The extension-release file in the extension must be named exactly after > the extension (eg: foo.raw must contain /usr/lib/extension- > release.d/extension-release.foo), but in your case it's called ".base" > which doesn't seem right, so double check that. This too is documented > in the man page. > > > On Fri, Oct 15, 2021 at 2:23 PM Luca Boccassi <[email protected]> > > 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. > > > > >
