2086 Commits

Author SHA1 Message Date
Michael Haas
b0674713a7
rpi4: Enable arm_boost=1 to unlock 1.8GHz CPU clock (#2073)
* rpi4: Enable arm_boost=1 to unlock 1.8Ghz CPU

The official Raspberry Pi OS enables a "boosted" 1.8GHz
mode since their Debian bullseye based release [source]. This
commit brings this feature to HA OS.
2022-08-31 15:52:23 +02:00
Stefan Agner
4edc71b005
Enable k10temp kernel module (#2094)
The k10temp module allows to monitor CPU temperature on AMD systems.
2022-08-31 08:29:13 +02:00
Stefan Agner
4af2c880ed
Linux: Update kernel 5.15.63 (#2093) 2022-08-31 08:29:05 +02:00
Stefan Agner
e64e97cedf
Linux: Update kernel 5.15.62 (#2084) 2022-08-25 00:09:21 +02:00
Stefan Agner
cd5e42341d
Start dropbear earlier (#2083)
This can be helpful when debugging HAOS issues. Dropbear is only started
for users which actually enabled it by configuring a SSH key, so this
change won't have an effect for most people.
2022-08-25 00:09:13 +02:00
Stefan Agner
ea5acb0950
Fix delaying systemd-timesyncd start correctly (#2082)
Unfortunately, orderings like Before= cannot be overriden by vendor
settings. This is mentioned in "Example 2. Overriding vendor settings"
on https://www.freedesktop.org/software/systemd/man/systemd.unit.html.

Correctly fix ordering by overriding the entire unit.
2022-08-24 23:02:09 +02:00
Stefan Agner
a16354276f
Bump buildroot (#2072)
* buildroot 2083b57930...9dbf8d5e86 (3):
  > package/brcmfmac_sdio-firmware-rpi: bump to latest version
  > package/linux-firmware: Deploy fewer Intel WiFi 22000 series variants
  > package/linux-firmware: bump version to 20220815
2022-08-18 15:55:15 +02:00
Stefan Agner
19c5d45734
Linux: Update kernel 5.15.61 (#2070) 2022-08-18 15:51:16 +02:00
Stefan Agner
f8c8198bb9
Fix delaying systemd-timesyncd start (#2069)
* Fix delaying systemd-timesyncd

Setting WantedBy=time-sync.target in a service.d config file does not
clear previous assignments of WantedBy. This caused the services to still
be pulled in by the sysinit.target, causing a ordering cycle and the
system to not start essential services.

* Remove sysinit.target from Before ordering
2022-08-18 15:51:07 +02:00
Stefan Agner
7a693bed46
Delay systemd-timesyncd start after network is deemed online (#2068)
With commit 2d3119ef2201 ("Delay Supervisor start until time has been
sychronized (#1360)") systemd-time-wait-sync.service got enabled, which
waits until systemd-timesyncd synchronizes time with a NTP server.

By default systemd-timesyncd.service and systemd-time-wait-sync.service
are pulled in by sysinit.target. This starts the services before full
network connectivity is established. The first sychronization fails and
systemd-timesyncd only retries after a ratelimit mechanism times out.
This causes a dealy of 30s during startup. While systemd-timesyncd has
a mechanism to (re)try time synchronization when network becomes
online, it seems that those only work properly when systemd-networkd
is used, see also https://github.com/systemd/systemd/issues/24298.

Simply reordering systemd-timesyncd.service after network-online.target
does not work as it causes circular dependencies (NetworkManager itself
depends ultimately on the sysinit.target).

With this change, the services are only pulled in by time-sync.target.
That allows to order the service after network-online.target. With that
the first synchronization succeeds.

This mechanism also works when a NTP server is provided through DHCP.
In that case, a the systemd-timesyncd service is started by the dispatch
script /usr/lib/NetworkManager/dispatcher.d/10-ntp before the systemd
even considers starting the service. Tests show that the default
fallback NTP is not contacted, only the DHCP provided service.
2022-08-17 18:51:35 +02:00
Stefan Agner
c3bfa2e64a
Kernel config tweaks for Bluetooth and OverlayFS (#2067)
* Move Bluetooth protocol configuration to hassos.config

Enable a couple of potential useful Bluetooth protocol drivers.
Also enable Bluetooth Network Encapsulation Protocol since the BlueZ
plug-in seems to be enabled.

* Drop OverlayFS configuration not liked by Docker
2022-08-16 22:26:39 +02:00
Stefan Agner
fe8332eb90
Bump buildroot (#2066)
* buildroot 2ba3394abf...2083b57930 (1):
  > package/systemd: bump to version 250.7
2022-08-16 22:26:14 +02:00
Stefan Agner
aeda0d0503
Enable BlueZ Audio and HID plug-ins (#2064, #1746) (#2065)
* Enable BlueZ Audio and HID plug-ins (#2064, #1746)
2022-08-16 22:26:03 +02:00
Michael Haas
c4233012d0
Remove duplicate ASMedia quirk 174c:55aa:u (#2061) 2022-08-16 14:15:55 +02:00
Stefan Agner
dcff3d3f14
Compile extra network drivers as modules (#2059)
* Bump buildroot

* buildroot 0397d9c8f0...2ba3394abf (1):
  > package/docker-engine: use kernel modules for extra network drivers

* Make IPv6 SIT tunnel driver a kernel module

This is what distributions seem to be doing too.
2022-08-13 13:45:15 +02:00
Stefan Agner
c2174a4ee4
Linux: Update kernel 5.15.60 (#2058) 2022-08-13 13:45:04 +02:00
Pascal Vizeli
05778a2d32
Support IPv6 NAT (#2051)
* Support IPv6 NAT

* Add experimental

* Enable IPv6 NAT in kernel configuration

Co-authored-by: Stefan Agner <stefan@agner.ch>
2022-08-12 17:43:49 +02:00
Stefan Agner
7729db1e11
Synchronize network time quicker on bootup (#2057)
Currently systemd-timesyncd tries to connect to the NTP server quite
early at boot-up. At this time the network connection has not been
established yet. This causes resolving the NTP server to fail and
a rate limit kicks in which makes systemd-timesyncd wait for 30s until
the next attempt.

Lowering the retry attempt to 10s makes systemd-timesyncd connecting
shortly after.

Note: The rate limit is 10 attempts per 10s. Because the attempts are
immediately exhausted lowering connection retry attempt below 10s
adds no benefit.

See also: https://github.com/systemd/systemd/issues/24298
2022-08-12 17:43:26 +02:00
Stefan Agner
5b0c1754f6
Bump Docker to 20.10.17 (#2055)
* buildroot 97287bbebf...0397d9c8f0 (5):
  > package/docker-proxy: bump version to f6ccccb1c082
  > package/containerd: security bump to 1.6.6
  > package/docker-engine: bump to version 20.10.17
  > package/docker-cli: bump to version 20.10.17
  > package/runc: bump to version 1.1.3
2022-08-11 07:03:32 +02:00
Stefan Agner
71d5c77508
Load container images descending by size (#2054)
* Load container images descending by size

Loading container images using docker load seems to require more space
at load time (which gets freed after loading). Loading the largest
container first avoids running out of space.
2022-08-10 21:05:30 +02:00
Stefan Agner
2d8ec0c8ee
Use dbus-broker as default D-Bus broker (#2053)
* Bump buildroot

* buildroot 99b62b8bd3...97287bbebf (3):
  > package/dbus-broker: bump to release 32
  > package/dbus-broker: new package
  > Merge pull request #3 from home-assistant/2022.02.x-haos-cgroup-v2

* Use dbus-broker as default D-Bus broker

The dbus-broker (Linux D-Bus Message Broker) aims to be a high
performance and reliable D-Bus broker which can be used as a drop in
replacement to the reference implementation D-Bus broker. In tests it
showed significantly better performance especially when routing BLE
messages.

* Allow dbus-broker to start early

For HAOS device wipe feature we need haos-agent.service and
udisk2.service early. Both require a working D-Bus broker.
The options PrivateTmp and PrivateDevices add additional After=
orderings which doesn't allow dbus-broker to be started early.

* Fix D-Bus dependency

D-Bus services should just depend on dbus.socket.
2022-08-10 17:01:02 +02:00
Stefan Agner
5d0a61fafc
Set lower OOM Score for Supervisor (#2050)
* Set lower OOM Score for Supervisor

* Adjust OOM for Docker daemon
2022-08-10 13:56:45 +02:00
Stefan Agner
4d9b604c04
Use Control Group v2 (#1329)
* Disable real-time scheduling

It seems that Linux' cgroup v2 currenlty does not support RT scheduling.

* Remove Supervisor RT support flag

With CGroups v2 we can no longer support CPU resource allocation for
realtime scheduling.

* Bump OS Agent to 1.3.0 for CGroups v2 support
2022-08-09 11:29:12 +02:00
Stefan Agner
7409be7197
Enable USB/IP kernel modules (#2047) 2022-08-05 09:54:40 +02:00
Stefan Agner
7df21c6839
Bump buildroot (#2045)
* buildroot ad168306a4...04ac0c825d (1):
  > boot/grub2: fix build race condition
2022-08-05 09:54:31 +02:00
Stefan Agner
83dc7117de
Bump buildroot (#2044)
* buildroot 686000eee8...ad168306a4 (1):
  > Merge tag '2022.02.4' into 2022.02.x-haos
2022-08-04 09:06:53 +02:00
Stefan Agner
b8550dec2a
Linux: Update kernel 5.15.59 (#2043) 2022-08-04 08:59:39 +02:00
Stefan Agner
e0222ec454
Add LED control through device tree overrides (#2038) 2022-08-04 08:36:14 +02:00
Stefan Agner
e2931c35ba
Check if GRUB environment is valid (#2031) (#2036) 2022-08-04 08:22:17 +02:00
Stefan Agner
364196614b
Yellow USB mass storage support (#2035)
* Enable USB OTG in the Yellow device tree

* Enable U-Boot USB mass storage command

* Enable UMS mode when blue button is pressed
2022-07-27 23:54:17 +02:00
Stefan Agner
084b20e4df
Allow to Wipe essential boot files to trigger boot from USB host (#2034)
This makes the Red+Blue Button cause the boot loader to wipe start4.elf,
which is essential for the boot loader to boot from eMMC. With the file
missing, the Raspberry Pi firmware will continue its boot flow and boot
from USB host next. This allows to run the Home Assistant OS Installer
from a USB flash drive again.
2022-07-27 14:53:47 +02:00
Stefan Agner
263e600b51
Linux: Update kernel 5.15.57 (#2028) 2022-07-24 01:30:46 +02:00
Stefan Agner
0f1ecf85d5
Linux: Update kernel 5.15.55 (#2025) 2022-07-20 22:49:00 +02:00
Stefan Agner
86cee444be
Allow to select generic-aarch64 and yellow in issue template (#2023) 2022-07-18 13:45:52 +02:00
nepozs
fcfe074672
Update README.md (#2012)
added NUC6CAYS tested model, and Bluetooth basic information
2022-07-18 13:45:42 +02:00
Vedran Pavic
cbb0e5b4b9
Fix issue template link for developer documentation issues (#2018) 2022-07-13 21:23:52 +02:00
Stefan Agner
57fd9a5b4b
Linux: Update kernel 5.15.54 (#2019) 2022-07-13 09:24:04 +02:00
Joakim Sørensen
4da0ad7da2
Fix ghcr URL (#2014)
Co-authored-by: Franck Nijhof <git@frenck.dev>
2022-07-09 23:24:57 +02:00
Stefan Agner
54bbae3286
Bump buildroot (#2013)
* buildroot e7a881ea75...686000eee8 (1):
  > package/bluez5_utils: Fix spamming errors
2022-07-08 22:36:15 +02:00
Stefan Agner
8f07d16176
Improve HAOS builder Dockerfile (#2011) 2022-07-08 22:36:02 +02:00
Stefan Agner
5932f1212e
Increase Supervisor start rate limit (#2010)
A faster restart policy is unlikely to help. Increasing the limit makes
it less likely to run into cloud service rate limits (e.g. container
registry).
2022-07-08 22:35:52 +02:00
Stefan Agner
0139030404
Use GitHub Container Registry for Supervisor (#2005) (#2009)
* Use GitHub Container Registry (#2005)

* Tag with ghcr.io prefix
2022-07-08 16:33:04 +02:00
shrung
5c70c57a70
Better detail on the wifi setup (#1990)
Quotation marks are needed for SSIDs which include spaces. The preamble to the code snippet is also grammatically correct now.
2022-07-08 13:57:23 +02:00
Stefan Agner
d2c0ad8096
Use yellow machine yellow_defconfig (landingpage) (#2008) 2022-07-08 09:54:43 +02:00
Stefan Agner
92da6b64c7
Yellow: Enable PL011 console on J11 by default (#2001) 2022-07-04 17:30:37 +02:00
Stefan Agner
7d0ad7e662
Linux: Update kernel 5.15.52 (#2002) 2022-07-04 17:30:27 +02:00
Pascal Vizeli
2801019912
Using Yellow for HA images (landingpage) (#1992) 2022-07-04 14:33:34 +02:00
Joakim Sørensen
11df4745e7
Use checkonline instead of version for connectivity check (#1991) 2022-06-27 16:30:05 +02:00
Stefan Agner
e6147184c0
Linux: Update kernel 5.15.50 (#1989) 2022-06-25 09:30:36 -07:00
Stefan Agner
26bca2666d
Remove key.json file if it appears to be corrupted (#1706) (#1988)
* Remove key.json file if it appears to be corrupted (#1706)

* Check with jq if key.json is parsable
2022-06-25 09:30:20 -07:00