Compare commits

..

91 Commits
8.5 ... 9.0.rc1

Author SHA1 Message Date
Stefan Agner
c1e2d655bc ODROID-XU4: Reset Ethernet properly on reboot (#1488) (#2108) 2022-09-02 23:34:16 +02:00
Stefan Agner
79c9e208ca Enable dependencies for IPv6 NAT support (#2106)
* Enable dependencies for IPv6 NAT support

This makes the ODROID-XU4 kernel to build properly with IPv6 NAT enabled
as well.
2022-09-02 23:29:48 +02:00
Stefan Agner
fbbc0075ea Remove dev from release drafter (#2107)
It seems not to work as intended.
2022-09-02 23:27:40 +02:00
Stefan Agner
3708b2fe72 Linux: Update kernel 5.15.64 (#2104) 2022-09-02 15:33:49 +02:00
Stefan Agner
b1df44421b Bump commit interval to 30s (#2103)
A higher file system commit interval can help to decrease the amount of
writes. In tests, a commit interval of higher than 30s seems not to help
much in practice. Settle with 30s for now.
2022-09-02 15:23:38 +02:00
Stefan Agner
303f63c222 Add access to containerd for Supervisor (#2102)
Add direct access to Docker's containerd instance by passing in its GRCP
socket. This can be useful to talk to the containerd GRPC API directly,
which exposes more information than the Docker API (e.g. OOM kill
events).
2022-09-02 14:49:25 +02:00
Stefan Agner
53818a1325 Do not send excessive DNS queries for online checks (#2100) (#2101)
* Do not send excessive DNS queries for online checks (#2100)
2022-08-31 23:35:41 +02:00
Stefan Agner
ed554f2a39 Check free disk space before starting Docker (#2097)
It seems that Docker can fail to start if there is no space left on the
device. Try to free up some space in that case by asking journald to
limit its size to 256MiB.

This should work for any storage larger than ~2.5GiB (as the journals
maximum size is 10% of the disk size). It still should leave enough
logs to diagnose problems if necessary.

Note: We could also limit the size of the journal in first place, but
that isn't sustainable: Once that space is used up, we run into the
same problem again.

By only asking journalctl to free up if necessary, we kinda (miss)use
the journal as way to "reserve" some space which we can free up at boot
if necessary.
2022-08-31 23:04:23 +02:00
Stefan Agner
ba5de20ba8 Add GRUB2 boot entry to boot into rescue shell (#2096) 2022-08-31 23:02:47 +02:00
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 2d3119ef22 ("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
Stefan Agner
7708de0c65 Improve Wi-Fi section (#1984) 2022-06-25 09:22:32 -07:00
Stefan Agner
739a783c8d Linux: Update kernel 5.15.49 (#1987) 2022-06-24 09:57:12 -07:00
Stefan Agner
b1dcdea03c Bump buildroot (#1986)
* buildroot 7995541510...e7a881ea75 (1):
  > Merge tag '2022.02.3' into 2022.02.x-haos
2022-06-24 09:57:01 -07:00
Stefan Agner
d9beee93ed Set restrictive GitHub Action permissions (#1985)
* chore: Set permissions for GitHub actions

Restrict the GitHub token permissions only to the required ones; this way, even if the attackers will succeed in compromising your workflow, they won’t be able to do much.

* Remove global permissions which are set implicitly

With restrictive settings in the global GitHub Action permission settings
those permissions are given implicitly.

Co-authored-by: neilnaveen <42328488+neilnaveen@users.noreply.github.com>
Co-authored-by: Joakim Sørensen <hi@ludeeus.dev>
Co-authored-by: Stefan Agner <stefan@agner.ch>
2022-06-24 09:46:02 -07:00
Renaud Morvan
33575b639e Fix network.md ha cli network wifi example (#1976) 2022-06-16 02:28:51 +02:00
Stefan Agner
720f604f98 Increase maximum socket receive and send buffer size (#1964) (#1968)
Some applications try to increase the buffers for performance reason. The
QUIC Go implementation for instance tries to request a 2048 kiB buffer
size.

The kernel default depends on skubuf size (which is architecture
dependent), but it is memory size independet and typically around 200 kiB
(see [1]).

Other network tuning guides suggest 16MiB for 1GB ethernet, as well as
changing the default as well as maximum bufffer size (see [2]). This
conservatively increases the maximum buffer size to 4MiB.

[1]: https://elixir.bootlin.com/linux/v5.15.45/source/include/net/sock.h#L2742
[2]: https://nateware.com/2013/04/06/linux-network-tuning-for-2013/
2022-06-08 16:17:49 +02:00
Stefan Agner
f94cb9df39 Linux: Update kernel 5.15.45 (#1967) 2022-06-08 16:17:39 +02:00
Stefan Agner
432cb86235 NVMe patches are applied for all Raspberry Pi based boards now (#1959) 2022-06-01 20:47:16 +02:00
Stefan Agner
e10e3c9d7c Bump buildroot (#1958)
* buildroot 2eebdbad5c...7995541510 (1):
  > Merge tag '2022.02.2' into 2022.02.x-haos
2022-06-01 15:46:37 +02:00
Stefan Agner
7552395368 Apply NVMe fixes to all Raspberry Pi boards (#1911) (#1957) 2022-06-01 15:46:28 +02:00
dependabot[bot]
b1a2e6ee17 Bump burnett01/rsync-deployments from 4.1 to 5.2 (#1956)
Bumps [burnett01/rsync-deployments](https://github.com/burnett01/rsync-deployments) from 4.1 to 5.2.
- [Release notes](https://github.com/burnett01/rsync-deployments/releases)
- [Commits](https://github.com/burnett01/rsync-deployments/compare/4.1...5.2)

---
updated-dependencies:
- dependency-name: burnett01/rsync-deployments
  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>
2022-06-01 15:46:14 +02:00
Stefan Agner
70dd90adef Linux: Update kernel 5.15.44 (#1951) 2022-06-01 15:45:15 +02:00
dependabot[bot]
5d94321807 Bump brpaz/hadolint-action from 1.1.0 to 1.5.0 (#1955)
Bumps [brpaz/hadolint-action](https://github.com/brpaz/hadolint-action) from 1.1.0 to 1.5.0.
- [Release notes](https://github.com/brpaz/hadolint-action/releases)
- [Changelog](https://github.com/brpaz/hadolint-action/blob/master/.releaserc)
- [Commits](https://github.com/brpaz/hadolint-action/compare/v1.1.0...v1.5.0)

---
updated-dependencies:
- dependency-name: brpaz/hadolint-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>
2022-06-01 14:33:52 +02:00
dependabot[bot]
a39046cb55 Bump actions/stale from 4 to 5 (#1954)
Bumps [actions/stale](https://github.com/actions/stale) from 4 to 5.
- [Release notes](https://github.com/actions/stale/releases)
- [Changelog](https://github.com/actions/stale/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/stale/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/stale
  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>
2022-06-01 14:33:03 +02:00
dependabot[bot]
768e16210b Bump actions/checkout from 2 to 3 (#1953)
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [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/v2...v3)

---
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>
2022-06-01 14:32:52 +02:00
dependabot[bot]
3110b044eb Bump actions/github-script from 4 to 6 (#1952)
Bumps [actions/github-script](https://github.com/actions/github-script) from 4 to 6.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v4...v6)

---
updated-dependencies:
- dependency-name: actions/github-script
  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>
2022-06-01 14:29:02 +02:00
Naveen
26748d5c9b Enable dependabot for github-actions (#1947)
This should help with keeping the GitHub actions updated on new releases. This will also help with keeping it secure.

Dependabot helps in keeping the supply chain secure https://docs.github.com/en/code-security/dependabot

GitHub actions up to date https://docs.github.com/en/code-security/dependabot/working-with-dependabot/keeping-your-actions-up-to-date-with-dependabot

https://github.com/ossf/scorecard/blob/main/docs/checks.md#dependency-update-tool
Signed-off-by: naveen <172697+naveensrinivasan@users.noreply.github.com>
2022-06-01 14:20:15 +02:00
Stefan Agner
0c9cfde907 Make NTP dispatch script executable (#1798) (#1933)
* Make NTP dispatch script executable (#1798)

* Address shellcheck issues
2022-05-19 21:47:27 +02:00
Stefan Agner
4a85304427 Bump buildroot (#1932)
* buildroot de7aa15c65...2eebdbad5c (1):
  > package/openvmtools: Allow build on AArch64
2022-05-19 18:02:11 +02:00
Stefan Agner
382e253e5a Avoid using simplefb for generic-x86-64 to fix boot crashes (#1920) (#1930) 2022-05-19 11:24:11 +02:00
Stefan Agner
dc41cd8b86 Align GRUB2 disk read buffers to block size to fix boot issues (#1912) (#1929) 2022-05-19 11:24:02 +02:00
Stefan Agner
9e4cf3de68 Linux: Update kernel 5.15.41 (#1928) 2022-05-19 10:57:07 +02:00
Jens Maus
48a9b6162a Updat generic_raw_uart packeg to 1.26 to fix issues with HB-RF-USB-2 and HB-RF-ETH (#1927) 2022-05-19 09:15:04 +02:00
Stefan Agner
e2b9a7fef8 Add NVMe boot support to Generic AArch64 (#1050) (#1918) 2022-05-19 01:00:43 +02:00
Stefan Agner
756a9feb00 Add open-vm-tools to AArch64 for better VMware support (#1050) (#1915)
* Add open-vm-tools to AArch64 for better VMware support (#1050)

* Bump buildroot

* buildroot 666868435d...de7aa15c65 (1):
  > package/openvmtools: bump version to 11.3.5
2022-05-19 01:00:36 +02:00
Greg Kroah-Hartman
da74988378 Linux: Update kernel 5.15.40 (#1907)
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-05-18 01:15:00 +02:00
Jens Maus
1828ac0bb5 Update qemu-guest-agent to 7.0.0 for improved agent functionality (#1904) 2022-05-16 11:31:35 +02:00
Jens Maus
7b0f593a93 Update RPI-RF-MOD/HM-MOD-RPI-PCB/HmIP-RFUSB related packages (#1901) 2022-05-16 11:30:00 +02:00
sol
e7e7c7a9ba Add support for rtl8821cu WiFi Dongle (#1899)
* Add rtl8821cu driver

* buildroot ee56159464...666868435d (1):
  > Merge pull request #2 from s-ol/fix-usb_modeswitch-systemd

* Add rtl8821cu support to all boards

Signed-off-by: s-ol <s+removethis@s-ol.nu>
Co-authored-by: Stefan Agner <stefan@agner.ch>
2022-05-16 11:26:05 +02:00
Stefan Agner
a1261f89a1 Add support RTL88x2BU USB WiFi adapters to OVA (#1903) (#1906) 2022-05-16 11:14:08 +02:00
Stefan Agner
02dff04212 Shutdown immeaditly on ACPI Power Button events (#1896) (#1898)
For phyiscal hardware the default Power Button action has been disabled
to avoid accidentally power down the machine.

However, for virtual machine this method is often used to shutdown the
virtual machine gracefully. Use the regular power settings for virtual
machines.
2022-05-16 10:58:30 +02:00
Stefan Agner
e5754a5d29 Bump OS release version to 9 2022-05-11 17:06:32 +02:00
67 changed files with 486 additions and 128 deletions

View File

@@ -1,12 +1,3 @@
# We don't need this folder because we map the hole folder
buildroot/
buildroot-external/
buildroot-patches/
# Output/Release directory gets created using build scripts
output*/
release/
# Ignore hidden directories as well
.git/
.github/
# Ignore everything except what we really need
*
!scripts/

View File

@@ -25,6 +25,7 @@ body:
label: What operating system image do you use?
options:
- generic-x86-64 (Generic UEFI capable x86-64 systems)
- generic-aarch64 (Generic UEFI capable aarch64 systems)
- khadas-vim3 (Khadas VIM3)
- odroid-c2 (Hardkernel ODROID-C2)
- odroid-c4 (Hardkernel ODROID-C4)
@@ -37,6 +38,7 @@ body:
- rpi4 (Raspberry Pi 4/400 32-bit OS)
- rpi4-64 (Raspberry Pi 4/400 64-bit OS)
- tinker (ASUS Tinker Board/Tinker Board S)
- yellow (Home Assistant Yellow)
description: >
Can be found in the [Configuration panel -> Settings -> Info](https://my.home-assistant.io/redirect/info/). It is listed as the `Board` value.

View File

@@ -5,7 +5,7 @@ contact_links:
about: Our documentation has its own issue tracker. Please report issues with the website there.
- name: Report incorrect or missing information on our developer documentation
url: https://github.com/home-assistant/developers.home-assistant.io/issues
url: https://github.com/home-assistant/developers.home-assistant/issues
about: Our developer documentation has its own issue tracker. Please report issues with the website there.
- name: Request a feature for the Operating System

6
.github/dependabot.yml vendored Normal file
View File

@@ -0,0 +1,6 @@
version: 2
updates:
- package-ecosystem: "github-actions"
directory: "/"
schedule:
interval: "weekly"

View File

@@ -35,7 +35,7 @@ jobs:
version_pr=$(printf "%05d" ${{ github.event.pull_request.number }})
echo "Development build for PR #${{ github.event.pull_request.number }}"
echo "::set-output name=version_pr::${version_pr}"
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Get Major/Minor version
id: version_main
run: |
@@ -43,7 +43,7 @@ jobs:
build=$(cat ${GITHUB_WORKSPACE}/buildroot-external/meta | grep VERSION_BUILD | cut -d'=' -f2)
echo "::set-output name=version_main::${major}.${build}"
- name: Create build matrix
uses: actions/github-script@v4
uses: actions/github-script@v6
id: generate_matrix
with:
script: |
@@ -72,7 +72,7 @@ jobs:
steps:
- name: Define git reference
uses: actions/github-script@v4
uses: actions/github-script@v6
id: generate_gitref
with:
script: |
@@ -81,7 +81,7 @@ jobs:
return { "ref": context.payload.pull_request.head.sha }
- name: Checkout source
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
submodules: true
persist-credentials: false
@@ -109,7 +109,7 @@ jobs:
haos-builder make BUILDDIR=/build VERSION_DEV=${{ needs.prepare.outputs.version_dev }} ${{ matrix.board.defconfig }}
- name: Upload images
uses: burnett01/rsync-deployments@4.1
uses: burnett01/rsync-deployments@5.2
with:
rsh: -q
switches: -aW

View File

@@ -9,12 +9,12 @@ jobs:
runs-on: ubuntu-20.04
steps:
- name: Check out code
uses: actions/checkout@v2
uses: actions/checkout@v3
with:
submodules: true
- name: Check Dockerfile
uses: brpaz/hadolint-action@v1.1.0
uses: brpaz/hadolint-action@v1.5.0
with:
dockerfile: Dockerfile

View File

@@ -3,7 +3,6 @@ name: Release Drafter
on:
push:
branches:
- dev
- rel-*
jobs:

View File

@@ -15,7 +15,7 @@ jobs:
version_dev: ${{ steps.version_check.outputs.version_dev }}
matrix: ${{ steps.generate_matrix.outputs.result }}
steps:
- uses: actions/checkout@v2
- uses: actions/checkout@v3
- name: Validate version
id: version_check
run: |
@@ -36,7 +36,7 @@ jobs:
fi
echo "::set-output name=version_dev::${tag_dev}"
- name: Create build matrix
uses: actions/github-script@v4
uses: actions/github-script@v6
id: generate_matrix
with:
script: |
@@ -54,7 +54,7 @@ jobs:
steps:
# Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
- uses: actions/checkout@v2
- uses: actions/checkout@v3
with:
submodules: true

View File

@@ -19,7 +19,7 @@ jobs:
# - No PRs marked as no-stale or pinned
# - No issues marked as no-stale, help-wanted or pinned
- name: 90 days stale issues & PRs policy
uses: actions/stale@v4
uses: actions/stale@v5
with:
repo-token: ${{ secrets.GITHUB_TOKEN }}
days-before-stale: 90

View File

@@ -28,27 +28,24 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
cpio \
file \
git \
graphviz \
jq \
make \
ncurses-dev \
openssh-client \
patch \
perl \
python3 \
python3-matplotlib \
python-is-python3 \
graphviz \
qemu-utils \
rsync \
skopeo \
sudo \
unzip \
zip \
wget \
qemu-utils \
openssh-client \
vim \
&& rm -rf /var/lib/apt/lists/*
RUN apt-get update && apt-get install -y --no-install-recommends \
skopeo \
jq \
wget \
zip \
&& rm -rf /var/lib/apt/lists/*
# Init entry

View File

@@ -12,6 +12,7 @@ been tested with is listed below.
|-----------------------|--------------|---------|-------------|
| Intel NUC5CPYH | Q3 2015 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
| Intel NUC6CAYH | Q4 2016 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
| Intel NUC6CAYS | Q4 2016 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
| Intel NUC7i3DNHE | Q3 2017 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
| Intel NUC10i3FNK2 | Q4 2019 | yes | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
| Gigabyte GB-BPCE-3455 | 2017 | yes* | [generic_x86_64](../../../buildroot-external/configs/generic_x86_64_defconfig) |
@@ -48,7 +49,7 @@ The following cards are supported:
## Bluetooth
Bluetooth is untested.
Bluetooth integrated in Intel Wireless cards working OK, other options untested.
## Installation

View File

@@ -5,18 +5,18 @@ Default Kernel tree: 5.15
| Board | Version |
|-------|---------|
| Open Virtual Appliance | 5.15.60 |
| Open Virtual Appliance | 5.15.64 |
| Raspberry Pi | 5.15.32 |
| Raspberry Pi 0-W | 5.15.32 |
| Raspberry Pi 2 | 5.15.32 |
| Raspberry Pi 3 | 5.15.32 |
| Raspberry Pi 4 | 5.15.32 |
| Home Assistant Yellow | 5.15.32 |
| Tinker Board | 5.15.60 |
| Odroid-C2 | 5.15.60 |
| Odroid-C4 | 5.15.60 |
| Odroid-N2 | 5.15.60 |
| Odroid-XU4 | 5.15.60 |
| Generic aarch64 | 5.15.60 |
| Generic x86-64 | 5.15.60 |
| Khadas VIM3 | 5.15.60 |
| Tinker Board | 5.15.64 |
| Odroid-C2 | 5.15.64 |
| Odroid-C4 | 5.15.64 |
| Odroid-N2 | 5.15.64 |
| Odroid-XU4 | 5.15.64 |
| Generic aarch64 | 5.15.64 |
| Generic x86-64 | 5.15.64 |
| Khadas VIM3 | 5.15.64 |

View File

@@ -128,12 +128,12 @@ profile using DHCP, use the following commands on the host console:
Home Assistant OS will recreate the default connection profile during boot.
### Enabling WiFi
### Enabling Wi-Fi
WiFi is discouraged for reliability reasons. However if you're still like to use WiFi, you can us the `ha network` command to set up WiFi (example for a Raspberry Pi 4, check `ha network info` to check if your board supports WiFi and the name of the WiFi device):
Wi-Fi is discouraged for reliability reasons. However, if you still prefer to use Wi-Fi, you can us the `ha network` command to set up Wi-Fi (example for a Raspberry Pi 4, check `ha network info` to check if your board supports Wi-Fi and the name of the Wi-Fi device):
```bash
ha network update wlan0 --enabled --ipv4-method auto --wifi-auth wpa-psk --wifi-mode infrastructure --wifi-ssid MY-SSID --wifi-psk MY_PASS
ha network update wlan0 --ipv4-method auto --wifi-auth wpa-psk --wifi-mode infrastructure --wifi-ssid "MY-SSID" --wifi-psk MY_PASS
````
### Powersave

View File

@@ -120,7 +120,6 @@ CONFIG_CGROUP_WRITEBACK=y
CONFIG_CGROUP_SCHED=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_CGROUP_PIDS=y
CONFIG_CGROUP_RDMA=y
CONFIG_CGROUP_FREEZER=y

View File

@@ -0,0 +1,94 @@
From 1fb890d987088f5b6b4c165d8d05480e15b8882e Mon Sep 17 00:00:00 2001
Message-Id: <1fb890d987088f5b6b4c165d8d05480e15b8882e.1662147854.git.stefan@agner.ch>
From: memeka <mihailescu2m@gmail.com>
Date: Fri, 18 Jan 2019 14:36:21 +1030
Subject: [PATCH] ODROID-XU4: regulator: s2mps11: add ethernet power reset in
shutdown function
Ethernet device cannot be detected on warm boot sometimes. This patch is
to add the power reset routines for ethernet device using PMIC. Then
ethernet device can be reset hardware-wise.
Change-Id: Iffbe2966da7e4679f63b91ab79241167391792df
Signed-off-by: Brian Kim <brian.kim@hardkernel.com>
Signed-off-by: Marian Mihailescu <mihailescu2m@gmail.com>
---
drivers/regulator/s2mps11.c | 55 +++++++++++++++++++++++++++++++++++++
1 file changed, 55 insertions(+)
diff --git a/drivers/regulator/s2mps11.c b/drivers/regulator/s2mps11.c
index ebc67e3ddd4f..51f128076db9 100644
--- a/drivers/regulator/s2mps11.c
+++ b/drivers/regulator/s2mps11.c
@@ -1117,6 +1117,57 @@ static const struct regulator_desc s2mpu02_regulators[] = {
regulator_desc_s2mpu02_buck7(7),
};
+static int s2mps11_pmic_ethonoff(struct platform_device *pdev, bool onoff)
+{
+ struct sec_pmic_dev *iodev = dev_get_drvdata(pdev->dev.parent);
+ unsigned int reg_val = 0;
+ int ret = 0;
+
+ ret = regmap_read(iodev->regmap_pmic, S2MPS11_REG_L15CTRL, &reg_val);
+ if (ret) {
+ dev_err(&pdev->dev, "failed to read S2MPS11_REG_L15CTRL value\n");
+ return ret;
+ }
+
+ ret = regmap_read(iodev->regmap_pmic, S2MPS11_REG_L17CTRL, &reg_val);
+ if (ret) {
+ dev_err(&pdev->dev, "failed to read S2MPS11_REG_L17CTRL value\n");
+ return ret;
+ }
+
+ if (onoff) {
+ /* ETH VDD0 ON */
+ ret = regmap_update_bits(iodev->regmap_pmic, S2MPS11_REG_L15CTRL, 0xFF, 0x72);
+ if (ret) {
+ dev_err(&pdev->dev, "cannot update S2MPS11 LDO CTRL15 register\n");
+ return ret;
+ }
+
+ /* ETH VDD1 ON */
+ ret = regmap_update_bits(iodev->regmap_pmic, S2MPS11_REG_L17CTRL, 0xFF, 0x72);
+ if (ret) {
+ dev_err(&pdev->dev, "cannot update S2MPS11 LDO CTRL17 register\n");
+ return ret;
+ }
+ } else {
+ /* ETH VDD0 OFF */
+ ret = regmap_update_bits(iodev->regmap_pmic, S2MPS11_REG_L15CTRL, 0x3F, 0x00);
+ if (ret) {
+ dev_err(&pdev->dev, "cannot update S2MPS11 LDO CTRL15 register\n");
+ return ret;
+ }
+
+ /* ETH VDD1 OFF */
+ ret = regmap_update_bits(iodev->regmap_pmic, S2MPS11_REG_L17CTRL, 0x3F, 0x00);
+ if (ret) {
+ dev_err(&pdev->dev, "cannot update S2MPS11 LDO CTRL17 register\n");
+ return ret;
+ }
+ }
+
+ return ret;
+}
+
static int s2mps11_pmic_probe(struct platform_device *pdev)
{
struct sec_pmic_dev *iodev = dev_get_drvdata(pdev->dev.parent);
@@ -1219,6 +1270,10 @@ static int s2mps11_pmic_probe(struct platform_device *pdev)
}
}
+ dev_info(&pdev->dev, "Resetting Ethernet\n");
+ s2mps11_pmic_ethonoff(pdev, false);
+ mdelay(10);
+ s2mps11_pmic_ethonoff(pdev, true);
out:
kfree(rdata);
--
2.37.2

View File

@@ -154,3 +154,5 @@ CONFIG_SND_SOC_SOF_INTEL_SOUNDWIRE=m
CONFIG_SND_SOC_SOF_XTENSA=m
CONFIG_THINKPAD_ACPI=m
CONFIG_SENSORS_K10TEMP=m

View File

@@ -57,3 +57,11 @@ menuentry "Slot A (OK=$A_OK TRY=$A_TRY)" {
menuentry "Slot B (OK=$B_OK TRY=$B_TRY)" {
linux (${boothd},gpt4)/bzImage root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 $default_cmdline $cmdline rauc.slot=B
}
menuentry "Slot A (rescue shell)" {
linux (${boothd},gpt2)/bzImage root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd $default_cmdline $cmdline rauc.slot=A systemd.unit=recovery.target
}
menuentry "Slot B (rescue shell)" {
linux (${boothd},gpt4)/bzImage root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 $default_cmdline $cmdline rauc.slot=B systemd.unit=recovery.target
}

View File

@@ -1 +1 @@
dwc_otg.lpm_enable=0 console=tty1 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u,174c:55aa:u
dwc_otg.lpm_enable=0 console=tty1 usb-storage.quirks=174c:55aa:u,2109:0715:u,152d:0578:u,152d:0579:u,152d:1561:u,174c:0829:u,14b0:0206:u

View File

@@ -75,6 +75,8 @@ dtparam=audio=on
# Enable DRM VC4 V3D driver on top of the dispmanx display stack
dtoverlay=vc4-fkms-v3d
max_framebuffers=2
# Enable boost from 1.5Ghz to 1.8Ghz on compatible models
arm_boost=1
[all]
#dtoverlay=vc4-fkms-v3d

View File

@@ -1,8 +1,8 @@
From 2d3d8c091bc692999a1c519c1dc1570cc8be2358 Mon Sep 17 00:00:00 2001
Message-Id: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Mon, 11 Apr 2022 14:47:59 +0200
Subject: [PATCH 01/10] ARM: dts: bcm2711: Add device tree for Home Assistant
Subject: [PATCH 01/13] ARM: dts: bcm2711: Add device tree for Home Assistant
Yellow
Add device tree for Home Assistant Yellow, a Compute Module 4 based I/O
@@ -656,5 +656,5 @@ index 000000000000..fdc5ec5bc956
@@ -0,0 +1 @@
+#include "../../../../arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts"
--
2.36.0
2.37.1

View File

@@ -1,10 +1,10 @@
From a4a63bb6f6789c00762b92f0469d10bac525d1f9 Mon Sep 17 00:00:00 2001
Message-Id: <a4a63bb6f6789c00762b92f0469d10bac525d1f9.1651085802.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <a4a63bb6f6789c00762b92f0469d10bac525d1f9.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:33:09 +0100
Subject: [PATCH 02/10] ARM: dts: bcm2711: yellow: Mux UART4 for SiLabs radio
Subject: [PATCH 02/13] ARM: dts: bcm2711: yellow: Mux UART4 for SiLabs radio
module
Enable UART4 by default and mux pins including hardware flow control.
@@ -57,5 +57,5 @@ index 61d8c81d3de4..8db71876a78c 100644
uart5_pins: uart5_pins {
--
2.36.0
2.37.1

View File

@@ -1,10 +1,10 @@
From c0ddd45166d5aa922045da915202540db3ef2dc2 Mon Sep 17 00:00:00 2001
Message-Id: <c0ddd45166d5aa922045da915202540db3ef2dc2.1651085802.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <c0ddd45166d5aa922045da915202540db3ef2dc2.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:44:23 +0100
Subject: [PATCH 03/10] ARM: dts: bcm2711: yellow: Mux debug UART5
Subject: [PATCH 03/13] ARM: dts: bcm2711: yellow: Mux debug UART5
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
@@ -46,5 +46,5 @@ index 8db71876a78c..d1dea0a214a6 100644
aliases {
--
2.36.0
2.37.1

View File

@@ -1,10 +1,10 @@
From 606dcdc896ffc18001ad4983d45a2e23cacd040a Mon Sep 17 00:00:00 2001
Message-Id: <606dcdc896ffc18001ad4983d45a2e23cacd040a.1651085802.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <606dcdc896ffc18001ad4983d45a2e23cacd040a.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:48:48 +0100
Subject: [PATCH 04/10] ARM: dts: bcm2711: yellow: Enable I2C6 by default
Subject: [PATCH 04/13] ARM: dts: bcm2711: yellow: Enable I2C6 by default
The main I2C bus used on Yellow is I2C6. Enable it by default.
@@ -31,5 +31,5 @@ index d1dea0a214a6..0bdbfdd44aed 100644
pinctrl-names = "default";
pinctrl-0 = <&i2s_pins>;
--
2.36.0
2.37.1

View File

@@ -1,10 +1,10 @@
From 298d5254c1c2151b34eaf87f7e2f44205d34d909 Mon Sep 17 00:00:00 2001
Message-Id: <298d5254c1c2151b34eaf87f7e2f44205d34d909.1651085802.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <298d5254c1c2151b34eaf87f7e2f44205d34d909.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 17:19:01 +0100
Subject: [PATCH 05/10] ARM: dts: bcm2711: yellow: add I2S audio codec
Subject: [PATCH 05/13] ARM: dts: bcm2711: yellow: add I2S audio codec
Add TI PCM5122 I2S audio codec.
@@ -63,5 +63,5 @@ index 0bdbfdd44aed..f6f42bf45c92 100644
pinctrl-names = "default";
pinctrl-0 = <&audio_pins>;
--
2.36.0
2.37.1

View File

@@ -1,10 +1,10 @@
From 41127a02d66d07d0a17e904557899b15a067a692 Mon Sep 17 00:00:00 2001
Message-Id: <41127a02d66d07d0a17e904557899b15a067a692.1651085802.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <41127a02d66d07d0a17e904557899b15a067a692.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Tue, 9 Mar 2021 15:02:53 +0100
Subject: [PATCH 06/10] ARM: dts: bcm2711: yellow: enable GPIO keys
Subject: [PATCH 06/13] ARM: dts: bcm2711: yellow: enable GPIO keys
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
@@ -68,5 +68,5 @@ index f6f42bf45c92..e2fa42a11cc9 100644
brcm,pins = <9 10 11>;
brcm,function = <BCM2835_FSEL_ALT0>;
--
2.36.0
2.37.1

View File

@@ -1,10 +1,10 @@
From efe5e827dc0653066ebc9f71de2ccf391a4bb27e Mon Sep 17 00:00:00 2001
Message-Id: <efe5e827dc0653066ebc9f71de2ccf391a4bb27e.1651085802.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <efe5e827dc0653066ebc9f71de2ccf391a4bb27e.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 28 Oct 2021 19:38:04 +0200
Subject: [PATCH 07/10] ARM: dts: bcm2711: yellow: add user LED
Subject: [PATCH 07/13] ARM: dts: bcm2711: yellow: add user LED
Add yellow user LED.
@@ -39,5 +39,5 @@ index e2fa42a11cc9..6039c7894796 100644
&pwm1 {
--
2.36.0
2.37.1

View File

@@ -1,10 +1,10 @@
From 31ab383d0803e39e94472eea192e712fcc6e3cd6 Mon Sep 17 00:00:00 2001
Message-Id: <31ab383d0803e39e94472eea192e712fcc6e3cd6.1651085802.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <31ab383d0803e39e94472eea192e712fcc6e3cd6.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Fri, 12 Nov 2021 17:33:32 +0100
Subject: [PATCH 08/10] ARM: dts: bcm2711: yellow: add NXP PCF85063A RTC
Subject: [PATCH 08/13] ARM: dts: bcm2711: yellow: add NXP PCF85063A RTC
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
@@ -28,5 +28,5 @@ index 6039c7894796..f78428ea64f3 100644
&i2s {
--
2.36.0
2.37.1

View File

@@ -1,10 +1,10 @@
From f1553f413c8f53694d2f27db5b5c43d19cf1ff4f Mon Sep 17 00:00:00 2001
Message-Id: <f1553f413c8f53694d2f27db5b5c43d19cf1ff4f.1651085802.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <f1553f413c8f53694d2f27db5b5c43d19cf1ff4f.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Fri, 7 Jan 2022 17:10:00 +0100
Subject: [PATCH 09/10] ARM: dts: bcm2711: yellow: enable USB host mode by
Subject: [PATCH 09/13] ARM: dts: bcm2711: yellow: enable USB host mode by
default
The DWC2 controller is disable by default. Enable it since Home
@@ -36,5 +36,5 @@ index f78428ea64f3..711a09441ad0 100644
led-modes = <0x00 0x08>; /* link/activity link */
};
--
2.36.0
2.37.1

View File

@@ -1,10 +1,10 @@
From 6f5e8133651df38d187c05bc27fd8fa25f0216da Mon Sep 17 00:00:00 2001
Message-Id: <6f5e8133651df38d187c05bc27fd8fa25f0216da.1651085802.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1651085802.git.stefan@agner.ch>
Message-Id: <6f5e8133651df38d187c05bc27fd8fa25f0216da.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Wed, 27 Apr 2022 20:36:19 +0200
Subject: [PATCH 10/10] ARM: dts: bcm2711: yellow: use generic activity trigger
Subject: [PATCH 10/13] ARM: dts: bcm2711: yellow: use generic activity trigger
for green LED
Use the generic trigger "activity" for the green LED so that any
@@ -29,5 +29,5 @@ index 711a09441ad0..f2f4f1a49592 100644
};
--
2.36.0
2.37.1

View File

@@ -0,0 +1,32 @@
From f626368d2e2c7b5fc9066e80ef33d58071c297b6 Mon Sep 17 00:00:00 2001
Message-Id: <f626368d2e2c7b5fc9066e80ef33d58071c297b6.1659172941.git.stefan@agner.ch>
In-Reply-To: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
References: <2d3d8c091bc692999a1c519c1dc1570cc8be2358.1659172941.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Tue, 26 Jul 2022 15:53:59 +0200
Subject: [PATCH 11/13] ARM: dts: bcm2711: yellow: use USB OTG mode by default
OTG seems to work fine, and allows to use the USB-C port as a USB
peripheral (e.g. in U-Boot via UMS command).
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
index f2f4f1a49592..f354bfb69093 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
@@ -601,7 +601,7 @@ &sdhost {
&usb {
compatible = "brcm,bcm2835-usb";
- dr_mode = "host";
+ dr_mode = "otg";
g-np-tx-fifo-size = <32>;
g-rx-fifo-size = <558>;
g-tx-fifo-size = <512 512 512 512 512 256 256>;
--
2.37.1

View File

@@ -34,6 +34,8 @@ if gpio input GPIO27; then
echo "Device wipe button has been pressed, setting wipe flag..."
setenv bootargs_hassos "${bootargs_hassos} haos.wipe=1"
fi
elif gpio input GPIO26; then
ums 0 mmc 0
fi
# HassOS system A/B

View File

@@ -1,2 +1,3 @@
CONFIG_CMD_NVME=y
CONFIG_NVME=y
CONFIG_CMD_USB_MASS_STORAGE=y

View File

@@ -20,7 +20,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64 $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.60"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.64"
BR2_LINUX_KERNEL_USE_ARCH_DEFAULT_CONFIG=y
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/arm-uefi/generic-aarch64/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
@@ -71,7 +71,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -20,7 +20,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64 $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.60"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.64"
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/generic-x86-64/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
@@ -71,7 +71,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -20,7 +20,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3 $(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/vim3/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.60"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.64"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/khadas/kernel-vim.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
@@ -58,8 +58,12 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -20,7 +20,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c2/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.60"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.64"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
@@ -58,8 +58,12 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -20,7 +20,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-c4/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.60"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.64"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
@@ -56,8 +56,12 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -20,7 +20,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.60"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.64"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/kernel-amlogic.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-n2/kernel.config"
@@ -58,8 +58,12 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -21,7 +21,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4 $(BR2_EXTERNAL_HASSOS_PATH)/board/hardkernel/odroid-xu4/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.60"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.64"
BR2_LINUX_KERNEL_DEFCONFIG="exynos"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
BR2_LINUX_KERNEL_LZ4=y
@@ -58,8 +58,12 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -20,7 +20,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.60"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.64"
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/pc/ova/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
@@ -71,7 +71,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -62,7 +62,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -64,7 +64,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -65,7 +65,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -65,7 +65,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -64,7 +64,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -22,7 +22,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.60"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.15.64"
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
@@ -60,7 +60,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -64,7 +64,11 @@ BR2_PACKAGE_LIBCGROUP=y
BR2_PACKAGE_LIBCGROUP_TOOLS=y
BR2_PACKAGE_BLUEZ5_UTILS=y
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_AUDIO=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HID=y
BR2_PACKAGE_BLUEZ5_UTILS_PLUGINS_HOG=y
BR2_PACKAGE_BLUEZ5_UTILS_TOOLS=y
BR2_PACKAGE_DBUS_BROKER=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y

View File

@@ -1,3 +1,10 @@
CONFIG_USBIP_CORE=m
CONFIG_USBIP_VHCI_HCD=m
CONFIG_USBIP_VHCI_HC_PORTS=8
CONFIG_USBIP_VHCI_NR_HCS=1
CONFIG_USBIP_HOST=m
CONFIG_USBIP_VUDC=m
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_OPTION=m
@@ -28,9 +35,6 @@ CONFIG_USB_NET_SMSC95XX=m
CONFIG_MEDIA_CEC_SUPPORT=y
CONFIG_BT=y
CONFIG_BT_BREDR=y
CONFIG_BT_LE=y
CONFIG_BT_INTEL=m
CONFIG_BT_BCM=m
CONFIG_BT_RTL=m

View File

@@ -2,7 +2,6 @@ CONFIG_POSIX_MQUEUE=y
CONFIG_CFQ_GROUP_IOSCHED=y
CONFIG_CFS_BANDWIDTH=y
CONFIG_FAIR_GROUP_SCHED=y
CONFIG_RT_GROUP_SCHED=y
CONFIG_NET_SCHED=y
CONFIG_CGROUPS=y
@@ -48,6 +47,10 @@ CONFIG_NF_CONNTRACK=y
CONFIG_NF_NAT=y
CONFIG_NF_NAT_NEEDED=y
CONFIG_NF_CONNTRACK_IPV4=y
CONFIG_IP6_NF_IPTABLES=y
CONFIG_IP6_NF_FILTER=y
CONFIG_IP6_NF_MANGLE=y
CONFIG_IP6_NF_NAT=y
CONFIG_NETFILTER_ADVANCED=y
CONFIG_NETFILTER_XT_MATCH_ADDRTYPE=y
CONFIG_NETFILTER_XT_MATCH_CONNTRACK=y
@@ -71,7 +74,6 @@ CONFIG_EXT4_FS=y
CONFIG_EXT4_FS_POSIX_ACL=y
CONFIG_EXT4_FS_SECURITY=y
CONFIG_OVERLAY_FS=y
CONFIG_OVERLAY_FS_REDIRECT_DIR=y
CONFIG_OVERLAY_FS_METACOPY=y
CONFIG_CRYPTO_CCM=m

View File

@@ -32,8 +32,21 @@ CONFIG_MSDOS_PARTITION=y
# CONFIG_LOGO is not set
# CONFIG_DEBUG_STACK_USAGE is not set
CONFIG_BT=y
CONFIG_BT_BREDR=y
CONFIG_BT_RFCOMM=m
CONFIG_BT_RFCOMM_TTY=y
CONFIG_BT_LE=y
CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_CMTP=m
CONFIG_BT_HIDP=m
CONFIG_BT_LEDS=y
CONFIG_IPV6=y
CONFIG_IPV6_MROUTE=y
CONFIG_IPV6_SIT=m
CONFIG_NF_TABLES=m
CONFIG_NF_TABLES_INET=y

View File

@@ -1,7 +1,7 @@
VERSION_MAJOR=8
VERSION_BUILD=5
VERSION_MAJOR=9
VERSION_BUILD=0
HASSOS_NAME="Home Assistant OS"
HASSOS_ID="haos"
DEPLOYMENT="production"
DEPLOYMENT="development"

View File

@@ -22,7 +22,7 @@ done
# Tag the Supervisor how the OS expects it to be tagged
supervisor=$(docker images --filter "label=io.hass.type=supervisor" --quiet)
arch=$(docker inspect --format '{{ index .Config.Labels "io.hass.arch" }}' "${supervisor}")
docker tag "${supervisor}" "homeassistant/${arch}-hassio-supervisor:latest"
docker tag "${supervisor}" "ghcr.io/home-assistant/${arch}-hassio-supervisor:latest"
# Setup AppArmor
mkdir -p "/data/supervisor/apparmor"

View File

@@ -4,7 +4,7 @@
#
################################################################################
OS_AGENT_VERSION = 1.2.1
OS_AGENT_VERSION = 1.3.0
OS_AGENT_SITE = $(call github,home-assistant,os-agent,$(OS_AGENT_VERSION))
OS_AGENT_LICENSE = Apache License 2.0
OS_AGENT_LICENSE_FILES = LICENSE

View File

@@ -0,0 +1,46 @@
From 88f63699c444e43096e765b2603aa211a8ae58bb Mon Sep 17 00:00:00 2001
Message-Id: <88f63699c444e43096e765b2603aa211a8ae58bb.1661980860.git.stefan@agner.ch>
From: Thomas Haller <thaller@redhat.com>
Date: Fri, 8 Apr 2022 15:33:39 +0200
Subject: [PATCH] connectivity: handle "NoNameServers" resolved error and don't
callback to system resolver
No need to try further. The verdict is clear.
From the log:
<debug> [1649424031.1507] connectivity: (wlan0,IPv4,427) can't resolve a name via systemd-resolved: GDBus.Error:org.freedesktop.resolve1.NoNameServers: No appropriate name servers or networks for name found
<debug> [1649424031.1507] connectivity: (wlan0,IPv4,427) start request to 'http://fedoraproject.org/static/hotspot.txt' (try resolving 'fedoraproject.org' using system resolver)
(cherry picked from commit 5b779c1ab7fb53857db235383af8274ab824a55e)
(altered to apply to 1.34.0)
---
src/core/nm-connectivity.c | 11 ++++++++++-
1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/core/nm-connectivity.c b/src/core/nm-connectivity.c
index 13fb026514..3e4914ee3b 100644
--- a/src/core/nm-connectivity.c
+++ b/src/core/nm-connectivity.c
@@ -719,8 +719,17 @@ resolve_cb(GObject *object, GAsyncResult *res, gpointer user_data)
g_clear_object(&cb_data->concheck.resolve_cancellable);
if (!result) {
- /* Never mind. Just let do curl do its own resolving. */
+ gs_free char *dbus_error = NULL;
+
_LOG2D("can't resolve a name via systemd-resolved: %s", error->message);
+
+ dbus_error = g_dbus_error_get_remote_error(error);
+ if (nm_streq0(dbus_error, "org.freedesktop.resolve1.NoNameServers")) {
+ cb_data_complete(cb_data, NM_CONNECTIVITY_LIMITED, "resolve-error");
+ return;
+ }
+
+ /* Never mind. Just let do curl do its own resolving. */
do_curl_request(cb_data);
return;
}
--
2.37.2

View File

@@ -0,0 +1,3 @@
[Service]
PrivateTmp=false
PrivateDevices=false

View File

@@ -1,2 +1,6 @@
[Unit]
FailureAction=reboot
[Service]
ExecStartPre=/usr/libexec/docker-disk-check
ExecStopPost=/usr/libexec/docker-failure

View File

@@ -3,4 +3,5 @@ RequiresMountsFor=/etc/docker /mnt/data /var/lib/docker
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd -H fd:// --cpu-rt-runtime=950000 --storage-driver=overlay2 --log-driver=journald --log-opt tag="{{.ImageName}}/{{.Name}}" --data-root /mnt/data/docker
ExecStart=/usr/bin/dockerd -H fd:// --storage-driver=overlay2 --log-driver=journald --experimental --ip6tables --log-opt tag="{{.ImageName}}/{{.Name}}" --data-root /mnt/data/docker
OOMScoreAdjust=-400

View File

@@ -1,3 +0,0 @@
[Unit]
Requires=docker.service
After=docker.service

View File

@@ -0,0 +1,6 @@
[Unit]
Wants=network-online.target
[Install]
WantedBy=
WantedBy=time-sync.target

View File

@@ -0,0 +1,60 @@
# SPDX-License-Identifier: LGPL-2.1-or-later
#
# This file is part of systemd.
#
# systemd is free software; you can redistribute it and/or modify it
# under the terms of the GNU Lesser General Public License as published by
# the Free Software Foundation; either version 2.1 of the License, or
# (at your option) any later version.
[Unit]
Description=Network Time Synchronization
Documentation=man:systemd-timesyncd.service(8)
ConditionCapability=CAP_SYS_TIME
ConditionVirtualization=!container
DefaultDependencies=no
After=systemd-sysusers.service
Before=time-set.target shutdown.target
Conflicts=shutdown.target
Wants=time-set.target
[Service]
AmbientCapabilities=CAP_SYS_TIME
BusName=org.freedesktop.timesync1
CapabilityBoundingSet=CAP_SYS_TIME
# Turn off DNSSEC validation for hostname look-ups, since those need the
# correct time to work, but we likely won't acquire that without NTP. Let's
# break this chicken-and-egg cycle here.
Environment=SYSTEMD_NSS_RESOLVE_VALIDATE=0
ExecStart=!!/usr/lib/systemd/systemd-timesyncd
LockPersonality=yes
MemoryDenyWriteExecute=yes
NoNewPrivileges=yes
PrivateDevices=yes
PrivateTmp=yes
ProtectProc=invisible
ProtectControlGroups=yes
ProtectHome=yes
ProtectHostname=yes
ProtectKernelLogs=yes
ProtectKernelModules=yes
ProtectKernelTunables=yes
ProtectSystem=strict
Restart=always
RestartSec=0
RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6
RestrictNamespaces=yes
RestrictRealtime=yes
RestrictSUIDSGID=yes
RuntimeDirectory=systemd/timesync
StateDirectory=systemd/timesync
SystemCallArchitectures=native
SystemCallErrorNumber=EPERM
SystemCallFilter=@system-service @clock
Type=notify
User=systemd-timesync
WatchdogSec=3min
[Install]
WantedBy=time-sync.target
Alias=dbus-org.freedesktop.timesync1.service

View File

@@ -1,2 +1,3 @@
[Unit]
RequiresMountsFor=/var/lib/systemd
After=network-online.target

View File

@@ -1,11 +1,11 @@
[Unit]
Description=HassOS supervisor
Requires=docker.service rauc.service dbus.service
Requires=docker.service rauc.service dbus.socket
Wants=network-online.target hassos-apparmor.service time-sync.target systemd-journal-gatewayd.socket
After=docker.service rauc.service dbus.service network-online.target hassos-apparmor.service time-sync.target systemd-journal-gatewayd.socket
After=docker.service rauc.service dbus.socket network-online.target hassos-apparmor.service time-sync.target systemd-journal-gatewayd.socket
RequiresMountsFor=/mnt/data /mnt/boot /mnt/overlay
StartLimitIntervalSec=60
StartLimitBurst=5
StartLimitIntervalSec=30m
StartLimitBurst=3
ConditionPathExists=/run/dbus/system_bus_socket
ConditionPathExists=/run/docker.sock

View File

@@ -12,6 +12,7 @@ Wants=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2ddata.service systemd-growfs@mn
What=/dev/disk/by-label/hassos-data
Where=/mnt/data
Type=ext4
Options=commit=30
[Install]
WantedBy=local-fs.target

View File

@@ -0,0 +1,12 @@
#!/bin/sh
# Check if less than 128MiB is available on /mnt/data (4k block size).
if [ "$(stat -f /mnt/data -c '%f')" -lt 32768 ]; then
echo "The system is very low on disk space!"
echo "This can cause Docker to fail to start, causing a boot loop."
echo "Asking systemd-journald to free up some space."
# systemd-journald defaults to 10% of disk size. So this should free up
# space for any system which has been running for a while (presumably it
# has when there is no space) and has a disk size larger than ~2.5GiB.
journalctl --vacuum-size=256M
fi

View File

@@ -0,0 +1,11 @@
#!/bin/sh
if [ "$SERVICE_RESULT" = "exit-code" ] && [ "$EXIT_STATUS" = "1" ]; then
echo "Docker exited with exit status 1, this might be caused by corrupted key.json."
size=$(stat -c %s "/etc/docker/key.json")
echo "key.json: ${size} bytes"
if ! jq < "/etc/docker/key.json" > /dev/null || [ "${size}" -eq 0 ]; then
echo "key.json appears to be corrupted, it is not parsable. Removing it."
rm -f "/etc/docker/key.json"
fi
fi

View File

@@ -12,7 +12,7 @@ set -e
SUPERVISOR_DATA=/mnt/data/supervisor
SUPERVISOR_STARTUP_MARKER="/run/supervisor/startup-marker"
SUPERVISOR_STARTSCRIPT_VERSION="/mnt/data/.hassos-supervisor-version"
SUPERVISOR_IMAGE="homeassistant/${SUPERVISOR_ARCH}-hassio-supervisor"
SUPERVISOR_IMAGE="ghcr.io/home-assistant/${SUPERVISOR_ARCH}-hassio-supervisor"
SUPERVISOR_IMAGE_ID=$(docker images --no-trunc --filter "reference=${SUPERVISOR_IMAGE}:latest" --format "{{.ID}}" || echo "")
SUPERVISOR_CONTAINER_ID=$(docker inspect --format='{{.Image}}' hassio_supervisor || echo "")
@@ -80,7 +80,9 @@ if [ -z "${SUPERVISOR_CONTAINER_ID}" ]; then
docker container create \
--name hassio_supervisor \
--privileged --security-opt apparmor="hassio-supervisor" \
--oom-score-adj=-300 \
-v /run/docker.sock:/run/docker.sock:rw \
-v /run/docker/containerd/containerd.sock:/run/docker/containerd/containerd.sock:rw \
-v /run/systemd-journal-gatewayd.sock:/run/systemd-journal-gatewayd.sock:rw \
-v /run/dbus:/run/dbus:ro \
-v /run/supervisor:/run/os:rw \
@@ -89,7 +91,6 @@ if [ -z "${SUPERVISOR_CONTAINER_ID}" ]; then
-v ${SUPERVISOR_DATA}:/data:rw \
-e SUPERVISOR_SHARE=${SUPERVISOR_DATA} \
-e SUPERVISOR_NAME=hassio_supervisor \
-e SUPERVISOR_CPU_RT=1 \
-e SUPERVISOR_MACHINE=${SUPERVISOR_MACHINE} \
"${SUPERVISOR_IMAGE}:latest"