23028 Commits

Author SHA1 Message Date
Kai Lüke
9139387127 sys-apps/ignition: Ignore filesystem format mismatches for the OEM partition
This pulls in
https://github.com/kinvolk/ignition/pull/22
2021-08-03 10:39:40 +02:00
Dongsu Park
c449236fb1 Merge pull request #934 from kinvolk/dongsu/delete-boost-build-1.67
dev-util/boost-build: delete boost-build 1.67
2021-08-03 10:26:59 +02:00
Sayan Chowdhury
39db514ce3 dev-libs/expat: Apply Flatcar changes
Signed-off-by: Sayan Chowdhury <sayan@kinvolk.io>
2021-08-02 22:22:14 +05:30
Sayan Chowdhury
564f8f7b1d dev-libs/expat: Sync with Gentoo upstream; updates to 2.4.1
Signed-off-by: Sayan Chowdhury <sayan@kinvolk.io>
2021-08-02 22:22:14 +05:30
Sayan Chowdhury
af9d9bc3ca nvidia-{drivers, metadata}: Update NVIDIA to 470.57.02
Signed-off-by: Sayan Chowdhury <sayan@kinvolk.io>
2021-08-02 22:21:24 +05:30
Dongsu Park
349a9ba532 Merge pull request #1129 from kinvolk/dongsu/github-actions-exclude-rcbeta
.github: list only ebuilds with a unique VERSION_OLD for runc
2021-08-02 14:12:17 +02:00
Kai Lüke
3088fd3cac Merge pull request #1138 from kinvolk/kai/dm-verity-corruption-panic
sys-kernel/bootengine: issue a kernel panic on dm-verity corruption
2021-08-02 13:34:24 +02:00
Kai Lüke
ee14557288 sys-kernel/bootengine: issue a kernel panic on dm-verity corruption
This pulls in
https://github.com/kinvolk/bootengine/pull/26
2021-08-02 13:34:08 +02:00
Dongsu Park
40f5f348af Merge pull request #1127 from kinvolk/firmware-20210716-main
Upgrade Linux Firmware in main from 20210511 to 20210716
2021-08-02 12:26:29 +02:00
Kai Lüke
832917d09e
Merge pull request #138 from kinvolk/kai/revert-oem-to-ext4
Revert "disk_layout: use btrfs for the OEM partition"
2021-08-02 12:00:51 +02:00
Flatcar Buildbot
736682d437 sys-kernel: Upgrade Kernel 5.10.52 to 5.10.55 2021-07-31 07:10:22 +00:00
Kai Lüke
bb9ddfb08a Revert "disk_layout: use btrfs for the OEM partition"
This reverts commit bc97e15c3cd55f10cc11016578673744e3220ffc.
2021-07-30 20:44:36 +02:00
Kai Lüke
eb06982881 Merge pull request #1146 from kinvolk/kai/gce-oem-net-admin
coreos-base/oem-gce: grant CAP_NET_ADMIN to set routes for LB
2021-07-30 18:31:08 +02:00
Kai Lüke
6c13e2c3a7
Merge pull request #137 from kinvolk/kai/remove-kernel-from-usr
build_image_util.sh: delete vmlinuz file from /usr partition
2021-07-30 15:18:41 +02:00
Mathieu Tortuyaux
22c2e57360 Merge pull request #1149 from kinvolk/tormath1/fix-457
docker/torcx: disable SELinux by default on `dockerd` wrapper script
2021-07-30 15:00:12 +02:00
Kai Lüke
9a70c06140 Merge pull request #1145 from kinvolk/kai/cilium_vxlan
coreos-base/coreos-init: prevent networkd interference with cilium_vxlan
2021-07-30 14:10:49 +02:00
Sayan Chowdhury
b0968259d0 app-arch/xz-utils: Sync with Gentoo upstream; updates to 5.2.5
Signed-off-by: Sayan Chowdhury <sayan@kinvolk.io>
2021-07-30 15:52:02 +05:30
Sayan Chowdhury
4edec94842 app-arch/libarchive: Sync with Gentoo upstream; updates to 3.5.1
Signed-off-by: Sayan Chowdhury <sayan.chowdhury2012@gmail.com>
2021-07-30 10:11:20 +00:00
Dongsu Park
b37bce7dff sys-kernel/coreos-firmware: fix builds by updating CXGB version
Fix build failures by updating CXGB firmware version to 1.26.0.0.
2021-07-30 11:03:41 +02:00
Mathieu Tortuyaux
be50e579c8 app-emulation/docker: update wrapper to disable selinux
this is now the default behavior - since this script is deprecated
we do a minimum update on it

Signed-off-by: Mathieu Tortuyaux <mathieu@kinvolk.io>
2021-07-30 10:34:03 +02:00
Mathieu Tortuyaux
501d937d7e app-arch/torcx: update wrapper to disable selinux
it's the default behavior now. Since this script is deprecated, we
do a minimum change on it.

