flatimage icon indicating copy to clipboard operation
flatimage copied to clipboard

Add `arm64` support

Open hwittenborn opened this issue 2 years ago • 19 comments

This was mentioned a bit in #12, but I have a need for arm64 variants of the images for use in my application.

I thought about maintaining this in a separate fork, but it looks like FlatImage requires several external repositories as part of it's build process, which would make this a bit infeasible as a fork long-term. arm64 is also a fairly popular architecture (e.g. Flathub and Snap support it), and I think it'd be nice to have it for any people who'd want it.

Tracking status for arm64 support in FlatImage's dependencies:

  • [x] https://github.com/ruanformigoni/e2fsprogs (https://github.com/ruanformigoni/e2fsprogs/pull/1)
    • [x] https://github.com/ruanformigoni/libfuse (https://github.com/ruanformigoni/libfuse/pull/1)
  • [x] https://github.com/ruanformigoni/proot (https://github.com/ruanformigoni/proot/pull/1)
  • [x] https://github.com/ruanformigoni/bubblewrap-musl-static (https://github.com/ruanformigoni/bubblewrap-musl-static/pull/1)
  • [x] https://github.com/mhx/dwarfs
  • [x] https://github.com/ruanformigoni/bash-static (https://github.com/ruanformigoni/bash-static/pull/1)

hwittenborn avatar Sep 30 '23 20:09 hwittenborn

Hi @hwittenborn , thanks for the issue. Supporting arm seems feasible, I'll start to look into it.

ruanformigoni avatar Oct 01 '23 04:10 ruanformigoni

Thanks @ruanformigoni! I don't know what your open time to work on FlatImage looks like, but if you'd like I could go ahead and help out with getting PRs going on the needed repositories.

hwittenborn avatar Oct 01 '23 04:10 hwittenborn

Sure, feel free to do so. Thanks again!

ruanformigoni avatar Oct 01 '23 04:10 ruanformigoni

On another note, would you be open to making an organization for FlatImage @ruanformigoni? Even if you're the only person in it, I think it'd be quite beneficial to see where all of FlatImage's external dependencies are. Most of the repositories I listed above were found through digging, but if they were all under a single account it'd be much easier to see what's being used where at a glance.

hwittenborn avatar Oct 01 '23 04:10 hwittenborn

It was mentioned in https://github.com/ruanformigoni/libfuse/pull/1, but all PRs have available releases in their respective repositories testing the changes. Feel free to hold off on merging any of them until all the PRs are set up, tested and ready to go though.

hwittenborn avatar Oct 01 '23 05:10 hwittenborn

All of the PRs should be pretty much ready to go @ruanformigoni, but there doesn't seem to be a super easy way to get QEMU going on GitLab CI at first glance.

This is tying back to #12 a little bit, but if the releases could be published here on GitHub then I could pretty easily get a CI job going to publish all of the needed images on both amd64 and arm64. If you're against that idea I can look more into getting it going on GitLab, but I'd definitely prefer to do it on GitHub where I'm more comfortable if you're open to it.

hwittenborn avatar Oct 01 '23 09:10 hwittenborn

Nice! Thanks, I'm merging the PRs. I usually don't work on github because I prefer open source alternatives if they exist, also the possibility of self-hosting gitlab is pretty neat. An alternative to #12 could be to create a github release with the gitlab runner as you said in #15, with the same artifact links or novel packages uploaded to github. However, if it is not possible to create arm64 binaries on gitlab then I'd have no problem to use this as the main repository. I'll look into the organization.

ruanformigoni avatar Oct 01 '23 23:10 ruanformigoni

Hey @ruanformigoni, I just wanted to say I'm still working on getting arm64 support working in FlatImage itself. I'm currently working on that all in https://github.com/hwittenborn/flatimage where I'm getting it all working via a GitHub Action workflow, but a fair bit is still broken and I'm not quite sure when that'll be completed yet.

hwittenborn avatar Oct 08 '23 04:10 hwittenborn

Thanks for that! I'll set up an aarch64 machine to try things out as well.

ruanformigoni avatar Oct 09 '23 15:10 ruanformigoni

@ruanformigoni , How is the progress of the arm64 version? Is arm32 possible too? I'm studying your project, I really liked it. I have a armv7l linux device. I intend to do several tests with your project on this arm device. What cpu architectures will you officially support?

