2570 Commits

Author SHA1 Message Date
Nick Venenga
fbd5c2c751
Update generic-x86-64 Linux kernel to 6.12 (#3767)
* Linux: Update kernel to 6.12.6

* Linux 6.12

* https://github.com/home-assistant/operating-system/pull/3767#discussion_r1899169881

* https://github.com/home-assistant/operating-system/pull/3767#discussion_r1899170543

* Add patch descriptions, kernel ver conditionals

Signed-off-by: Nick Venenga <nick@venenga.com>

* Remove extra zram compression algos

* Undo fragment files config change

...for platforms that didn't receive kernel updates

* Sort Dockerfile apt packages

* Add Upstream refs to patches

* Re-enable TC

* Restore v6.6.y kernel fragments

* Update buildroot to rebased branch

* Apply 6.12 migration only to generic-x86-64

* package/eq3_char_loop: port patch from RaspberryMatic by @jens-maus

* package/generic_raw_uart: port patch from RaspberryMatic by @jens-maus

* Restore buildroot-external/board/pc/patches/linux

It's used in ova and generic-aarch64 defconfigs. Keep the path removed from
generic-x86-64 defconfig.

* Split linux patches to be version-specific

The IPv6 reachability patch needs different context on 6.6.y and 6.12.y -
introduce version-specific linux directories. To avoid the need for extra
directory for version used in RPi, copy those patches to its patches directory.

* Replace removed Intel Skylake audio driver with Intel AVS

The Skylake driver was removed and should be now replaced either by Intel HD
Audio or Intel AVS. Remove the old options and enable AVS.

SND_SOC_INTEL_SKYLAKE=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:63)
SND_SOC_INTEL_SKL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:64)
SND_SOC_INTEL_APL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:65)
SND_SOC_INTEL_KBL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:66)
SND_SOC_INTEL_GLK=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:67)
SND_SOC_INTEL_CNL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:68)
SND_SOC_INTEL_CFL=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:69)
SND_SOC_INTEL_CML_H=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:70)
SND_SOC_INTEL_CML_LP=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:71)
SND_SOC_INTEL_SKYLAKE_FAMILY=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:72)
SND_SOC_INTEL_SKYLAKE_HDAUDIO_CODEC=y not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:73)
SND_SOC_INTEL_SKYLAKE_COMMON=m not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:74)
-> a882f4d750

SND_SOC_INTEL_SST=m requested, actual = n (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:58)
-> 970d299b0a

* Remove I2C_COMPAT option

I2C_COMPAT=y not found (defined in /build/buildroot-external/board/pc/generic-x86-64/kernel.config:163)
-> 7e722083fc

* Correctly disable module compression after Kconfig change

The Kconfig structure was changed, there's now a top-level bool:
c7ff693fa2

---------

