2356 Commits

Author SHA1 Message Date
Stefan Agner
19ded665bd
Drop uploading to the old development build server (#2802)
With the new development build uploads on R2 working, we no longer need
to upload development builds to the old server. Drop the build step.
2023-10-10 13:51:33 +02:00
xtsrthm
fc3c313509
generic-x86-64: Fix typo in kernel.config (#2801) 2023-10-10 09:31:22 +02:00
Stefan Agner
5b927389b8
Revert "RAUC update: Use verity bundle format (#2786)" (#2799)
This reverts commit 0ebcdcb9dc8d2471bcacf0049e93f1ad0bf12a37.

We only added verity support in HAOS 10.4. However, we currently have
an issue since HAOS 10.3 where certain Realtek network cards don't work
anymore (see issue #2630). For this systems, it won't be possible to
upgrade, even when using the console.

Only having two HAOS releases creates a rather "narrow" upgrade path
accross all boards. There could be more issues where this proves
problematic.

Currently we don't use any new feature of the verity format. Therefor
let's postpone the move to the new format for a couple of releases
for now.
2023-10-10 09:15:39 +02:00
Stefan Agner
a42ae2f25b
Linux: Update kernel 6.1.56 (#2798) 2023-10-10 09:15:35 +02:00
xtsrthm
3e65e9a839
generic-x86-64: Add support for external i2c devices (#2800)
This commit adds support for usb to i2c adapters, the i2c chardev and the bme280  famaily environment sensors
2023-10-09 23:44:15 +02:00
Stefan Agner
ba23d68de7
Revert "RAUC update: Use verity bundle format (#2786)" (#2799)
This reverts commit 0ebcdcb9dc8d2471bcacf0049e93f1ad0bf12a37.

We only added verity support in HAOS 10.4. However, we currently have
an issue since HAOS 10.3 where certain Realtek network cards don't work
anymore (see issue #2630). For this systems, it won't be possible to
upgrade, even when using the console.

Only having two HAOS releases creates a rather "narrow" upgrade path
accross all boards. There could be more issues where this proves
problematic.

Currently we don't use any new feature of the verity format. Therefor
let's postpone the move to the new format for a couple of releases
for now.
2023-10-09 14:51:03 +02:00
Stefan Agner
b60fe22de8
Linux: Update kernel 6.1.56 (#2798) 2023-10-08 13:34:15 +02:00
Stefan Agner
f5d4379aed
Bump OS to version 11.1.dev0 2023-10-05 12:08:48 +02:00
Stefan Agner
0d3cb42e47
Bump OS to pre-release version 11.0.rc1 (#2792) 11.0.rc1 2023-10-05 12:05:23 +02:00
Stefan Agner
1bec4e858b
Set containerd root explicitly (#2476) (#2791)
With the move to Docker 23 containerd stores its metadata no longer
undernath the Docker data directory but at its default location at
/var/lib/containerd. Previously Docker passed a containerd configuration
toml file which explicitly set the metadata root underneath Docker's
data directory.

On Home Assistant OS, the new location /var/lib/containerd is on a tmpfs
file system. For unknown reasons, it seems that if containerd's root
directory is on a tmpfs this leads to significantly more syscalls and
hence CPU load.

Change the metadata location to be on the data partition again. Since
containerd is treated separately from Docker these days, use a new
root directory under /mnt/data for containerd as well. With this, the
CPU load of containerd is back to normal.
2023-10-05 11:24:43 +02:00
Dave T
8be78b1257
Improve grammar in README.md (#2790) 2023-10-05 08:26:23 +02:00
Stefan Agner
29ad504667
Remove unnecessary plug-ins from containerd (#2789)
* Bump buildroot

* buildroot a1bdf74b19...f125c3e292 (1):
  > package/containerd: add control for additional build tags

* Drop unnecessary containerd changes

Now that the snappshotter and the CRI plug-ins are disabled we don't
need to configure or disable them via configuration anymore. Drop the
unnecessary configs.
2023-10-04 18:19:27 +02:00
Stefan Agner
2cbaaf9f3b
Fix fsfreeze freeze support (#2787)
Pass the script argument properly to make sure the script gets actually
called from the QEMU guest agent.
2023-10-03 16:21:57 +02:00
Stefan Agner
0ebcdcb9dc
RAUC update: Use verity bundle format (#2786)
Move from the current plain format to the new verity bundle format. This
requires at least HAOS 10.4 to work. The Supervisor will make sure to
update to the latest minor release of the previous major release, so
updating will work in the regular use case.
2023-10-03 16:21:45 +02:00
Stefan Agner
893a49a3f3
Add fsfreeze support for QEMU/KVM/Proxmox installations (#2781)
* Add fsfreeze support for QEMU/KVM/Proxmox installations

Add fsfreeze scripts which calls the new Supervisor API to freeze Home
Assistant Core and add-ons which support the backup freeze scripts
(`backup_pre` and `backup_post`).

This allows to create safe snapshots with databases running.

* Fix lint issues
2023-10-02 08:30:20 +02:00
Joakim Sørensen
a72c6c0322
Add action job to upload artifacts to R2 (#2779) 2023-10-02 08:29:00 +02:00
Stefan Agner
56d96acd1b
Bump buildroot to 2023.02.5 (#2775)
* buildroot df5fccafd8...a1bdf74b19 (1):
  > Merge tag '2023.02.5' into 2023.02.x-haos
2023-09-28 00:01:56 +02:00
clayton craft
469b109efd
generic-x86-64: enable backlight support (#2772)
This enables backlight support on these hosts, which is useful if
running HASS on an old laptop or tablet and you want to (e.g.) conserve
power by controlling the backlight.
2023-09-27 23:57:37 +02:00
Stefan Agner
65271c797c
Bump buildroot to update Docker to v24.0.6 (#2774)
* buildroot d6894cf55f...df5fccafd8 (3):
  > package/docker-cli: bump version to v24.0.6
  > package/docker-engine: bump version to v24.0.6
  > package/containerd: bump to version 1.7.6
2023-09-26 14:54:11 +02:00
Stefan Agner
39e867c352
Disable overlayfs features not used by Docker (#2773)
Currently `CONFIG_OVERLAY_FS_METACOPY` and
`CONFIG_OVERLAY_FS_REDIRECT_DIR` kernel options are enabled but not
preferred by Docker. The metadata copy feature is disabled by default,
and also not actively used by the overlayfs2 driver (see
2c3d1f7b4b).
So the metadata copy config is not really problematic per se. However,
it enables the redirect_dir feature. And a kernel which has the
redirect_dir feature compiled in also enables it by default. This
actually makes the overlayfs2 driver to fallback to naive diff, which
is, from what I understand, slower than the overlayfs native diff (see
also
49c3a7c4ba).
The Docker daemon is also reporting this on startup:

  Not using native diff for overlay2, this may cause degraded performance
  for building images: kernel has CONFIG_OVERLAY_FS_REDIRECT_DIR enabled

Currently `CONFIG_OVERLAY_FS_METACOPY` is enabled, and it also enables
`CONFIG_OVERLAY_FS_REDIRECT_DIR`. There was already a previous attempt
to disable the latter (see #2067).

Disable both configs explicitly until Docker is able to use them.
2023-09-26 14:54:01 +02:00
Stefan Agner
dd21a73031
Fix versioning set during build (#2771)
Respect quotes in the meta file. While at it, simplify version
validation as well.

Make sure development version is correctly set at build time.

While at it also simplify version check.
2023-09-25 18:32:57 +02:00
Stefan Agner
f9251252d9
Update and fix containerd v1.6.22 (#2770)
* Introduce containerd configuration

Configure the CNI config directory to a writeable location.

Disable unnecessary plug-ins to avoid unnecessary error messages during
containerd startup.

* Bump buildroot

* buildroot 8ea671337e...d6894cf55f (1):
  > Revert "Revert "package/containerd: bump version to v1.6.22""
2023-09-25 13:48:15 +02:00
Stefan Agner
5ea343289c
Linux: Update kernel 6.1.55 (#2769) 2023-09-25 13:42:02 +02:00
Stefan Agner
3df2749171
Adjust Home Assistant OS versioning to prepare for new release strategy (#2767)
* Adjust Home Assistant versioning to prepare for new release strategy

With OS 11 we'll create rc pre-releases which will get directly pushed
to the beta channel. In contrast, release builds will get directly
pushed to the stable channel.

Similar to Home Assistant Core we'll create bump commits for all stable
and beta releases. This makes sure that the source code matches the
built binaries for all releases.

The development build will get a generated version. To avoid issues
with the new rc builds the dev build version will get injected on source
level now.

* Apply suggestions from code review
2023-09-25 13:41:50 +02:00
Stefan Agner
7870a1d78e
Download latest stable Supervisor after device wipe (#2765)
* Download latest stable Supervisor after device wipe

Currently we download the latest tag after a device wipe, which gives us
the latest Supervisor (which quite likely can be a development version).
Use the stable version file instead to get the tag to be used to
download the Supervisor.

* Delete potentially corrupted updater info
2023-09-25 10:27:36 +02:00
Stefan Agner
8d6b4eb11b
Unify release and dev GitHub actions (#2764)
Use a single workflow file for releases and dev builds. This avoids
duplication and enhances the release builds with some of the recent
improvements (e.g. shared build container).
2023-09-21 17:06:41 +02:00
Stefan Agner
49a487d4a2
Use latest Network device naming scheme (#2763)
This essentially reverts #2380, making sure that Home Assistant OS uses
systemd's latest network naming scheme.

We stick to a certain naming scheme to make sure NetworkManager still
applies the network configuration (which is matched by network interface
name by default).

With Supervisor [PR #4476](https://github.com/home-assistant/supervisor/pull/4476)
NetworkManager uses udev path by default. With this we can safely enable
the new interface naming and NetworkManager will still apply the
configuration based on udev path correctly.
2023-09-21 17:06:29 +02:00
Stefan Agner
86b172b9c2
Create swapfile even when not using the multi-user.target (#2762)
Pull in the swapfile creation service haos-swapfile.service when
swap.target is reached. This makes sure the service is started even when
other targets are used (e.g. rescue.target).
2023-09-21 15:30:24 +02:00
Stefan Agner
53567a86e8
Linux: Update kernel 6.1.54 (#2760) 2023-09-21 11:27:32 +02:00
dependabot[bot]
8d8327801f
Bump docker/login-action from 2.2.0 to 3.0.0 (#2757)
Bumps [docker/login-action](https://github.com/docker/login-action) from 2.2.0 to 3.0.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2.2.0...v3.0.0)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-19 10:02:18 +02:00
dependabot[bot]
b7e958d498
Bump docker/build-push-action from 4.2.1 to 5.0.0 (#2758)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4.2.1 to 5.0.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4.2.1...v5.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-19 09:56:34 +02:00
dependabot[bot]
3e173ca77e
Bump docker/setup-buildx-action from 2.10.0 to 3.0.0 (#2759)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 2.10.0 to 3.0.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v2.10.0...v3.0.0)

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

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-19 09:55:24 +02:00
Stefan Agner
f8f2e61967
Delete Bluetooth device cache regularly (#2751)
* Delete Bluetooth device cache regularly

Delete stale Bluetooth devices from the BlueZ device cache every week.
This makes sure that the overlay partition doesn't run out of inodes
which has happened in real world scenarios where many new Bluetooth
devices are discovered.

BlueZ maintains these files on a best effort base. So removing them
while BlueZ is running should be safe.

An alternative considered  was to lower BlueZ GATT caching (e.g. by
using Cache=yes instead of always, to cache only paired devices).
However, this would hurt performance and battery lifetime of Bluetooth
devices due to additional unnecessary GATT attributes reads. This is in
particular true for Bluetooth 5.1 devices which support the Database
Hash charactristic. Caching has also helped reliability with
intermittent connections (see
https://github.com/bluez/bluez/issues/191).

More importantly, besides the GATT attribute cache the same files are
also used to cache the device names as well. This is independent of the
above mentioned GATT cache configuration (see device_store_cached_name
in BlueZ). So disabling the GATT caching alone wouldn't solve the
particular problem we are facing.

See also: https://github.com/home-assistant/supervisor/issues/4490

* Use access timestamp instead of modification timestamp

The modification timestamp gets updated regularly (on each connect) it
seems. However, using access timestamp might be more accurate, as it
seems to preserves slightly more cache files. This additional devices
might be devices we don't regularly connect but are still around (and
therefor we shouldn't reread the GATT attributes regularly).

So deleting cache entries with access time older than 7 days. Which
essentially deletes all the entries of devices which haven't been seen
the last 7 days.
2023-09-14 23:13:40 +02:00
Stefan Agner
26dd95cb03
Linux: Update kernel 6.1.53 (#2750) 2023-09-13 22:40:13 +02:00
Stefan Agner
0125e32ca6
Bump buildroot (#2749)
* buildroot da1eff0b0d...8ea671337e (1):
  > package/go: bump to v1.19.13
2023-09-13 22:36:57 +02:00
dependabot[bot]
3d7a17c59f
Bump docker/build-push-action from 4.1.1 to 4.2.1 (#2748)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4.1.1 to 4.2.1.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4.1.1...v4.2.1)

---
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>
2023-09-11 22:35:32 +02:00
Stefan Agner
bf327c968a
Don't combine GitHub action caches (#2745)
It turns out that the way concurrency works in GitHub action doesn't
allow to queue up multiple pending jobs. As soon as a second job gets
pending, the previous pending jobs get cancelled. So this does not allow
to sequentially run all cache combine jobs as we hoped for.

Let's use a single download cache and per board build cache for now.
2023-09-08 08:16:21 +02:00
Stefan Agner
ff1e4d2c31
Bump buildroot to revert containerd to v1.6.21 (#2744)
* buildroot 89d71acd74...da1eff0b0d (1):
  > Revert "package/containerd: bump version to v1.6.22"
2023-09-08 08:15:39 +02:00
Stefan Agner
25545b609e
Combine downloads and compile cache in GitHub Action cache (#2743)
This combines all caches in a single cache to save space (assumption is
that quite some files are duplicated otherwise). With this we shouold
end up with 4 relevant cache files (build cache for each architecture
plus download cache).
2023-09-08 00:14:08 +02:00
Stefan Agner
98da692882
Linux: Update kernel 6.1.52 (#2740) 2023-09-08 00:13:39 +02:00
Stefan Agner
52a455c6ca
Execute stale workflow only once a day (#2739) 2023-09-07 08:59:25 +02:00
Stefan Agner
cdfde693c7
Bump buildroot to 2023.02.4 (#2737)
* buildroot a3dced0daf...89d71acd74 (1):
  > Merge tag '2023.02.4' into 2023.02.x-haos
2023-09-06 12:06:45 +02:00
Stefan Agner
079bf06aa7
Enable ECC memory support via EDAC (#2708) (#2736) 2023-09-05 22:20:23 +02:00
Stefan Agner
de2d443cda
Bump buildroot to update openvmtools (#2733) (#2735)
* buildroot 1ba9746c5a...a3dced0daf (1):
  > package/openvmtools: bump version to 12.3.0
2023-09-05 21:44:34 +02:00
Stefan Agner
0b115133fe
Bump HAOS Agent to 1.6.0 (#2734) 2023-09-05 21:44:19 +02:00
Stefan Agner
41c3b6565d
Improve GitHub Action caching (#2732)
Use more specific keys for GitHub Action caches to make sure we update
caches regularly. Also add board id to the downloads cache to get a
more specific cache file. This avoid redownloading large dependencies
of some boards.
2023-09-05 21:44:11 +02:00
Stefan Agner
79050fb820
Separate build step when loading container images (#2731)
Separate fetching the current release and loading the container image
into separate build steps. This allows to manually later the version
json file for testing.
2023-09-04 23:17:31 +02:00
Stefan Agner
e83f264e8c
Improve LED representation in Home Assistant Green device tree (#2730) 2023-09-04 23:17:17 +02:00
dependabot[bot]
516cb71df9
Bump actions/checkout from 3 to 4 (#2728)
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-04 23:14:03 +02:00
dependabot[bot]
76903af864
Bump docker/login-action from 2.1.0 to 2.2.0 (#2727)
Bumps [docker/login-action](https://github.com/docker/login-action) from 2.1.0 to 2.2.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v2.1.0...v2.2.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>
2023-09-04 23:13:56 +02:00