p2pdownsbrz avatar Feb 11 '24 07:02 p2pdownsbrz

Hi @p2pdownsbrz ! Thanks for your interest in the project, it is possible but currently it only supports x86_64.

ruanformigoni avatar Feb 11 '24 08:02 ruanformigoni

@ruanformigoni Hi,

image image

I am trying to build it on arm, It is successfull, partially (It hangs as shown in the pic) but there are some hard-coded things that need to be changed:

#This needs to be extended to account for aarch64
+ f_find_and_bind("/usr/lib/aarch64-linux-gnu", "nvidia", "cuda", "nvcuvid", "nvoptix");
  f_find_and_bind("/usr/lib/x86_64-linux-gnu", "nvidia", "cuda", "nvcuvid", "nvoptix");
  f_find_and_bind("/usr/lib/i386-linux-gnu", "nvidia", "cuda", "nvcuvid", "nvoptix");
- ns_env::prepend("LD_LIBRARY_PATH", "/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu:");
+ ns_env::prepend("LD_LIBRARY_PATH", "/usr/lib/aarch64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/i386-linux-gnu:");

I don't know if that's all that is needed to enable aarch64 support, so I apologize if that isn't the case and it's not as simple as it seems. Thanks!

Edit: After waiting for 30-50 seconds, it does actually work:

$ file /tmp/FLATIMAGES/blueprint.flatimage
/tmp/FLATIMAGES/blueprint.flatimage: ELF 64-bit LSB executable, ARM aarch64, version 1 (SYSV), statically linked, BuildID[sha1]=8037ec9744a85b472f72934a044a63b372f43dc6, stripped

image image

Azathothas avatar Oct 17 '24 10:10 Azathothas

Hi @Azathothas, that is really cool! Thanks for taking the time to dig on this, you can have a better idea of what is causing the slowdows by enabling debug mode with FIM_DEBUG=1 /tmp/FLATIMAGES/blueprint.flatimage.

ruanformigoni avatar Oct 17 '24 10:10 ruanformigoni

Hi, yes, seems like it's my own static binary that's breaking it.

