1
0
mirror of https://github.com/home-assistant/operating-system.git synced 2025-12-19 18:08:29 +00:00
Commit Graph

2792 Commits

Author SHA1 Message Date
Jens Maus
15e59ead2f Update generic_raw_uart and eq3_char_loop to latest versions (#3964)
Update generic_raw_uart package to the latest sources available coming with
direct kernel 6.12.x compatibility dropping the intermediate patches
accordingly. In addition, the eq3_char_loop patchset was updated to reflect the
same changes performed.
2025-03-23 10:59:02 +01:00
Jan Čermák
05830dae0b Change i915 to module for proper initialization in VM passthrough (#3959)
When Intel GPUs are used in passthrough, the i915 is probed too early and fails
to load firmware which is in the rootfs mounted later. The CONFIG_DRM_I915=y
comes from x86_64_defconfig, by changing it to module (like we do for
generic-x86-64), the driver becomes only available after the rootfs is mounted
and firmware is loaded correctly.

Fixes #3949
2025-03-20 17:33:17 +01:00
Jan Čermák
0abfee2eaf Enable amdgpu SI and CIK support for x86 (#3957)
It seems that kernel 6.12 handles device probing less gracefully when these
options are not enabled and causes crash on some AMD SoCs, e.g.:

*ERROR* Invalid callback to read register 0x58184

Link: https://gitlab.freedesktop.org/drm/amd/-/issues/4050

Refs #3944
2025-03-20 17:32:24 +01:00
Jan Čermák
ce961e0c2c Add patches missing for ODROID-N2/C2/C4 to fix missing serial/I2C (#3947)
U-Boot update in #3878 changed the layout of patch folders for Hardkernel
targets with the goal to make it less confusing. However, it missed adding the
top-level hardkernel patches directory to all hardkernel targets and only
remove it from some of them in [1].

Revert to state before #3878 by adding the hardkernel folder to c2/c4/n2. In
the future, the patches from this folder should be split per target and if any
patches remain in it, they should be applied for all hardkernel boards.

[1] 2716b564c2

Fixes #3936
2025-03-18 18:00:04 +01:00
Jan Čermák
fd2c16d568 Move ODROID-N2/C2/C4 U-Boot patch to correct folder to fix eMMC issues (#3946)
As pointed out by @ginkage, in #3878 the eMMC patch was moved to a wrong path.
Move it to uboot subfolder so it's correctly applied.

Fixes #3942
2025-03-18 14:21:49 +01:00
dependabot[bot]
6d77c03e98 Bump docker/login-action from 3.3.0 to 3.4.0 (#3934)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.3.0...v3.4.0)

---
updated-dependencies:
- dependency-name: docker/login-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-03-17 15:12:30 +01:00
Jan Čermák
1e69fb2c25 Merge branch 'main' into dev 2025-03-17 11:27:03 +01:00
Jan Čermák
a3b0232351 Add landing page test to the basic test set (#3928)
We check that landing page is working when the network is down but we don't
check it in the happy path. Add its test to make it more obvious when the
just landing page is broken.
2025-03-17 11:23:04 +01:00
Jan Čermák
d259bf8b6b Linux: Update kernel to 6.12.19 (#3929)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.19
2025-03-17 11:19:03 +01:00
Jan Čermák
248af90c9f Bump OS to release version 15.0 15.0 2025-03-17 11:10:39 +01:00
Jan Čermák
5741be48bd Bump OS to pre-release version 15.0.rc2 15.0.rc2 2025-03-13 10:16:33 +01:00
Jan Čermák
a4190754fe Ensure haos-wipe service can be called only once per boot (#3924)
In some cases, the wipe service may be called due to a race condition for the
second time during the boot, very likely failing because the filesystems are
already mounted. This can not be reproduced on OVA but can be fairly easy
triggered e.g. on RPi. As we want the service to be executed exactly only once,
we can do what's suggested in [1] and set the RemainAfterExit=yes. That should
ensure the unit is not ever started for the second time.

[1] https://www.github.com/systemd/systemd/issues/29367

(cherry picked from commit 24640c11ae)
2025-03-13 10:16:12 +01:00
Jan Čermák
24640c11ae Ensure haos-wipe service can be called only once per boot (#3924)
In some cases, the wipe service may be called due to a race condition for the
second time during the boot, very likely failing because the filesystems are
already mounted. This can not be reproduced on OVA but can be fairly easy
triggered e.g. on RPi. As we want the service to be executed exactly only once,
we can do what's suggested in [1] and set the RemainAfterExit=yes. That should
ensure the unit is not ever started for the second time.

[1] https://www.github.com/systemd/systemd/issues/29367
2025-03-12 20:07:26 +01:00
Jan Čermák
7e6e4119a7 Fix runtime device permissions update in runc v1.2.x (#3921)
Add missing patch and update for latest runc version to fix losing device
permissions when new devices are added in runtime.

* buildroot b079a02a9a...3914f8cad5 (2):
  > package/runc: add patch for extended default allowed devices in v1.2.4
  > package/runc: add missing patch to fix device permissions update

Fixes #3915

(cherry picked from commit 04debe2f53)
2025-03-12 11:31:35 +01:00
Jan Čermák
34a422401d Update Hailo PCIe driver and firmware to v4.20.1 (#3922)
Update to latest version of the driver and matching firmware. The most common
application for it - Frigate - currently has 4.19.0 in stable but 4.20.0 is
staged in dev. As it's easier to select OS version than a version of the
add-on, it makes sense to stay ahead in HAOS. This also means Frigate needs to
be updated to the matching version (as staying on an arbitrary older patch
revision doesn't make much sense either).

(cherry picked from commit 173a4388fe)
2025-03-12 11:31:30 +01:00
Jan Čermák
f723d93159 Linux: Update kernel to 6.12.18 (#3919)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.18

(cherry picked from commit 3fb9c161c0)
2025-03-12 11:31:27 +01:00
Jan Čermák
084d0acee4 Improve tests traceability, add test for Systemd dependency cycles (#3917)
* Add test checking journal logs for dependency cycles
* Run some test cases to get their output also when full init fails
* Remove high timeouts from the times when GHA couldn't use KVM
* Enable logging durations for future optimizations

(cherry picked from commit 4a1d2b75b9)
2025-03-12 11:31:24 +01:00
Jan Čermák
4ccc875520 Use shell script instead of OS Agent for device wipe (#3916)
Use simple shell script to perform device wipe instead of calling OS Agent to
do that through the UDisks2 API. While it might have been a good idea to use
high level interface for that back then, it turns out it causes more issues
than the benefits it could bring.

Main problem currently is that the OS Agent needs to read sysctl variables, but
those are only set after mounting the overlay partition. But at the same time,
the overlay partition can't be mounted if we want to wipe it - this creates a
dependency cycle through the haos-agent.service.

To get rid of the cycle and simplify things, use a shell script doing basically
the same what the OS Agent does. Since the wipe functionality only makes sense
to be implemented on HAOS targets (not on Supervised), there's little point of
having it in higher layer of abstraction that OS Agent provides.

It should be also checked if changes from #1291 are needed anymore, as the
driving factor for those have been probably the wipe feature in OS Agent too,
but at this point they seem to be harmless.

(cherry picked from commit 6c4f32a8c0)
2025-03-12 11:31:20 +01:00
Jan Čermák
25ca83287e Bump os-agent to v1.7.2 (#3914)
Update to latest version that fixes start order in haos-agent.service. Without
that, OS Agent reports incorrect swappiness after boot.

(cherry picked from commit 36d905720a)
2025-03-12 11:31:13 +01:00
Jan Čermák
6e8c390096 Update RPi firmware to fix boot with 2025-02-11 bootloader (#3913)
* buildroot 7d5c3b5e70...b079a02a9a (1):
  > package/rpi-firmware: bump to 1.20250305 with updated firmware binaries

Fixes #3911

(cherry picked from commit d4e11afd3c)
2025-03-12 11:31:10 +01:00
Jan Čermák
16e6599832 Add test that no AppArmor denied events are produced (#3912)
As discussed in #3885, now that fixed Supervisor is in stable, we can test that
no AppArmor denied events are logged during CI tests.

(cherry picked from commit 610ced0162)
2025-03-12 11:31:07 +01:00
dependabot[bot]
f7bfd161ad Bump docker/setup-buildx-action from 3.9.0 to 3.10.0 (#3910)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.9.0...v3.10.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>
(cherry picked from commit c72cf09cc3)
2025-03-12 11:31:02 +01:00
dependabot[bot]
33b92f53f9 Bump docker/build-push-action from 6.14.0 to 6.15.0 (#3909)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.14.0 to 6.15.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.14.0...v6.15.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>
(cherry picked from commit 668c84959a)
2025-03-12 11:30:55 +01:00
Jan Čermák
04debe2f53 Fix runtime device permissions update in runc v1.2.x (#3921)
Add missing patch and update for latest runc version to fix losing device
permissions when new devices are added in runtime.

* buildroot b079a02a9a...3914f8cad5 (2):
  > package/runc: add patch for extended default allowed devices in v1.2.4
  > package/runc: add missing patch to fix device permissions update

Fixes #3915
2025-03-11 15:24:08 +01:00
Jan Čermák
173a4388fe Update Hailo PCIe driver and firmware to v4.20.1 (#3922)
Update to latest version of the driver and matching firmware. The most common
application for it - Frigate - currently has 4.19.0 in stable but 4.20.0 is
staged in dev. As it's easier to select OS version than a version of the
add-on, it makes sense to stay ahead in HAOS. This also means Frigate needs to
be updated to the matching version (as staying on an arbitrary older patch
revision doesn't make much sense either).
2025-03-11 15:15:28 +01:00
Jan Čermák
3fb9c161c0 Linux: Update kernel to 6.12.18 (#3919)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.18
2025-03-11 15:12:54 +01:00
Jan Čermák
4a1d2b75b9 Improve tests traceability, add test for Systemd dependency cycles (#3917)
* Add test checking journal logs for dependency cycles
* Run some test cases to get their output also when full init fails
* Remove high timeouts from the times when GHA couldn't use KVM
* Enable logging durations for future optimizations
2025-03-06 18:23:34 +01:00
Jan Čermák
6c4f32a8c0 Use shell script instead of OS Agent for device wipe (#3916)
Use simple shell script to perform device wipe instead of calling OS Agent to
do that through the UDisks2 API. While it might have been a good idea to use
high level interface for that back then, it turns out it causes more issues
than the benefits it could bring.

Main problem currently is that the OS Agent needs to read sysctl variables, but
those are only set after mounting the overlay partition. But at the same time,
the overlay partition can't be mounted if we want to wipe it - this creates a
dependency cycle through the haos-agent.service.

To get rid of the cycle and simplify things, use a shell script doing basically
the same what the OS Agent does. Since the wipe functionality only makes sense
to be implemented on HAOS targets (not on Supervised), there's little point of
having it in higher layer of abstraction that OS Agent provides.

It should be also checked if changes from #1291 are needed anymore, as the
driving factor for those have been probably the wipe feature in OS Agent too,
but at this point they seem to be harmless.
2025-03-06 16:39:40 +01:00
Jan Čermák
36d905720a Bump os-agent to v1.7.2 (#3914)
Update to latest version that fixes start order in haos-agent.service. Without
that, OS Agent reports incorrect swappiness after boot.
2025-03-05 19:06:27 +01:00
Jan Čermák
d4e11afd3c Update RPi firmware to fix boot with 2025-02-11 bootloader (#3913)
* buildroot 7d5c3b5e70...b079a02a9a (1):
  > package/rpi-firmware: bump to 1.20250305 with updated firmware binaries

Fixes #3911
2025-03-05 19:04:23 +01:00
Jan Čermák
610ced0162 Add test that no AppArmor denied events are produced (#3912)
As discussed in #3885, now that fixed Supervisor is in stable, we can test that
no AppArmor denied events are logged during CI tests.
2025-03-05 19:04:15 +01:00
Jan Čermák
a39b8a9418 Bump OS to development version 15.1.dev0 2025-03-03 15:14:08 +01:00
dependabot[bot]
c72cf09cc3 Bump docker/setup-buildx-action from 3.9.0 to 3.10.0 (#3910)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.9.0 to 3.10.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.9.0...v3.10.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>
2025-03-03 15:12:43 +01:00
dependabot[bot]
668c84959a Bump docker/build-push-action from 6.14.0 to 6.15.0 (#3909)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.14.0 to 6.15.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.14.0...v6.15.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-03-03 15:12:14 +01:00
Jan Čermák
b2aa96c9bd Bump OS to pre-release version 15.0.rc1 15.0.rc1 2025-03-03 09:24:34 +01:00
Jan Čermák
a4cbf82a6f Bump os-agent to v1.7.1 (#3906)
Adds new DBus APIs for NTP servers and swap:
 - https://github.com/home-assistant/os-agent/pull/207
 - https://github.com/home-assistant/os-agent/pull/222
2025-02-28 15:07:31 +01:00
Jan Čermák
6b904abfcd Linux: Update kernel to 6.12.17 (#3905)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.17
2025-02-28 14:19:55 +01:00
Jan Čermák
e801d403e1 Bump BlueZ to v5.79 (#3903)
Cherry-pick bumps up to v5.79 and sync other changes and fixes with latest
upstream state.

* buildroot b4df362187...7d5c3b5e70 (10):
  > package/bluez5_utils: tidy up the init script
  > package/bluez5_utils: install datafiles with correct permissions
  > package/bluez5_utils: fix dbusconfdir
  > package/bluez5_utils{, -headers}: bump version to 5.79
  > package/bluez5_utils: enable asha/bass when building audio plugins
  > package/{bluez5_utils, bluez5_utils-headers}: bump to version 5.78
  > bluez5_utils: disable asha profile
  > package/{bluez5_utils, bluez5_utils-headers}: bump to version 5.77
  > package/bluez5_utils: disable datafiles
  > package/bluez5_utils: fix sixaxis build without tools
2025-02-26 23:07:14 +01:00
Jan Čermák
15be152345 Update Docker to v28.0.1 (#3902)
Update Docker to latest version and containerd to latest version from the 1.7
line. Runc updated to v1.2.5 with rebased patchset from the outstanding PR.

* buildroot 257ddc70ce...b4df362187 (4):
  > package/runc: bump version to v1.2.5
  > package/docker-cli: bump version to v28.0.1
  > package/docker-engine: bump version to v28.0.1
  > package/containerd: bump version to v1.7.25
2025-02-26 17:22:39 +01:00
Jan Čermák
40ef226872 Update linux-firmware to 20250211 (#3901)
Mainly the amdgpu updates cause an increase of generic-x86-64 image size by
~12MB but there's still enough of space in the rootfs after recent cleanup.

* buildroot c5a1cbcf73...257ddc70ce (9):
  > package/linux-firmware: bump Intel BZ firmware version to 92
  > package/linux-firmware: bump version to 20250211
  > package/linux-firmware: bump version to 20241210
  > package/linux-firmware: fix build failures to due RTL8723 file changes
  > package/linux-firmware: bump version to 20240909
  > package/linux-firmware: bump to version 20240709
  > package/linux-firmware: improve help text for Realtek 88xx Bluetooth firmware
  > package/linux-firmware: install all rtl88 Bluetooth binary blobs
  > package/linux-firmware: RTL_88XX_BT: install all firmware
2025-02-26 13:45:53 +01:00
Jan Čermák
b3ce7131af Disable linux-firmware zstd compression (#3898)
Disable downstream option for linux-firmware compression. With #3877 it's not
needed for x86 anymore and other boards don't need it. Eventually the higher
EROFS compression for firmwares and modules can be enabled for other targets as
well.
2025-02-25 15:16:58 +01:00
Jan Čermák
f5905569b0 Bump buildroot to 2024.02.11 (#3897)
* buildroot 92fab35fed...c5a1cbcf73 (1):
  > Merge tag '2024.02.11' into 2024.02.x-haos
2025-02-25 15:16:46 +01:00
pisanvs
bdcc2b90d5 Improve log clarity and fix typos (#3896) 2025-02-25 15:00:39 +01:00
Jan Čermák
714ca8a344 Drop kernel patch for fixed ODROID-M1/M1S kernel regression (#3895)
Patch added in #3843 is not necessary anymore, as the missing reset names have
been added to DTS includes of the 6.12.y branch as patch
6c9cd0a70ccea8a505471062a85de5626ad07cec (released in v6.12.14).
2025-02-24 17:13:45 +01:00
dependabot[bot]
f032cd571a Bump docker/build-push-action from 6.13.0 to 6.14.0 (#3894)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.13.0 to 6.14.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.13.0...v6.14.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-02-24 16:24:34 +01:00
Jan Čermák
ea40984603 Linux: Update kernel to 6.12.16 (#3892)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.15
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.12.16
2025-02-24 15:17:51 +01:00
Jan Čermák
56e3a377db Fix RAUC tryboot handler set-state idempotency, add more checks (#3891)
When RPi is booted in the tryboot state and the set-state operation is called
for the second time, the tryboot files don't exists anymore and the handler
exits with an error code, printing an error in the Supervisor logs. Fix
handling of this case and add few more checks to make the handler a bit more
robust/traceable.
2025-02-24 15:17:43 +01:00
Jan Čermák
8531e7b57d Remove all info pages in post-build script (#3888)
As we don't have the info utility in HAOS, it's worthless to preserve info
pages. While there are currently some files in /share/info (coming from GRUB2
tools install), /usr/share/info was added pre-emptively.
2025-02-20 17:50:38 +01:00
Jan Čermák
664ae4ebfc Remove unnecessary GRUB userspace tools and other files (#3887)
Because the OTA hooks interact with GRUB environment using grub-editenv, we
have BR2_TARGET_GRUB2_INSTALL_TOOLS enabled. However, that brings massive bloat
of files that are never used in HAOS, as it also installs many other binaries,
GRUB modules and translations.

As it's not possible to configure what gets installed in grub2 package, remove
the undesired files in the post-build function. This brings savings of ~8.5MB
of space in the root partition.
2025-02-20 17:50:21 +01:00
Jan Čermák
e158fbc834 Use auditd to process AppArmor/audit logs (#3885)
Use auditd so logs from AppArmor and other audit events are processed by that
instead of printed to the Systemd journal. This will reduce the log spam from
BPF usually present in host logs and still preserve the audit logs for
debugging.

The default configs seems to be sane for our purpose, rotating up to 5 files of
8MiB each. The difference is that /var/log/audit will be now on tmpfs but given
how AppArmor is used on typical HA setup, we don't need to preserve the logs
over reboots.
2025-02-20 17:45:23 +01:00