`build_image` depends on accesss to the torcx manifest and the "content
addressable nature" of the directory. We currently rely on the torcx output
root structure being preserved in the container image.
While we're moving the torcx output root out of the container image, preserve
its contents so that they can be restored from bincache.
The SDK container bind mounts __build__/images to the containers image
directory, but the CI uses a different path for images. This causes issues when
building the oem sysext, because it requires mounting an overlayfs. The current
path (~/build/...) is an overlayfs and an ovlerayfs can't be an upper
directory.
Align the CONTAINER_IMAGE_ROOT and CONTAINER_TORCX_ROOT values with standard
practices to that oem sysext building in jenkins ci works.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
After changes to the inode size, the sysext installation runs out of
space because the installation happens on a mounted production image.
This is problematic because the /usr partition is only 1024MB in size
and gets full. Mount a temporary overlay so that we can use that for
installation, and discard it afterwards.
This also means we no longer need to disable verity and in fact could
live without copying the prod image. I won't make that change since
we're working on a new script to automate building of sysexts using the
overlay approach.
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
Inode sizes smaller than 256:
- don't support extended metadata (nanosecond timestamp resolution)
- cannot handle dates beyond 2038
- are deprecated
Change the default from 128 to 256. There is no way to apply this change on a
mounted filesystem so this change will only apply to new deployments.
Fixes: flatcar/flatcar#1082
Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
- move the package to /usr
- remove the nvidia-metadata package
Signed-off-by: Sayan Chowdhury <schowdhury@microsoft.com>
Co-authored-by: Kai Lüke <pothos@users.noreply.github.com>
Build fails with Rust 1.70+ as Gentoo ebuild of Rust 1.70 started
showing different behavior w.r.t. LTO.
Set LTO to false (a.k.a. "thin-local") to fix that.
Pulls in https://github.com/flatcar/update-ssh-keys/pull/8
Set `lto = false` in Cargo.toml to fix build issues that started
happening with Rust 1.70+.
Note, as upstream afterburn 5.4.0+ started dropping the `lto` option
completely, it is not necessary to fix upstream. However, as long as
Flatcar keeps using afterburn 5.2.0, this patch is still needed for
Flatcar.
- Apply cross-compiling changes.
- Remove python3_12, which is not supported by Flatcar.
- Remove dependency on sys-apps/lsb-release, which conflicts with
sys-apps/baselayout of Flatcar.
- Remove rust-src to keep the SDK size minimal.
- Add a comment about keeping the patchlevel 0 of stage0.
- Update Rust version from 1.69 to 1.70 in profiles.
Based on commit 9ac87490bd