D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/f55fa78_20241017094850/bin/fim_portal_daemon','/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/ext.boot',]
D::desktop.hpp::333::Json desktop data:
D::subprocess.hpp::318::stderr(/tmp/fim/app/f55fa78_20241017094850/bin/fim_portal_daemon): D::subprocess.hpp::372::4184869 dies with 4184868
I::db.hpp::123::Failed to parse json data: ''
D::subprocess.hpp::318::stderr(/tmp/fim/app/f55fa78_20241017094850/bin/fim_portal_daemon): E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='
E::desktop.hpp::336::Could not parse json data: Failed to parse json data: ''
E::log.hpp::192::Could not parse json data: Failed to parse json data: ''
D::filesystems.hpp::151::Filesystem size is '9391431'
D::filesystems.hpp::164::Offset to filesystem is '22938440'
D::subprocess.hpp::43::PATH: Check for /tmp/fim/app/f55fa78_20241017094850/bin/dwarfs
D::subprocess.hpp::50::PATH: Found '/tmp/fim/app/f55fa78_20241017094850/bin/dwarfs'
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/f55fa78_20241017094850/bin/dwarfs','/tmp/FLATIMAGES/blueprint.flatimage','/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/layers/0','-f','-o','auto_unmount,offset=22938440,imagesize=9391431',]
D::subprocess.hpp::318::stderr(/tmp/fim/app/f55fa78_20241017094850/bin/dwarfs): D::subprocess.hpp::372::4184872 dies with 4184868
D::subprocess.hpp::318::stderr(/tmp/fim/app/f55fa78_20241017094850/bin/dwarfs): E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='
D::subprocess.hpp::318::stderr(/tmp/fim/app/f55fa78_20241017094850/bin/fim_portal_daemon): terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
D::subprocess.hpp::318::stderr(/tmp/fim/app/f55fa78_20241017094850/bin/fim_portal_daemon):   what():  filesystem error: cannot make canonical path: No such file or directory [/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/ext.boot]
D::subprocess.hpp::318::stdout(/tmp/fim/app/f55fa78_20241017094850/bin/fim_portal_daemon): Logger file: /tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount.portal.daemon.log
D::subprocess.hpp::318::stderr(/tmp/fim/app/f55fa78_20241017094850/bin/dwarfs): I 10:56:06.045185 dwarfs (v0.10.1, fuse version 35)
D::subprocess.hpp::318::stderr(/tmp/fim/app/f55fa78_20241017094850/bin/dwarfs): I 10:56:06.045669 file system initialized [380.4us]
D::subprocess.hpp::318::stderr(/tmp/fim/app/f55fa78_20241017094850/bin/dwarfs): fuse: unknown option(s): `-o imagesize=9391431'
E::fuse.hpp::55::Reached timeout to wait for fuse filesystems
D::filesystems.hpp::150::Stopped reading at index 1
D::subprocess.hpp::43::PATH: Check for /tmp/fim/app/f55fa78_20241017094850/bin/overlayfs
D::subprocess.hpp::50::PATH: Found '/tmp/fim/app/f55fa78_20241017094850/bin/overlayfs'
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/f55fa78_20241017094850/bin/overlayfs','-f','-o','squash_to_uid=1001','-o','squash_to_gid=1001','-o','lowerdir=/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/layers/0','-o','upperdir=/tmp/FLATIMAGES/.blueprint.flatimage.config/overlays/upperdir','-o','workdir=/tmp/FLATIMAGES/.blueprint.flatimage.config/overlays/workdir','/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs',]
D::subprocess.hpp::372::4185262 dies with 4184868
E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='
D::fuse.hpp::52::Filesystem '/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs' is fuse
D::filesystems.hpp::101::Spawned janitor with PID '4185264'
D::db.hpp::132::Open file '/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs/fim/config/boot.json' as 'UPDATE_OR_CREATE'
D::db.hpp::146::Creating empty db file /tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs/fim/config/boot.json
E::db.hpp::186::Failed to open '/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs/fim/config/boot.json' for writing
D::db.hpp::132::Open file '/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs/fim/config/environment.json' as 'READ'
D::db.hpp::166::Could not read file '/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs/fim/config/environment.json'
I::bwrap.hpp::157::XDG_RUNTIME_DIR: /run/user/{}1001
D::db.hpp::132::Open file '/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs/fim/config/bindings.json' as 'READ'
D::db.hpp::166::Could not read file '/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs/fim/config/bindings.json'
D::subprocess.hpp::43::PATH: Check for /tmp/fim/app/f55fa78_20241017094850/bin/bash
D::subprocess.hpp::50::PATH: Found '/tmp/fim/app/f55fa78_20241017094850/bin/bash'
D::bwrap.hpp::481::Using bwrap native
D::subprocess.hpp::414::Spawn command: ['/usr/bin/bwrap','--bind','/','/','bash','-c','echo',]
D::subprocess.hpp::318::stderr(/usr/bin/bwrap): E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='
D::subprocess.hpp::180::Erased var entry: TERM=xterm-256color
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/f55fa78_20241017094850/bin/bash','-c','"/usr/bin/bwrap" "$@"','--','--bind','/tmp/fim/app/f55fa78_20241017094850/instance/eMkFPB/mount/overlayfs','/','--dev','/dev','--proc','/proc','--bind','/tmp','/tmp','--bind','/sys','/sys','--bind-try','/etc/group','/etc/group','--setenv','XDG_RUNTIME_DIR','/run/user/{}1001','--ro-bind-try','/','/tmp/fim/run/host','bash',]
E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='

So it is the dwarfs binary....? I am using the dwarfs binary from: https://github.com/mhx/dwarfs/releases/download/v0.10.1/dwarfs-universal-0.10.1-Linux-aarch64-clang

Azathothas avatar Oct 17 '24 10:10 Azathothas

I am using a custom build of dwarfs to support the imagesize option, here is my fork where I build the releases, and here is the branch in which mhx implemented this option and here is the related issue. The delay you see is a timeout of 60 seconds for the fuse filesystems to mount, when that fails, it proceeds to enter the container without them.

ruanformigoni avatar Oct 17 '24 11:10 ruanformigoni

Thank you for pointing me in the right direction. Seems like, I will only have to make changes to https://github.com/ruanformigoni/dwarfs/blob/experimental/image-size/build.sh And it should work.... I will try and update you on my progress

Azathothas avatar Oct 17 '24 11:10 Azathothas

Hi @ruanformigoni , I have finally done it.

pushd "$(mktemp -d)" >/dev/null 2>&1
git clone --filter="blob:none" --depth="1" --quiet "https://github.com/Azathothas/flatimage" && cd "./flatimage"
chmod +x "./deploy/flatimage.sh"

sudo "./deploy/flatimage.sh" blueprint
rsync -achLv --mkpath "./build/dist/." "/tmp/FLATIMAGES"
find "/tmp/FLATIMAGES" -type f | xargs -I {} sh -c 'file {}; sha256sum {}; du -sh {}'

FIM_DEBUG=1 "/tmp/FLATIMAGES/blueprint.flatimage"

It booted up instantly, however I am still seeing some errors, are these harmless?

Logger file: /tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount.boot.log
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/4dde274_20241018043933/bin/fim_portal_daemon','/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/ext.boot',]
D::desktop.hpp::333::Json desktop data:
I::db.hpp::123::Failed to parse json data: ''
D::subprocess.hpp::318::stderr(/tmp/fim/app/4dde274_20241018043933/bin/fim_portal_daemon): D::subprocess.hpp::372::171802 dies with 171801
D::subprocess.hpp::318::stderr(/tmp/fim/app/4dde274_20241018043933/bin/fim_portal_daemon): E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='
E::desktop.hpp::336::Could not parse json data: Failed to parse json data: ''
E::log.hpp::192::Could not parse json data: Failed to parse json data: ''
D::filesystems.hpp::151::Filesystem size is '10288762'
D::filesystems.hpp::164::Offset to filesystem is '15278104'
D::subprocess.hpp::43::PATH: Check for /tmp/fim/app/4dde274_20241018043933/bin/dwarfs
D::subprocess.hpp::50::PATH: Found '/tmp/fim/app/4dde274_20241018043933/bin/dwarfs'
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/4dde274_20241018043933/bin/dwarfs','/tmp/FLATIMAGES/blueprint.flatimage','/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/layers/0','-f','-o','auto_unmount,offset=15278104,imagesize=10288762',]
D::subprocess.hpp::318::stderr(/tmp/fim/app/4dde274_20241018043933/bin/dwarfs): D::subprocess.hpp::372::171805 dies with 171801
D::subprocess.hpp::318::stderr(/tmp/fim/app/4dde274_20241018043933/bin/dwarfs): E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='
D::subprocess.hpp::318::stdout(/tmp/fim/app/4dde274_20241018043933/bin/fim_portal_daemon): Logger file: /tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount.portal.daemon.log
D::subprocess.hpp::318::stderr(/tmp/fim/app/4dde274_20241018043933/bin/fim_portal_daemon): terminate called after throwing an instance of 'std::filesystem::__cxx11::filesystem_error'
D::subprocess.hpp::318::stderr(/tmp/fim/app/4dde274_20241018043933/bin/fim_portal_daemon):   what():  filesystem error: cannot make canonical path: No such file or directory [/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/ext.boot]
D::subprocess.hpp::318::stderr(/tmp/fim/app/4dde274_20241018043933/bin/dwarfs): I 04:43:07.953453 dwarfs (v0.10.1-82-gda487958c5 on branch main, fuse version 35)
D::subprocess.hpp::318::stderr(/tmp/fim/app/4dde274_20241018043933/bin/dwarfs): I 04:43:07.953982 file system initialized [462us]
D::subprocess.hpp::318::stderr(/tmp/fim/app/4dde274_20241018043933/bin/dwarfs): Ignoring invalid max threads value 4294967295 > max (100000).
D::fuse.hpp::52::Filesystem '/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/layers/0' is fuse
D::filesystems.hpp::150::Stopped reading at index 1
D::subprocess.hpp::43::PATH: Check for /tmp/fim/app/4dde274_20241018043933/bin/overlayfs
D::subprocess.hpp::50::PATH: Found '/tmp/fim/app/4dde274_20241018043933/bin/overlayfs'
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/4dde274_20241018043933/bin/overlayfs','-f','-o','squash_to_uid=1001','-o','squash_to_gid=1001','-o','lowerdir=/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/layers/0','-o','upperdir=/tmp/FLATIMAGES/.blueprint.flatimage.config/overlays/upperdir','-o','workdir=/tmp/FLATIMAGES/.blueprint.flatimage.config/overlays/workdir','/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/overlayfs',]
D::subprocess.hpp::372::171813 dies with 171801
E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='
D::fuse.hpp::52::Filesystem '/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/overlayfs' is fuse
D::filesystems.hpp::101::Spawned janitor with PID '171815'
D::db.hpp::132::Open file '/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/overlayfs/fim/config/boot.json' as 'UPDATE_OR_CREATE'
D::db.hpp::146::Creating empty db file /tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/overlayfs/fim/config/boot.json
D::db.hpp::132::Open file '/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/overlayfs/fim/config/environment.json' as 'READ'
D::db.hpp::166::Could not read file '/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/overlayfs/fim/config/environment.json'
I::bwrap.hpp::157::XDG_RUNTIME_DIR: /run/user/{}1001
D::db.hpp::132::Open file '/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/overlayfs/fim/config/bindings.json' as 'READ'
D::db.hpp::166::Could not read file '/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/overlayfs/fim/config/bindings.json'
D::subprocess.hpp::43::PATH: Check for /tmp/fim/app/4dde274_20241018043933/bin/bash
D::subprocess.hpp::50::PATH: Found '/tmp/fim/app/4dde274_20241018043933/bin/bash'
D::bwrap.hpp::481::Using bwrap native
D::subprocess.hpp::414::Spawn command: ['/usr/bin/bwrap','--bind','/','/','bash','-c','echo',]
D::subprocess.hpp::318::stderr(/usr/bin/bwrap): E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='
D::subprocess.hpp::180::Erased var entry: TERM=xterm-256color
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/4dde274_20241018043933/bin/bash','-c','"/usr/bin/bwrap" "$@"','--','--bind','/tmp/fim/app/4dde274_20241018043933/instance/JcaJcl/mount/overlayfs','/','--dev','/dev','--proc','/proc','--bind','/tmp','/tmp','--bind','/sys','/sys','--bind-try','/etc/group','/etc/group','--setenv','XDG_RUNTIME_DIR','/run/user/{}1001','--ro-bind-try','/','/tmp/fim/run/host','bash',]
E::subprocess.hpp::476::Invalid environment variable 'FIM_VERSION='
[flatimage-blueprint] flatimage →

Azathothas avatar Oct 18 '24 04:10 Azathothas

For reference, this is how it looks when I use your: https://github.com/ruanformigoni/flatimage/releases/download/v1.0.3/blueprint.flatimage

Logger file: /tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount.boot.log
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/6bc6815_20241017123035/bin/fim_portal_daemon','/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/fim_boot',]
D::desktop.hpp::333::Json desktop data:
I::db.hpp::123::Failed to parse json data: ''
D::subprocess.hpp::318::stderr(/tmp/fim/app/6bc6815_20241017123035/bin/fim_portal_daemon): D::subprocess.hpp::372::466787 dies with 466786
E::desktop.hpp::336::Could not parse json data: Failed to parse json data: ''
E::log.hpp::192::Could not parse json data: Failed to parse json data: ''
D::filesystems.hpp::151::Filesystem size is '11629667'
D::filesystems.hpp::164::Offset to filesystem is '16672868'
D::subprocess.hpp::43::PATH: Check for /tmp/fim/app/6bc6815_20241017123035/bin/dwarfs
D::subprocess.hpp::50::PATH: Found '/tmp/fim/app/6bc6815_20241017123035/bin/dwarfs'
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/6bc6815_20241017123035/bin/dwarfs','/tmp/tmp.jTa8QOuufK/blueprint.flatimage','/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/layers/0','-f','-o','auto_unmount,offset=16672868,imagesize=11629667',]
D::subprocess.hpp::318::stderr(/tmp/fim/app/6bc6815_20241017123035/bin/dwarfs): D::subprocess.hpp::372::466790 dies with 466786
D::subprocess.hpp::318::stdout(/tmp/fim/app/6bc6815_20241017123035/bin/fim_portal_daemon): Logger file: /tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount.portal.daemon.log
D::subprocess.hpp::318::stderr(/tmp/fim/app/6bc6815_20241017123035/bin/dwarfs): I 04:47:38.540351 dwarfs (v0.10.1-72-g187a5b65bd on branch experimental/image-size, fuse version 35)
D::subprocess.hpp::318::stderr(/tmp/fim/app/6bc6815_20241017123035/bin/dwarfs): I 04:47:38.540561 file system initialized [157.7us]
D::subprocess.hpp::318::stderr(/tmp/fim/app/6bc6815_20241017123035/bin/dwarfs): Ignoring invalid max threads value 4294967295 > max (100000).
D::fuse.hpp::52::Filesystem '/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/layers/0' is fuse
D::filesystems.hpp::150::Stopped reading at index 1
D::subprocess.hpp::43::PATH: Check for /tmp/fim/app/6bc6815_20241017123035/bin/overlayfs
D::subprocess.hpp::50::PATH: Found '/tmp/fim/app/6bc6815_20241017123035/bin/overlayfs'
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/6bc6815_20241017123035/bin/overlayfs','-f','-o','squash_to_uid=1001','-o','squash_to_gid=1001','-o','lowerdir=/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/layers/0','-o','upperdir=/tmp/tmp.jTa8QOuufK/.blueprint.flatimage.config/overlays/upperdir','-o','workdir=/tmp/tmp.jTa8QOuufK/.blueprint.flatimage.config/overlays/workdir','/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/overlayfs',]
D::subprocess.hpp::372::466800 dies with 466786
D::fuse.hpp::52::Filesystem '/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/overlayfs' is fuse
D::filesystems.hpp::101::Spawned janitor with PID '466808'
D::db.hpp::132::Open file '/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/overlayfs/fim/config/boot.json' as 'UPDATE_OR_CREATE'
D::db.hpp::146::Creating empty db file /tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/overlayfs/fim/config/boot.json
D::db.hpp::132::Open file '/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/overlayfs/fim/config/environment.json' as 'READ'
D::db.hpp::166::Could not read file '/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/overlayfs/fim/config/environment.json'
I::bwrap.hpp::157::XDG_RUNTIME_DIR: /run/user/{}1001
D::db.hpp::132::Open file '/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/overlayfs/fim/config/bindings.json' as 'READ'
D::db.hpp::166::Could not read file '/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/overlayfs/fim/config/bindings.json'
D::subprocess.hpp::43::PATH: Check for /tmp/fim/app/6bc6815_20241017123035/bin/bash
D::subprocess.hpp::50::PATH: Found '/tmp/fim/app/6bc6815_20241017123035/bin/bash'
D::bwrap.hpp::481::Using bwrap native
D::subprocess.hpp::414::Spawn command: ['/usr/bin/bwrap','--bind','/','/','bash','-c','echo',]
D::subprocess.hpp::180::Erased var entry: TERM=xterm-256color
D::subprocess.hpp::414::Spawn command: ['/tmp/fim/app/6bc6815_20241017123035/bin/bash','-c','"/usr/bin/bwrap" "$@"','--','--bind','/tmp/fim/app/6bc6815_20241017123035/instance/DBDhEa/mount/overlayfs','/','--dev','/dev','--proc','/proc','--bind','/tmp','/tmp','--bind','/sys','/sys','--bind-try','/etc/group','/etc/group','--setenv','XDG_RUNTIME_DIR','/run/user/{}1001','--ro-bind-try','/','/tmp/fim/run/host','bash',]
[flatimage-blueprint] tmp.jTa8QOuufK →

Azathothas avatar Oct 18 '24 04:10 Azathothas

Great work!

These happen because the desktop integration was not configured, so it is ignored.

E::desktop.hpp::336::Could not parse json data: Failed to parse json data: '' E::log.hpp::192::Could not parse json data: Failed to parse json data: ''

The FIM_VERSION errors happen probably because you haven't pulled the git tags when you cloned the repository, so the FIM_VERSION variable is not set, which does not break anything useful besides version checks.


I will update the work that @hwittenborn has done to create aarch64 and aarch32 binaries for the binaries pulled by the flatimage.sh build script, dwarfs inclusive.

ruanformigoni avatar Oct 18 '24 09:10 ruanformigoni