Commit Graph

8094 Commits

Author SHA1 Message Date
Jeremi Piotrowski
08b86ad7dd x11-drivers/nvidia-drivers: keep developer container image read-only
Since we no longer need to run emerge in the developer container, we can as
well just treat the developer container more like a container image and use an
ephemeral overlay.
2022-04-25 13:54:51 +02:00
Jeremi Piotrowski
d01ecae74c x11-drivers/nvidia-drivers: make service re-entrant
Currently the setup-nvidia script fails when re-executed. It should work in
cases when the driver is already built and just needs to be loaded, or when it
needs to be rebuilt for a new kernel (but driver version may not have changed).

To make this work, several changes where necessary:

* `./nvidia*.run -x -s` fails when already unpacked. Allow it so that we can
  rebuild
* there are several module dependencies for nvidia modules that are implicit,
  related to i2c/ipmi. Probe those explicitly.
* `[ -f /dev/nvidia* ]` fails because those are character devices, so need a
  `[ -c ...]` check.
* `nvidia-modprobe` previously always failed, because it doesn't actually know
  the location of the modules and can only call modprobe (modprobe looks into
  /lib/modules/). We now explicitly probe the important modules, at that point
  nvidia-modprobe just creates additional device nodes.
* `is_nvidia_installation_required` checks whether building and loading is needed.
  Factor out the loading check so that we can reload the module after an update.
2022-04-25 12:35:29 +02:00
Jeremi Piotrowski
67bf5476c3 x11-drivers/nvidia-drivers: use versioned developer container filenames
Currently the script will reuse a developer container that was downloaded once,
without ensuring that the same version is used as the running image. This works
on the first boot, but wouldn't be correct after an OS update.

To resolve this, add a version number to the downloaded filename, and check for
the versioned dev container file. When the file is missing we also cleanup all
other dev container files via glob remove.
2022-04-25 10:34:43 +02:00
Jeremi Piotrowski
a4ac14c66c x11-drivers/nvidia-drivers: use lbzip2 to speed up developer container decompression 2022-04-25 10:26:36 +02:00
Jeremi Piotrowski
d6ea20ddd6 x11-drivers/nvidia-drivers: allow user to override nvidia-metadata
...by providing /etc/flatcar/nvidia-metadata. Newer driver packages do not
support some older Nvidia cards. An example is the Tesla K80 cards in
Standard_NC6 VMs on Azure, which are only supported up to the 470.x driver
version. To allow users to continue using those, give them a way to override
the driver version through /etc/flatcar/nvidia-metadata. For example, this
entry could be used to pin a specific driver version:

