From b44551ccdb0dd0ceaffd2e484c86ce91b25fe841 Mon Sep 17 00:00:00 2001 From: Andrey Smirnov Date: Thu, 25 Jan 2024 22:00:21 +0400 Subject: [PATCH] feat: update Linux to 6.6.13 See https://github.com/siderolabs/pkgs/pull/873 Signed-off-by: Andrey Smirnov --- Makefile | 2 +- hack/modules-amd64.txt | 6 ++-- hack/modules-arm64.txt | 1 - hack/release.toml | 10 ++++-- .../controllers/runtime/kernel_module_spec.go | 32 ++++++++++------- internal/integration/api/extensions_qemu.go | 36 ++++++++++--------- pkg/machinery/constants/constants.go | 2 +- pkg/machinery/gendata/data/pkgs | 2 +- 8 files changed, 54 insertions(+), 37 deletions(-) diff --git a/Makefile b/Makefile index f659ef8bd2..716a3f32b3 100644 --- a/Makefile +++ b/Makefile @@ -17,7 +17,7 @@ CLOUD_IMAGES_EXTRA_ARGS ?= "" ARTIFACTS := _out TOOLS ?= ghcr.io/siderolabs/tools:v1.7.0-alpha.0-3-gc7076eb PKGS_PREFIX ?= ghcr.io/siderolabs -PKGS ?= v1.7.0-alpha.0-14-g2358efe +PKGS ?= v1.7.0-alpha.0-17-gefbbd23 PKG_KERNEL ?= $(PKGS_PREFIX)/kernel:$(PKGS) EXTRAS ?= v1.7.0-alpha.0 # renovate: datasource=github-tags depName=golang/go diff --git a/hack/modules-amd64.txt b/hack/modules-amd64.txt index a7a2464879..72d83b7f8e 100644 --- a/hack/modules-amd64.txt +++ b/hack/modules-amd64.txt @@ -15,8 +15,11 @@ kernel/drivers/ata/pata_oldpiix.ko kernel/drivers/ata/pata_sch.ko kernel/drivers/block/nbd.ko kernel/drivers/gpu/drm/amd/amdgpu/amdgpu.ko +kernel/drivers/gpu/drm/amd/amdxcp/amdxcp.ko kernel/drivers/gpu/drm/display/drm_display_helper.ko kernel/drivers/gpu/drm/drm_buddy.ko +kernel/drivers/gpu/drm/drm_exec.ko +kernel/drivers/gpu/drm/drm_suballoc_helper.ko kernel/drivers/gpu/drm/drm_ttm_helper.ko kernel/drivers/gpu/drm/i915/i915.ko kernel/drivers/gpu/drm/scheduler/gpu-sched.ko @@ -45,6 +48,7 @@ kernel/drivers/hwmon/i5500_temp.ko kernel/drivers/hwmon/i5k_amb.ko kernel/drivers/hwmon/k10temp.ko kernel/drivers/hwmon/k8temp.ko +kernel/drivers/i2c/algos/i2c-algo-bit.ko kernel/drivers/i2c/busses/i2c-i801.ko kernel/drivers/i2c/i2c-smbus.ko kernel/drivers/infiniband/hw/mlx4/mlx4_ib.ko @@ -86,7 +90,6 @@ kernel/drivers/net/ethernet/intel/ice/ice.ko kernel/drivers/net/ethernet/intel/igb/igb.ko kernel/drivers/net/ethernet/intel/igbvf/igbvf.ko kernel/drivers/net/ethernet/intel/igc/igc.ko -kernel/drivers/net/ethernet/intel/ixgb/ixgb.ko kernel/drivers/net/ethernet/intel/ixgbe/ixgbe.ko kernel/drivers/net/ethernet/intel/ixgbevf/ixgbevf.ko kernel/drivers/net/ethernet/marvell/sky2.ko @@ -125,7 +128,6 @@ kernel/drivers/usb/serial/pl2303.ko kernel/drivers/vfio/pci/vfio-pci-core.ko kernel/drivers/vfio/pci/vfio-pci.ko kernel/drivers/vfio/vfio_iommu_type1.ko -kernel/drivers/vfio/vfio_virqfd.ko kernel/drivers/vfio/vfio.ko kernel/drivers/virtio/virtio_balloon.ko kernel/drivers/virtio/virtio_input.ko diff --git a/hack/modules-arm64.txt b/hack/modules-arm64.txt index df822ba250..00fa95e778 100644 --- a/hack/modules-arm64.txt +++ b/hack/modules-arm64.txt @@ -36,7 +36,6 @@ kernel/drivers/net/ethernet/sfc/siena/sfc-siena.ko kernel/drivers/vfio/pci/vfio-pci-core.ko kernel/drivers/vfio/pci/vfio-pci.ko kernel/drivers/vfio/vfio_iommu_type1.ko -kernel/drivers/vfio/vfio_virqfd.ko kernel/drivers/vfio/vfio.ko kernel/lib/objagg.ko kernel/lib/parman.ko diff --git a/hack/release.toml b/hack/release.toml index 566f587af3..2dbf14073b 100644 --- a/hack/release.toml +++ b/hack/release.toml @@ -6,7 +6,7 @@ github_repo = "siderolabs/talos" match_deps = "^github.com/((talos-systems|siderolabs)/[a-zA-Z0-9-]+)$" # previous release -previous = "v1.6.0-beta.1" +previous = "v1.6.0" pre_release = true @@ -17,7 +17,7 @@ preface = """\ [notes.updates] title = "Component Updates" description = """\ -Linux: 6.1.73 +Linux: 6.6.13 etcd: 3.5.11 Kubernetes: 1.29.1 containerd: 1.7.12 @@ -31,6 +31,12 @@ Talos is built with Go 1.21.6. title = "Device Selectors" description = """\ Talos Linux now supports `physical: true` qualifier for device selectors, it selects non-virtual network interfaces (i.e. `en0` is selected, while `bond0` is not). +""" + + [notes.problems] + title = "Known Problems" + description = """\ +ZFS and DRBD extensions are disabled in this release due to incompatibility with the latest Linux kernel. """ [make_deps] diff --git a/internal/app/machined/pkg/controllers/runtime/kernel_module_spec.go b/internal/app/machined/pkg/controllers/runtime/kernel_module_spec.go index 908d4fb9a3..fd22e99398 100644 --- a/internal/app/machined/pkg/controllers/runtime/kernel_module_spec.go +++ b/internal/app/machined/pkg/controllers/runtime/kernel_module_spec.go @@ -6,11 +6,12 @@ package runtime import ( "context" + "errors" "fmt" "strings" "github.com/cosi-project/runtime/pkg/controller" - "github.com/cosi-project/runtime/pkg/resource" + "github.com/cosi-project/runtime/pkg/safe" "github.com/pmorjan/kmod" "go.uber.org/zap" @@ -61,22 +62,29 @@ func (ctrl *KernelModuleSpecController) Run(ctx context.Context, r controller.Ru case <-ctx.Done(): return nil case <-r.EventCh(): - modules, err := r.List(ctx, resource.NewMetadata(runtime.NamespaceName, runtime.KernelModuleSpecType, "", resource.VersionUndefined)) - if err != nil { - return err - } + } + + modules, err := safe.ReaderListAll[*runtime.KernelModuleSpec](ctx, r) + if err != nil { + return err + } - // note: this code doesn't support module unloading in any way for now - for _, res := range modules.Items { - module := res.(*runtime.KernelModuleSpec).TypedSpec() - parameters := strings.Join(module.Parameters, " ") + var multiErr error - if err = manager.Load(module.Name, parameters, 0); err != nil { - return fmt.Errorf("error loading module %q: %w", module.Name, err) - } + // note: this code doesn't support module unloading in any way for now + for iter := modules.Iterator(); iter.Next(); { + module := iter.Value().TypedSpec() + parameters := strings.Join(module.Parameters, " ") + + if err = manager.Load(module.Name, parameters, 0); err != nil { + multiErr = errors.Join(multiErr, fmt.Errorf("error loading module %q: %w", module.Name, err)) } } + if multiErr != nil { + return multiErr + } + r.ResetRestartBackoff() } } diff --git a/internal/integration/api/extensions_qemu.go b/internal/integration/api/extensions_qemu.go index b23ff810e8..9468f1b58d 100644 --- a/internal/integration/api/extensions_qemu.go +++ b/internal/integration/api/extensions_qemu.go @@ -101,32 +101,32 @@ func (suite *ExtensionsSuiteQEMU) TestExtensionsExpectedPaths() { func (suite *ExtensionsSuiteQEMU) TestExtensionsExpectedModules() { // expectedModulesModDep is a map of module name to module.dep name expectedModulesModDep := map[string]string{ - "asix": "asix.ko", - "ax88179_178a": "ax88179_178a.ko", - "ax88796b": "ax88796b.ko", - "binfmt_misc": "binfmt_misc.ko", - "btrfs": "btrfs.ko", - "cdc_ether": "cdc_ether.ko", - "cdc_mbim": "cdc_mbim.ko", - "cdc_ncm": "cdc_ncm.ko", - "cdc_subset": "cdc_subset.ko", - "cdc_wdm": "cdc-wdm.ko", - "cxgb": "cxgb.ko", - "cxgb3": "cxgb3.ko", - "cxgb4": "cxgb4.ko", - "cxgb4vf": "cxgb4vf.ko", - "drbd": "drbd.ko", + "asix": "asix.ko", + "ax88179_178a": "ax88179_178a.ko", + "ax88796b": "ax88796b.ko", + "binfmt_misc": "binfmt_misc.ko", + "btrfs": "btrfs.ko", + "cdc_ether": "cdc_ether.ko", + "cdc_mbim": "cdc_mbim.ko", + "cdc_ncm": "cdc_ncm.ko", + "cdc_subset": "cdc_subset.ko", + "cdc_wdm": "cdc-wdm.ko", + "cxgb": "cxgb.ko", + "cxgb3": "cxgb3.ko", + "cxgb4": "cxgb4.ko", + "cxgb4vf": "cxgb4vf.ko", + // "drbd": "drbd.ko", // disabled, see https://github.com/siderolabs/pkgs/pull/873 "gasket": "gasket.ko", "net1080": "net1080.ko", "option": "option.ko", "qmi_wwan": "qmi_wwan.ko", "r8153_ecm": "r8153_ecm.ko", "thunderbolt": "thunderbolt.ko", - "thunderbolt_net": "thunderbolt-net.ko", + "thunderbolt_net": "thunderbolt_net.ko", "usb_wwan": "usb_wwan.ko", "usbnet": "usbnet.ko", "zaurus": "zaurus.ko", - "zfs": "zfs.ko", + // "zfs": "zfs.ko", // disabled, see https://github.com/siderolabs/pkgs/pull/873 } node := suite.RandomDiscoveredNodeInternalIP(machine.TypeWorker) @@ -543,6 +543,8 @@ func (suite *ExtensionsSuiteQEMU) mdADMScan() string { // TestExtensionsZFS verifies zfs is working, udev rules work and the pool is mounted on reboot. func (suite *ExtensionsSuiteQEMU) TestExtensionsZFS() { + suite.T().Skip("skipping due to https://github.com/siderolabs/pkgs/pull/873") + node := suite.RandomDiscoveredNodeInternalIP(machine.TypeWorker) suite.AssertServicesRunning(suite.ctx, node, map[string]string{"ext-zpool-importer": "Finished"}) diff --git a/pkg/machinery/constants/constants.go b/pkg/machinery/constants/constants.go index 8a7b002fa9..82c0f250c5 100644 --- a/pkg/machinery/constants/constants.go +++ b/pkg/machinery/constants/constants.go @@ -16,7 +16,7 @@ import ( const ( // DefaultKernelVersion is the default Linux kernel version. - DefaultKernelVersion = "6.1.73-talos" + DefaultKernelVersion = "6.6.13-talos" // KernelModulesPath is the default path to the kernel modules without the kernel version. KernelModulesPath = "/lib/modules" diff --git a/pkg/machinery/gendata/data/pkgs b/pkg/machinery/gendata/data/pkgs index a599a0f6c4..fcb56fafc0 100644 --- a/pkg/machinery/gendata/data/pkgs +++ b/pkg/machinery/gendata/data/pkgs @@ -1 +1 @@ -v1.7.0-alpha.0-14-g2358efe \ No newline at end of file +v1.7.0-alpha.0-17-gefbbd23 \ No newline at end of file