Signed-off-by: Mathieu Tortuyaux <mathieu@kinvolk.io>
2021-07-30 10:33:36 +02:00
Kai Lüke
f3cf8d4f41 Merge pull request #190 from kinvolk/kai/update-cryptsetup
sys-fs/cryptsetup: Sync with Gentoo
2021-07-30 10:03:20 +02:00
Jeremi Piotrowski
b42cfedcf5 profiles: use correct lib64 path to sysroot-wrappers
Sysroot-wrappers contains binaries installed to /usr/lib64/sysroot-wrappers,
but the profile referenced them through the 'lib -> lib64' symlink. Stop
relying on that symlink, which is not present in arm64 profiles, and is
not part of 17.1 amd64 profiles.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2021-07-30 07:43:15 +00:00
Kai Lüke
764d5c6baf coreos-base/coreos-init: prevent networkd interference with cilium_vxlan
This pulls in
https://github.com/kinvolk/init/pull/43
2021-07-29 20:01:50 +02:00
Kai Lüke
daf0a01b55 coreos-base/oem-gce: grant CAP_NET_ADMIN to set routes for LB
With the switch from rkt to systemd-nspawn the ability for the service
to set the routing entries for the TCP load balancer got lost,
resulting in an unreachable LB as reported in
https://github.com/kinvolk/Flatcar/issues/459

The fix also reported there is to retain CAP_NET_ADMIN when starting
the service.
2021-07-29 15:30:39 +02:00
Flatcar Buildbot
990e4f82b8 sys-kernel: Upgrade Linux Firmware 20210511 to 20210716 2021-07-29 07:07:37 +00:00
Kai Lüke
c1b2d88aa2 build_image_util.sh: delete vmlinuz file from /usr partition
The vmlinuz kernel image gets installed to /usr/boot/ but isn't usable
for dm-verity until it gets copied over to /boot/flatcar/ and the hash
gets embedded at a particular offset. The file in /usr/boot/ uses space
while it's not having a real purpose as long as dm-verity is used.

Delete the vmlinuz file under /usr/boot/ to free up space. When
generating the ISO image we use the vmlinuz file from /boot/flatcar/
which also has the advantage that we only distribute a single vmlinuz
file with one particular checksum.
2021-07-28 20:59:16 +02:00
Kai Lüke
1c0936769d sys-fs/cryptsetup: Sync with Gentoo 2021-07-28 19:43:22 +02:00
Jeremi Piotrowski
6ce5d3165f
build_library/toolchain_util: check CBUILD+CHOST for rust warning
For consistency with code further down in the file: aarch64 cross compilation only applies when CBUILD is x86,
for native aarch64 builds rust is guaranteed to have aarch64 rustlibs.
2021-07-28 16:47:13 +02:00
Kai Lüke
b892315775
Merge pull request #131 from kinvolk/kai/btrfs-usr-oem
disk_util: support compressed btrfs filesystems, use btrfs for the OEM partition
2021-07-28 13:34:50 +02:00
Kai Lüke
beabd977e1 Merge pull request #1106 from kinvolk/kai/bootengine-verity-hashoffset
Support BTRFS in OEM and /usr partitions
2021-07-28 13:34:37 +02:00
Kai Lüke
622a99058c coreos-base/update_engine: support btrfs as /usr filesystem
This pulls in
https://github.com/kinvolk/update_engine/pull/11
2021-07-28 13:29:02 +02:00
Kai Lüke
ab2467e547 sys-apps/seismograph: support btrfs in rootdev
This pulls in
https://github.com/kinvolk/seismograph/pull/6
2021-07-28 13:28:55 +02:00
Kai Lüke
e45a6140d0 sys-apps/ignition: support btrfs on the OEM partition
This pulls in
https://github.com/kinvolk/ignition/pull/21
2021-07-28 13:28:45 +02:00
Kai Lüke
bdc7f36d4f sys-kernel/coreos-modules: use 4k pages for arm64
Btrfs filesystems do not support a non-standard 64k page size on arm64
when the filesystem was created by a 4k page size system.

Use the default page size for arm64 to ensure compatibility with
btrfs filesystems created by amd64 systems.
2021-07-28 13:28:45 +02:00
Kai Lüke
c01560ba63 coreos-base/coreos-init: support btrfs on the OEM partition
This pulls in
https://github.com/kinvolk/init/pull/42
2021-07-28 13:28:28 +02:00
Kai Lüke
42b4f612ca sys-kernel/bootengine: support btrfs /usr filesystems
Pulls in https://github.com/kinvolk/bootengine/pull/25
2021-07-28 13:28:10 +02:00
Jeremi Piotrowski
cfbc81ee59
Merge pull request #136 from kinvolk/jepio/boostrap-use-stage1-properly
bootstrap_sdk: override seed path after building stage1
2021-07-28 12:15:34 +02:00
Kai Lüke
1240faa3ea Merge pull request #1136 from kinvolk/kai/vmlinuz-compression
sys-kernel/coreos-modules: switch to gzip/zstd compression
2021-07-28 11:29:43 +02:00
Kai Lüke
29f2903c87 sys-kernel/coreos-modules: switch to gzip/zstd compression
With the default gzip compression the 60 MB limit for the vmlinuz
bundle of kernel+initramfs was reached. The limit comes from the size
of the /boot partition which is 128 MB large and the kernel needs to
fit twice, in addition to GRUB.