NVIDIA_DRIVER_VERSION=470.103.01
2022-04-25 10:22:45 +02:00
Jeremi Piotrowski
85f7b86c00 x11-drivers/nvidia-drivers: build driver against /lib/modules
There are two ways to build the nvidia-driver - either against a full kernel
source tree in /usr/src/linux, or against a slim kernel-devel equivalent in
/lib/modules/*/build. The /lib/modules/*/build is provided by
sys-kernel/coreos-module, see `install_build_source`. The interesting thing is
that in absence of --kernel-source-path, nvidia-installer will autodetect which
to use and already builds against /lib/modules/*/build on Flatcar right now. By
passing --kernel-name, we make that choice explicit and this allows us to skip
the emerge steps of the build.

Since this runs in the developer container, there is also no point in trying to
execute systemctl or depmod, so pass the flags to disable usage of those.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2022-04-25 09:53:24 +02:00
Kai Lüke
b9f2da8566 Merge pull request #1820 from flatcar-linux/kai/sysext-oem-partition
coreos-base/coreos-init: add systemd-sysext.service for OEM mount
2022-04-25 13:12:45 +09:00
Kai Lueke
a2c5b52dec coreos-base/coreos-init: add systemd-sysext.service for OEM mount
This pulls in https://github.com/flatcar-linux/init/pull/69
to restore the OEM partition mount point after the /usr overlay is
done.
2022-04-25 13:10:51 +09:00
Jeremi Piotrowski
f45b654daf Merge pull request #1837 from flatcar-linux/jepio/portage-fix-patches
sys-apps/portage: refresh patches and ensure they are applied
2022-04-22 09:15:14 +02:00
Jeremi Piotrowski
bd05d92a27 sys-apps/portage: bump revision to allow package to be automatically updated 2022-04-22 09:14:25 +02:00
Jeremi Piotrowski
b6a68c8ee7 Merge pull request #1836 from flatcar-linux/linux-5.15.35-main
Upgrade Linux Kernel in main from 5.15.34 to 5.15.35
2022-04-21 17:20:52 +02:00
Jeremi Piotrowski
cea47bb606 sys-kernel/coreos-sources: drop vmbus patch that is included in 5.15.35
Patch z0007 has been released in 5.15.35 as this commit:

https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=linux-5.15.y&id=92a3499933c17b25b7c59658183bc7d23a581f5b
2022-04-21 13:37:15 +02:00
Kai Lüke
425837d4f0 Merge pull request #1827 from flatcar-linux/kai/drop-kola-from-sdk
Drop mantle and kola-data from the SDK
2022-04-21 17:20:55 +09:00
Kai Lueke
87a18b79b3 Drop mantle and kola-data from the SDK
With the new mantle container image referenced by the scripts repo we
don't need the mantle copy in the SDK anymore.
Drop the mantle package and the unused kola-data package.
2022-04-21 17:14:38 +09:00
Jeremi Piotrowski
ab6ac4d0fd sys-apps/portage: refresh patches and ensure they are applied
Found this while checking why I was still seeing lots of

  !!! Section 'gentoo' in repos.conf is missing location attribute

messages while building. Turns out that after the last sync of portage we
stopped applying patches from files/. This was caused by a local variable
definition of PATCHES that was overriding the global one.

This might be a sign to drop them or we can refresh them, as they do fix bugs
that have been hit in CoreOS in the past. I opted to refresh them, and inject
them into the local variable.
2022-04-21 10:07:19 +02:00
Flatcar Buildbot
e840dc7367 sys-kernel: Upgrade Kernel 5.15.34 to 5.15.35 2022-04-21 07:22:37 +00:00
Jeremi Piotrowski
b60542c997 coreos-base/coreos-init: add gve driver to existing gcp network link rules
Pulls in https://github.com/flatcar-linux/init/pull/67
2022-04-20 13:13:00 +02:00
Jeremi Piotrowski
c2ff0100ad sys-kernel/coreos-modules: enable GVE NIC support for GCP
If a GCP image is tagged with GVNIC support, GCP will replace the default
virtio nic with the more optimized GVE NIC. Enable building the kernel module
for that.

Signed-off-by: Jeremi Piotrowski <jpiotrowski@microsoft.com>
2022-04-20 13:13:00 +02:00
Jeremi Piotrowski
9951fc5781 Merge pull request #1813 from flatcar-linux/jepio/fix-gcp-oem
Fix GCP OEM functionality
2022-04-20 12:16:00 +02:00
Jeremi Piotrowski
5b34732d2c changelog: add entry for GCP OEM bugfix/upate 2022-04-20 12:14:38 +02:00
Dongsu Park
738af036e5 changelog: add changelog for Go 1.17.9 2022-04-14 17:08:58 +02:00
Dongsu Park
24b1c088c9 Merge pull request #1818 from flatcar-linux/go-1.16.15-and-1.17.9-and-1.18.1-main
Upgrade Go from 1.17.8 to 1.17.9
2022-04-14 17:06:26 +02:00
Dongsu Park
651164c839 Merge pull request #1816 from flatcar-linux/dongsu/libarchive-3.6.1
profiles: accept keywords ~arm64 for app-arch/libarchive 3.6.1
2022-04-14 17:01:10 +02:00
Krzesimir Nowak
4c115bcd25 Merge pull request #1821 from flatcar-linux/firmware-20220411-main
Upgrade Linux Firmware in main from 20220310 to 20220411
2022-04-14 12:56:14 +02:00
Krzesimir Nowak
5493bd6b23 Merge pull request #1825 from flatcar-linux/linux-5.15.34-main
Upgrade Linux Kernel in main from 5.15.33 to 5.15.34
2022-04-14 12:55:45 +02:00
Kai Lüke
6d623e5f14 Merge pull request #1817 from flatcar-linux/kai/afterburn-hostname
sys-kernel/bootengine: rework afterburn hostname setup
2022-04-14 17:50:44 +09:00
Kai Lueke
487d57c175 sys-kernel/bootengine: rework afterburn hostname setup
This pulls in https://github.com/flatcar-linux/bootengine/pull/43
to remove the afterburn /etc/hostname setup for EC2 and align the
afterburn /etc/hostname setup with upstream.
2022-04-14 17:30:44 +09:00
Flatcar Buildbot
65addced73 sys-kernel: Upgrade Kernel 5.15.33 to 5.15.34 2022-04-14 09:34:25 +02:00
Flatcar Buildbot
330277e486 sys-kernel: Upgrade Linux Firmware 20220310 to 20220411 2022-04-14 07:11:22 +00:00
Kai Lüke
b62996069f Merge pull request #1812 from flatcar-linux/kai/skip-ensure-sysext
coreos-base/coreos-init: skip ensure-sysext unit
2022-04-13 20:43:17 +09:00
Kai Lueke
aab279e546 sys-apps/systemd: add update checklist file for other repos
The "init" repo has a systemd unit with lines that should be kept in
sync with upstream. Normally changes are not expected but in case there
are some, it may be good to be aware.
2022-04-13 20:42:45 +09:00
Kai Lueke
b72f6270ae coreos-base/coreos-init: skip ensure-sysext unit
This pulls in https://github.com/flatcar-linux/init/pull/68 to skip
the ensure-sysext unit when systemd-sysext is skipped to prevent a
dependency failure being reported.

Closes: https://github.com/flatcar-linux/Flatcar/issues/710
2022-04-13 20:42:45 +09:00
Krzesimir Nowak
004eb51116 Merge pull request #1806 from flatcar-linux/linux-5.15.33-main
Upgrade Linux Kernel in main from 5.15.32 to 5.15.33
2022-04-13 13:14:04 +02:00
Flatcar Buildbot
1b0798a8cf dev-lang: Upgrade Go 1.17.8 to 1.17.9 2022-04-13 08:49:29 +00:00
Dongsu Park
3f9e8fe33d profiles: accept keywords ~arm64 for app-arch/libarchive 3.6.1
Accept keywords ~arm64 for app-arch/libarchive 3.6.1.
2022-04-13 10:24:47 +02:00
Jeremi Piotrowski
8127e67ec7 coreos-base/oem-gce: allow container to mess with /sys and /proc/irq
The container performs multi-queue optimizations for ssd and network devices
which requires touching /proc and /sys/ mounts which systemd-nspawn usually
mounts readonly. Allow the container to modify those by setting the appropriate
environment variable (found via https://systemd.io/ENVIRONMENT/).
2022-04-12 15:38:23 +02:00
Jeremi Piotrowski
2a3c23cd62 app-emulation/google-compute-engine: update to 20190124
and add missing dependencies on dev-python/distro and sys-apps/coreutils. We
need to bump the version to 20190124 because:

* 20180611 is not compatible with python 3.9 because of missing distro module and
  trying to access os.errno (instead of importing the errno module). Also why we
  need the dependency on dev-python/distro

* 20190124 is the last version before the repo was split and reorganized which
  would require more work to the ebuilds

The coreutils dependency is necessary because the scripts call basename/nproc/cat
but previously coreutils was pulled in by the following dependency chain:

(dependency required by "app-admin/eselect-1.4.16::portage-stable" [binary])
(dependency required by "app-eselect/eselect-python-20160516::portage-stable" [binary])
(dependency required by "dev-lang/python-2.7.15::portage-stable" [binary])
(dependency required by "dev-python/boto-2.48.0::portage-stable" [binary])
(dependency required by "app-emulation/google-compute-engine-20180611::coreos" [binary])
(dependency required by "coreos-base/coreos-oem-gce-0.0.1-r5::coreos" [binary])
(dependency required by "coreos-base/coreos-oem-gce" [argument])

This chain seems to not hold any longer and we should be explicit about
dependencies.
2022-04-12 15:34:32 +02:00
Jeremi Piotrowski
5a5e01afff profiles/.../oem-aci: allow python3 in oem-aci images
The oem-aci profile previously removed python3 from the produced oem
images by having an entry saying dev-lang/python-3.X is provided and
removing all python3 files. This only worked as long as python2 was
available and installed instead, but since python2 was removed from the
tree these entries in the profile resulted in oem-aci having no python
at all. This prevents the oem-gce service from working, since a lot of
what it does is python.

Remove the INSTALL_MASK and package.provided entries for python3 to
allow python3 into oem-aci images.
2022-04-12 15:32:57 +02:00
Flatcar Buildbot
cadfeeaa21 dev-lang: Upgrade dev-lang/rust 1.59.0 to 1.60.0 2022-04-11 08:32:12 +00:00
Flatcar Buildbot
d036d79ec9 sys-kernel: Upgrade Kernel 5.15.32 to 5.15.33 2022-04-09 07:22:27 +00:00
Mathieu Tortuyaux
8d414910a4 changelog: add entry
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2022-04-08 15:28:07 +02:00
Mathieu Tortuyaux
78aaf24880 sys-kernel/coreos-modules: build RAPL module
This enables support for the Intel Running Average Power Limit (RAPL)
technology via MSR interface, which allows power limits to be enforced
and monitored on modern Intel processors.

It can be useful for energy consumption monitoring tools.

src: https://github.com/torvalds/linux/blob/master/drivers/powercap/Kconfig

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2022-04-08 15:27:46 +02:00
Mathieu Tortuyaux
3dcf25a213 changelog: add entry
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2022-04-08 11:22:44 +02:00
Mathieu Tortuyaux
fc0098caf4 coreos-base/afterburn: apply flatcar changes
* partially revert cl-legacy feature (without update-ssh-keys dependency)
  to bring back `vagrant_virtualbox` provider and ec2, gce
  cmdline support
* backport kernel parameters patch
* backport systemd-networkd-wait-online patch
* add Alias= to services
* sed AFTERBURN -> COREOS, AWS -> EC2, GCP -> GCE
* use update-ssh-keys to generate .ssh/authorized_keys

Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2022-04-08 11:22:41 +02:00
Mathieu Tortuyaux
60441ac4ea coreos-base/afterburn: sync with the upstream
Signed-off-by: Mathieu Tortuyaux <mtortuyaux@microsoft.com>
2022-04-06 16:58:15 +02:00
Krzesimir Nowak
80a6408ba5 Merge pull request #1178 from flatcar-linux/krnowak/update-go
Update golang update job to update multiple golang versions
2022-04-06 16:21:47 +02:00
Flatcar Buildbot
5a78721f2c app-emulation: Upgrade Runc 1.1.0 to 1.1.1 2022-04-05 12:49:16 +02:00
Kai Lüke
fbcc7639e8 Merge pull request #1794 from flatcar-linux/kai/update-ssh-keys-after-ignition
coreos-base/coreos-init: run update-ssh-keys once after Ignition
2022-04-04 20:35:25 +02:00
Kai Lueke
5bc2d57025 coreos-base/coreos-init: run update-ssh-keys once after Ignition
This pulls in
https://github.com/flatcar-linux/init/pull/66
to fix the problem that Ignition keys would be lost as soon as
update-ssh-keys runs. This is done by placing Ignition's keys in as
files in the authorized_keys.d folder and calling update-ssh-keys after
Ignition ran.
2022-04-04 20:35:07 +02:00
Krzesimir Nowak
f0240c5530 Merge pull request #1799 from flatcar-linux/cacerts-3.77-main
Upgrade ca-certificates in main from 3.76 to 3.77
2022-04-04 17:56:08 +02:00