Signed-off-by: Nick Venenga <nick@venenga.com>
Co-authored-by: Jan Čermák <sairon@sairon.cz>
2025-01-28 14:57:07 +01:00
Jan Čermák
4919e4e26c
Use Python 3.13 for the build and artifacts index jobs (#3840) 2025-01-28 13:51:18 +01:00
Michal Šimek
7eccef8a18
Change Cadence i2c and Zynq GPIO from modules to built-in drivers (#3821)
On Kria KD240 slg7xl45106 device is handling reset for USB hub which is
providing access to SD card (USB/SD converter). Access to this device is
done via i2c which needs to be also enabled in the kernel as built-in
driver not as module when rootfs is mounted.

Also change ZYNQ_GPIO to be built-in driver because i2c is using gpio for
bus recovery that's why it should be also enabled to probe i2c driver
properly.

v6.6 kernel doesn't have support for usb5744 driver that's why disable it
but add TODO to enable it once v6.12 upgrade is done.
2025-01-28 13:05:02 +01:00
dependabot[bot]
c6218aafd8
Bump docker/build-push-action from 6.12.0 to 6.13.0 (#3836)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.12.0 to 6.13.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.12.0...v6.13.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-27 16:26:40 +01:00
dependabot[bot]
f51d6b0490
Bump actions/stale from 9.0.0 to 9.1.0 (#3835) 2025-01-27 15:21:53 +01:00
Jan Čermák
4fb83d5480
Merge branch 'main' into dev 2025-01-27 13:47:53 +01:00
Jan Čermák
da08a45d9f
Bump OS to release version 14.2 14.2 2025-01-27 09:29:31 +01:00
Jan Čermák
6f51b80db5
Bump OS to pre-release version 14.2.rc2 14.2.rc2 2025-01-21 22:44:51 +01:00
Jan Čermák
478f652e8c
Fix linux-pam trying to include disabled pam_lastlog.so on login (#3815)
Build of pam_lastlog.so was disabled by updating to v1.5.3 [1] yet the line
wasn't removed from the login modules. In upstream this was resolved by adding
a config option for turning the lastlog module and dynamic disabling of the
line including it. These changes neither a fix removing the config line were
not applied to 2024.02, so cherry-pick them here to fix the issue.

* buildroot ff563b383d...3784884466 (2):
  > package/linux-pam: adjust login pam file for lastlog
  > package/linux-pam: add menuconfig option to build pam_lastlog.so

Fixes #3789

[1] https://github.com/linux-pam/linux-pam/releases/tag/v1.5.3

(cherry picked from commit af7b36e1007981ccd04c75d60ee24e487d836a04)
2025-01-21 22:44:28 +01:00
Jan Čermák
8db3b9f848
Linux: Update kernel to 6.6.73 (#3813)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.72
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.73

(cherry picked from commit 235d7e0a4d8d7800f7c000d6e2a91fcd30254b9b)
2025-01-21 22:43:34 +01:00
Michal Šimek
5a502ca44c
Enable USB-SD convertor on AMD/Xilinx Kria KD240 platform (#3812)
* Enable USB-SD convertor on AMD/Xilinx Kria KD240 platform

Kria KD240 board is using SD card but SD is connected via onboard USB HUB.
USB controller is DWC3 with Xilinx glue logic. Both of these options are
enabled but board is using slg7xl45106 for driving usb-hub reset (PCA9570
driver) and USB3.0 requires initialization via PHY_XILINX_ZYNQMP driver.

All options should be enabled (=y) and can't be kernel modules because
provide access to rootfs.

* Add a note for config symbol change in 6.12

Changed in mainline commit 31e7f6c015d9eb35e77ae9868801c53ab0ff19ac

---------

Co-authored-by: Jan Čermák <sairon@users.noreply.github.com>
(cherry picked from commit 64ee53579b32fae80f02d15b88d1ef4016abc2c0)
2025-01-21 22:43:24 +01:00
Jan Čermák
a9efc21cb5
Bump Buildroot to 2024.02.10 (#3811)
* buildroot 00e8f09356...ff563b383d (1):
  > Merge tag '2024.02.10' into 2024.02.x-haos

(cherry picked from commit a7cdebf03217c7d6b44ff64ab2aa93a7a7fc0237)
2025-01-21 22:43:21 +01:00
dependabot[bot]
ed4463ed97
Bump docker/build-push-action from 6.11.0 to 6.12.0 (#3809)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
(cherry picked from commit a9af9c8d351ccb2281d41023b0420491d96d69b8)
2025-01-21 22:43:17 +01:00
Jan Čermák
8233cb94cd
Fix kernel tainted test (#3818)
I have only tested that it fails for unreleased 6.6.72 kernel but haven't
tested the happy path and missed that it also failed because the types were
different. Stupid me.
2025-01-21 22:41:53 +01:00
Jan Čermák
48bf9b5056
Move rauc.db to boot partition (#3810)
* Move rauc.db to boot partition

The RAUC metadata file contains information that is tightly related to the
system and kernel partitions. With the possibility to migrate data disk, the
rauc.db can contain bogus information when moved to a different system. Removal
of the file on "device wipe" is also not desirable, because the information
about slot status is lost.

Relocate the rauc.db to the boot partition after a system upgrade (as this
can't be handled by RAUC hooks, because it needs to be executed after all slots
and metadata is written) and adjust the script for recreating it. The downside
is that its content in /mnt/data would be recreated if the boot slot is changed
or system downgraded but this should be handled quite gracefully.

Also remove the raucdb-first-boot service which is no longer necessary
with the file not present in the data partition.

* Fix shellcheck and mount path
2025-01-21 18:40:07 +01:00
Jan Čermák
af7b36e100
Fix linux-pam trying to include disabled pam_lastlog.so on login (#3815)
Build of pam_lastlog.so was disabled by updating to v1.5.3 [1] yet the line
wasn't removed from the login modules. In upstream this was resolved by adding
a config option for turning the lastlog module and dynamic disabling of the
line including it. These changes neither a fix removing the config line were
not applied to 2024.02, so cherry-pick them here to fix the issue.

* buildroot ff563b383d...3784884466 (2):
  > package/linux-pam: adjust login pam file for lastlog
  > package/linux-pam: add menuconfig option to build pam_lastlog.so

Fixes #3789

[1] https://github.com/linux-pam/linux-pam/releases/tag/v1.5.3
2025-01-21 18:39:58 +01:00
Jan Čermák
235d7e0a4d
Linux: Update kernel to 6.6.73 (#3813)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.72
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.73
2025-01-21 16:56:05 +01:00
Jan Čermák
ca02ed000b
Add check for tainted kernel to automatic tests (#3814)
Add test that the kernel isn't tainted at the end of the basic and supervisor
test suites, allowing us to catch e.g. kernel warnings that may left unnoticed
if dmesg isn't checked. There is no other source of tainting, so the value
should be always zero.
2025-01-21 16:55:49 +01:00
Michal Šimek
64ee53579b
Enable USB-SD convertor on AMD/Xilinx Kria KD240 platform (#3812)
* Enable USB-SD convertor on AMD/Xilinx Kria KD240 platform

Kria KD240 board is using SD card but SD is connected via onboard USB HUB.
USB controller is DWC3 with Xilinx glue logic. Both of these options are
enabled but board is using slg7xl45106 for driving usb-hub reset (PCA9570
driver) and USB3.0 requires initialization via PHY_XILINX_ZYNQMP driver.

All options should be enabled (=y) and can't be kernel modules because
provide access to rootfs.

* Add a note for config symbol change in 6.12

Changed in mainline commit 31e7f6c015d9eb35e77ae9868801c53ab0ff19ac

---------

Co-authored-by: Jan Čermák <sairon@users.noreply.github.com>
2025-01-21 13:01:12 +01:00
Jan Čermák
a7cdebf032
Bump Buildroot to 2024.02.10 (#3811)
* buildroot 00e8f09356...ff563b383d (1):
  > Merge tag '2024.02.10' into 2024.02.x-haos
2025-01-21 12:42:20 +01:00
dependabot[bot]
a9af9c8d35
Bump docker/build-push-action from 6.11.0 to 6.12.0 (#3809)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 14:50:05 +01:00
Jan Čermák
219d7ec530
Fix artifacts index job by downgrading awscli (#3805)
Similarly to #3803, artifact index update fails because the R2 doesn't
like the new awscli. The regression apparently comes from 1.37.0 as
well, so pin to version older than that.
2025-01-17 15:50:21 +01:00
Jan Čermák
267679b192
Bump OS to development version 15.0.dev0 2025-01-17 13:12:50 +01:00
Jan Čermák
07e1cedeb8
Pin awscli to older version to work around R2 issues (#3803)
CI job fails to upload build artifacts because R2 doesn't support
checksums [1]. This was added in awscli 1.37.0 [2], pin to a version
older than that to work around the issue before R2 supports it or
ignores the header.

[1] https://www.cloudflarestatus.com/incidents/t5nrjmpxc1cj
[2] https://github.com/aws/aws-cli/blob/develop/CHANGELOG.rst
2025-01-17 10:03:17 +01:00
Jan Čermák
beafcda863
Bump OS to pre-release version 14.2.rc1 14.2.rc1 2025-01-16 18:12:43 +01:00
Jan Čermák
6ef7a68a1d
Make usb_modeswitch include directory writable (#3800)
The /etc/usb_modeswitch.d is present and empty but it can't be written to allow
user modification. Bind-mount it like other /etc folders to make it possible to
adjust usb_modeswitch config.

Fixes #3785
2025-01-16 18:11:35 +01:00
Jan Čermák
d9fb660152
Enable ES1371 sound card module for VMWare guests (#3799)
VMWare has option to emulate ES1371 soundcard which supposedly works better
than the default hdaudio. Enable its driver for the OVA image.

Fixes #3778
2025-01-16 18:11:03 +01:00
Michal Šimek
b8b1e255b1
Enable AMD 1-wire AXI IP and Zynq GPIO drivers (#3795)
Zynq GPIO driver is used on AMD/Xilinx Kria platform for ETH phy reset.
Macb and PHY drivers are already enabled.
1 wire IP can be used for reading sensors via PMOD connector.
2025-01-15 18:44:45 +01:00
Jan Čermák
4baca32658
Disable CQE on mmc0 to fix I/O freezes on CM5 (#3793)
Similarly to #3705, enabled CQE triggers I/O freezes usually on the first boot
when the swapfile is being created. While we disabled it for Yellow, with #3782
the issue started to appear on generic CM5 targets with the rpi5-64 image.

In the meantime it was discovered that there seems to be some relation with the
ext4lazyinit task, which happens as a result of data partition resize, yet it's
still unclear if the pattern of the access triggered by the concurrent FS
initialization is somehow responsible, or if another factor comes in play.
Disabling CQE yet makes the issue go away and serves as an acceptable
workaround.
2025-01-15 18:00:56 +01:00
Jan Čermák
f3d83d2650
Linux: Update kernel to 6.6.71 (#3792)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.70
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.71
2025-01-15 17:51:24 +01:00
M. Greyson Christoforo
16eb245f43
Add Mellanox ConnectX-3 NIC support (#3775)
Enable MLX4 kernel options, mainly for OVA and x86.

Co-authored-by: Jan Čermák <sairon@sairon.cz>
2025-01-15 10:31:10 +01:00
Gunjan Gupta
cd04812e9e
Allow boot from USB and NVMe on Khadas VIM3 (#3784)
Use devtype instead of hardcoding device type to mmc in U-Boot script.

Signed-off-by: Gunjan Gupta <gunjan@wesion.com>
2025-01-15 09:59:11 +01:00
dependabot[bot]
c0bf2751c4
Bump docker/build-push-action from 6.10.0 to 6.11.0 (#3791)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-13 14:35:42 +01:00
Jan Čermák
c7e21c0cf2
Add all BCM2712 device trees to RPi 5 image (#3782)
RPi 5 images container only device tree for Pi 5 Model B. Add the other
remaining BCM2712 device trees to enable running on CM5 and other variants
supported upstream.

Fixes #3766
2025-01-09 23:14:00 +01:00
Jan Čermák
f778edfac3
Change RPi bootargs order to keep cgroup memory controller enabled (#3772)
With "cgroup: Use kernel command line to disable memory cgroup" merged to RPi
kernel as 86099de [1], the device tree now contains "cgroup_disable=memory"
parameter. The parameters are parsed in the order defined in the cmdline and
with the previous order, the memory CG ends up disabled. Switching the order
fixes that and makes the order similar to what we get with standard bootloader
and parameters in cmdline.txt only.

The possible downside is that it won't be possible to override parameters from
hardcoded bootargs_hassos using cmdline.txt anymore, however, it's unlikely any
of these parameters will need to be adjusted by users.

Fixes #3765

[1] 86099deff5
2025-01-08 10:58:33 +01:00
Jan Čermák
a842fffa5b
Linux: Update kernel to 6.6.69 (#3773)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.67
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.68
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.69
2025-01-08 10:58:20 +01:00
Jan Čermák
29c8cf8440
Remove Z3FOLD option from Tinker kernel config (#3755)
The z3fold allocator was deprecated with the reasoning explained in [1] and
this patch was backported to stable 6.6.y as well. We enable zsmalloc in shared
hassos.config and the enabled option in the Tinker config was probably just
some remnant from the past.

[1] https://lore.kernel.org/linux-mm/20240904233343.933462-1-yosryahmed@google.com/
2024-12-19 13:59:52 +01:00
Jan Čermák
b02eee1af5
Remove unapplied BRCM_TRACING option from Rockchip kernel config (#3754)
The Rockchip config contained BRCM_TRACING option which had no effect without
TRACING enabled. The option now depends on that option since [1], resulting in
warning in our config checker.

[1] https://lore.kernel.org/lkml/81a29b15eaacc1ac1fb421bdace9ac0c3385f40f.1727179742.git.geert@linux-m68k.org/
2024-12-19 13:59:40 +01:00
Jan Čermák
52774c451c
Merge branch 'main' into dev 2024-12-19 11:43:30 +01:00
Jan Čermák
07159c8225
Bump OS to release version 14.1 14.1 2024-12-19 08:09:46 +01:00
Jan Čermák
2c2f88b270
Bump OS to development version 14.2.dev0 2024-12-17 10:43:02 +01:00
Jan Čermák
baa3f7871b
Bump OS to pre-release version 14.1.rc1 14.1.rc1 2024-12-17 09:26:31 +01:00
Jan Čermák
48edf7a114
Bump Buildroot to 2024.02.9 (#3745)
* buildroot b2077df873...00e8f09356 (1):
  > Merge tag '2024.02.9' into 2024.02.x-haos
2024-12-16 16:53:52 +01:00
Jan Čermák
79a90f81ff
Linux: Update kernel to 6.6.66 (#3744)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.66
2024-12-16 16:47:04 +01:00
dependabot[bot]
bb280e796f
Bump docker/setup-buildx-action from 3.7.1 to 3.8.0 (#3746)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.7.1 to 3.8.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.7.1...v3.8.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-16 15:53:52 +01:00
Jan Čermák
765f4daaa2
Enable TCPMSS target iptables module for all boards (#3739)
The TCPMSS target module for iptables was enabled in some kernel defconfigs but
not for all targets. It is used e.g. in default config of @bigmoby's WireGuard
Client add-on. Enable it globally in the HAOS kernel config to make sure it's
always present.

Fixes #3730
2024-12-12 20:44:30 +01:00
Jan Čermák
c7a9a0b906
Remove existing rauc.db from a data disk on the first boot (#3737)
If data disk is adopted on Yellow using the mechanism added in #3686, it
contains RAUC version information that is very likely invalid. In such case,
remove the file on first boot and have it recreated by the raucdb-update
service.
2024-12-12 20:44:15 +01:00
Jan Čermák
3b0b0312f6
Add Hailo PCIe driver and firmware for x86-64, aarch64 and OVA (#3736)
Hailo modules are usable also in other generic targets, so enable them also on
generic x86 and ARM targets. Runtime tested only on x86-64 (Beelink with Intel
N100).
2024-12-12 20:44:02 +01:00
Jan Čermák
d06aa63e3f
Add Hailo PCIe driver and firmware for Yellow (#3734)
The PCIe card from the RPi AI Kit (and probably other M.2 cards using the
Hailo-8 chip) can be used on Yellow - the driver initializes correctly and
creates a /dev/hailo0 device on Yellow both with CM4 and CM5.
2024-12-12 20:43:38 +01:00
Jan Čermák
70318701ea
Linux: Update kernel to 6.6.65 (#3733)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.65
2024-12-11 19:05:25 +01:00