Use zstd for the initramfs as it provides a similar speed but better
compression. For the kernel we can't switch yet to zstd for arm64
but for amd64 it works.
2021-07-27 14:48:26 +02:00
Kai Lüke
e4f811dd0d disk_layout: optimize btrfs filesystem overhead
The defaults already give more space than the ext4 defaults but it's
recommended to use the mixed mode for filesystems smaller than 1-5 GB.
Another aspect is the duplication of metadata and while it currently is
off it's actually related to the underlying block device and could
change as soon as the block device type changes.

Select the mixed mode that uses a merged area for data and metadata
blocks. Also ensure that no metadata duplication gets enabled
automatically.
2021-07-27 14:23:47 +02:00
Kai Lüke
bc97e15c3c disk_layout: use btrfs for the OEM partition
The compression feature of btrfs allows us to store more in the
size-limited /usr and OEM partitions. The size should of course still
be monitored to not bloat the image but more headroom helps to try
things out quickly without hitting the hard limit which fails the
build.
Use btrfs for the OEM partition but with zlib compression because
the outdated GRUB version doesn't support zstd yet.
New subvolumes currently can't be used for the OEM partition as default
subvolumes because GRUB tries to read the grub.cfg from the top
subvolume (at least with our old version). (We could however use
subvolumes for the /usr partition when switching to btrfs if that
makes any sense.)
2021-07-27 14:08:42 +02:00
Kai Lüke
d0cf1a4d19 disk_util: support compressed btrfs filesystems
The limited /usr and OEM partiton size is a challenge when adding new
packages or updating a package. Since the disk layout can't be changed
for compatibility reasons when updating an existing instance, we can't
simply try out something without ensuring first that enough space is
there by removing something else. This situation can be relaxed by
leveraging btrfs compression. There was some support for btrfs but it
was a bit outdated and didn't allow to configure compression or setting
read-only flags.
Fix the btrfs support, allow to mark the default subvolume as read only
and add a compression variable that allows to select a compression
algorithm. Instead of enabling compression by setting the mount option,
we can set the filesystem attribute which has the benefit that
compression is still used with the default mount options for this (top)
directory and its contents. While for the ext2 /usr partition a hack
existed to force read-only mode by modifying some bytes and checking
these bytes could also be used to know if read-only should be used to
prevent corruption of dm-verity data, we rather check directly whether
dm-verity is active for this partition and mount it read-only (and
with the norecovery option to really prevent any write attempt).
2021-07-27 14:08:42 +02:00
Kai Lüke
29fbd62339
Merge pull request #135 from kinvolk/kai/test-update
jenkins/kola/qemu(_uefi): run update test from previous release
2021-07-27 12:50:29 +02:00
Kai Lüke
e96c1c5e6d jenkins/kola/qemu(_uefi): run update test from previous release
The newly enabled update test performs an update from the built image
to itself. This is useful to test that the update mechanism didn't
break but it doesn't say if the built image will be accepted as update
from the previous official release.

Introduce an additional kola run that begins from the previous official
release and tests to update to the built image. Since the test does two
updates it also covers the case of updating from the built image to the
built image. Thus, we can skip the test in the normal run.
This new kola run is done first to keep the qemu-latest symlink valid
for the main test suite.
2021-07-27 11:51:58 +02:00
Jeremi Piotrowski
e2c10a9fe8 bootstrap_sdk: override seed path after building stage1
When performing a full bootstrap (stage1-4), the stage1 results are currently
discarded because of the logic in catalyst_build: the first build stage uses
the "seed" and every following stage uses the previous stages results *but*
stage1 is built before catalyst_build. So from the point of view of
catalyst_build, stage2 is the first one and uses the seed tarball.

To make sure stage1 results are used if it was built, set the SEED variable to
the latest stage1 location.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2021-07-26 16:29:13 +00:00
Kai Lüke
1b70f59cd0 jenkins/kola: share a single qemu script file 2021-07-26 15:01:24 +02:00
Jeremi Piotrowski
8e44a167d5
Merge pull request #133 from kinvolk/jepio/fix-arm64-devcontainer
disk_layout: devcontainer: use architecture agnostic part uuid
2021-07-22 22:10:29 +02:00
Dongsu Park
08ea76673f .github: list only ebuilds with a unique VERSION_OLD
Due to unnecessary wildcard listings, ebuild files including all rc or
beta are being listed. Since `VERSION_OLD` is already generated as a
unique version, we do not need to list multiple files to filter by
running `head -n1` etc. We just need to use only the specific ebuild.
Simply list only the unique ebuild file.
2021-07-22 15:31:20 +02:00
Dongsu Park
e2cd417df5 .github: make correct input for runc versions
Before passing runc versions to `sed '/-/!{s/$/_/}'`, we need to replace
`_` with `-`, because runc tarball files already have names like
`1.0.0_rc2`. Without the fix, version sort would `1.0.0` come before
`1.0.0_rc2`, which is not expected in the later steps.
2021-07-22 12:41:45 +02:00