1
0
mirror of https://github.com/home-assistant/operating-system.git synced 2026-04-02 00:27:14 +01:00
Commit Graph

696 Commits

Author SHA1 Message Date
Jan Čermák
454d764676 Update Buildroot to 2024.02 (#3241)
* Update Buildroot to tag 2024.02 with rebased HAOS patchset

* udisks2: update to v2.10.1

  * Updated to version 2.10.x compatible with libblockdev v3
  * Rebased patches to new codebase
  * Autoreconf patch is not needed anymore
  * libblockdev-nvme is now hard dependency of udisks daemon

* patches/grub2: remove upstreamed efidisk patch

* patches/network-manager: update multiple gateway patch

* package/os-agent: fix go download

  After the Go update, build fails with the following error on mod vendor:

    GOPROXY list is not the empty string, but contains no entries

  Turns out this step is not having the environment variables set, use
  those used for download to fix it.

* package/xe-guest-utilities: set DL env for go mod vendor

* Bump buildroot to fix missing unit file from nfs-utils

* buildroot 3f950a1aee...a1b2d12f32 (1):
  > package/nfs-utils: only install fsidd binary and unit file with enabled nfsd

* CI: install flake8 for pr-checks runner

  Use distribution package, as it's what's used in Buidlroot's Gitlab CI
  Docker image at buildroot/support/docker/Dockefile.

* Disable check for Upstream section in the patch header for now

  It was introduced in latest BR - disable it for now and re-enable
  for HAOS in a later separate PR.
2024-03-13 15:16:54 +01:00
Jan Čermák
b5795a0277 Linux: Update kernel to 6.6.21 (#3234)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.21
2024-03-11 18:28:36 +01:00
Jan Čermák
e24fbf63ae Revert back to OOT driver for RTL8821CU (#3225)
The in-tree driver introduced in HAOS 12.0 is having random issues,
so revert back to the stable OOT driver that was used before for now.
Also it add it to RPi 2 and Yellow where it's been missing the whole
time.

Fixes #3205
2024-03-06 16:50:14 +01:00
Jan Čermák
47f8671925 Add Intel Wireless-N 105 firmware for generic-x86-64 (#3219)
* buildroot 0ab96d7c0d...15dc3b6e0c (1):
  > linux-firmware: add options for missing Intel b/g/n cards

Fixes #3200
2024-03-04 11:56:23 +01:00
Jan Čermák
8f577e47db Linux: Update kernel to 6.6.20 (#3218)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.19
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.20
2024-03-04 11:42:04 +01:00
Jan Čermák
2adfa287d1 Linux: Update kernel to 6.6.18 (#3204)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.17
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.18
2024-02-27 19:17:39 +01:00
Tim L
1b66f81dfa Add support for Odroid M1S Board (#3121)
* Copy Odroid-m1 config for new odroid-m1s board

* config: Adjust names and paths for odroid-m1s

* configs: Use rk3566 blobs for ATF

* set correct fdt in uboot.ush

* Add linux patches with Odroid-m1s devicetree

Synced from Hardkernel unofficial 6.1 tree
ae33b44557/arch/arm64/boot/dts/rockchip/rk3566-odroid-m1s.dts

With additional cleanup and fixes for mainline linux

* Add Odroid M1S to Github actions

* uboot: Patch boot order to set SD Card first

* Create u-boot placeholder partion for odroid-m1s also

* Switch u-boot to full odroid-m1s config

* cherry-pick emmc stability improvements

* Generalise u-boot to use ${devtype} instead of hardcoded mmc

* Remove deprecated snps, reset options from device tree

* re-enable uboot ethernet
2024-02-14 12:01:15 +01:00
Tim L
f05294e51d Factor out common Rockchip config (#3165)
* Create common kernel config for Rockchip aarch64 boards

* Green: drop kernel option already included in main config

* Move rockchip RNG patchset to common folder

* Odroid-m1 has no board specific patches now
2024-02-12 16:05:47 +01:00
Jan Čermák
e7a62ce563 RaspberryPi: Update kernel to 6.1.73 - stable_20240124 (#3162)
* RaspberryPi: Update kernel to 6.1.73 - stable_20240124

* Bump rpi-firmware to version for RPi Linux 6.1.73

* buildroot f844f7f725...0ab96d7c0d (1):
  > package/rpi-firmware: bump to version for stable_20240124 kernel
2024-02-08 22:02:28 +01:00
Jan Čermák
0028e20973 Linux: Update kernel to 6.6.16 (#3159)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.16
2024-02-08 10:36:58 +01:00
Jan Čermák
c1b936716d Enable ath12k, MT7996E and various new Realtek drivers from Linux v6.6 (#3151)
* Enable ath12k, MT7996E and various new Realtek drivers from Linux v6.6

* Remove custom rtl8821cu driver from targets running Linux 6.6
2024-02-06 18:18:58 +01:00
Jan Čermák
87938f0a4b Use separate path for v6.1.y and v6.6.y kernel config fragments (#3146)
* Use separate path for v6.1.y and v6.6.y kernel config fragments

Since we're now maintaining Linux configs for two different versions,
it may happen that we want to add some options only to one of the
versions. While the Kconfig might figure the invalid options itself,
our config checking tooling would spam us with warnings. This commit
splits the configs to two directories. This pattern is used only for
the common fragments, more specific ones are usually sharing the same
Linux version anyway.

* Add back options removed in v6.6.y to v6.1.y kernel config fragments
2024-02-05 20:06:59 +01:00
Jan Čermák
9dcf8ae82f Update to 6.6 LTS kernel (#3063)
* Linux: Update kernel 6.6.15

* Update buildroot packages to work with Linux 6.6

* Fix top-level and pc patches of linux

* Update tinker patch series

* Drop Odroid M1 patches

M1 is now supported in upstream.

* Update Hardkernel patches

Needed larger refactoring because of 379ae64609c7a3301b60483eb65bd8bc78f76328

* Update Green patches

* Update Odroid XU4 patches

Removing the TMU patch/hack for now, need to check if it's still needed.
If it is indeed, then it needs slighter rewrite.

* Move Rockchip RNG patches to M1 and Green dirs

* Update rtl88x2bu package to fix build

* Update gasket package to fix build

* Fix eq3_char_loop build

* Use fan53555 instead of custom rk860x driver

* Fix kernel base configs and fragments after 6.6 update

Mostly removed options that have been removed between releases. Only
a few options have been renamed, then there's bunch of options that
had dependencies added so they are available only on some architectures,
which are not those that we're using.

* Remove deprecated regulator-compatible from Green DTS
2024-02-02 14:27:18 +01:00
Jan Čermák
c90c175754 Linux: Update kernel to 6.1.76 (#3134)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.1.76
2024-02-01 11:32:41 +01:00
Tim L
9e7b6783d1 Drop Amlogic specific patches for Odroid-m1 build (#3120)
All of the patches in ./board/hardkernel/patches are specific to
Amlogic SoC's. Drop this patch path when building Rockchip based
Odroid-m1 board.
2024-01-31 09:12:33 +01:00
Jan Čermák
1f45aaf359 Update ATF and DDR blob for Odroid M1, change 1056->1560 MHz RAM timing (#3125)
Odroid M1 was using 1056 MHz blob for RAM training, although it can run
at 1560 MHz. Use the correct file for M1 and update it to latest version,
along with ARM Trusted Firmware blob.
2024-01-30 13:48:36 +01:00
Jan Čermák
82e1beff2e Linux: Update kernel 6.1.75 (#3123) 2024-01-30 11:30:19 +01:00
Tim L
54e86009c2 Use rockchip combined SPL images for Tinkerboard (#3118)
* tinker: Drop patch for u-boot entry point and move into uboot.config

* tinker: Use rockchip combined uboot image
2024-01-30 11:22:23 +01:00
Stefan Agner
bd3cae5300 Disable Ethernet in U-Boot if ODROID-M1 (#3122)
It seems that the Ethernet initialization in U-Boot causes significant
packet drops in Linux on some board. On a ODROID-M1 with 8GB of RAM, a
packet loss rate of ~20% has been observed. From the user point of view
it feels like a massive slow down (SSH feels very slow, Home Assistant
loads very slow or not at all).

Disabling the Ethernet controller driver avoids initialization in U-Boot
and makes Ethernet work correctly again in Linux.

While at it, drop the previously board specific configs. They haven't
been used and the board seemed fine without them.
2024-01-30 10:12:48 +01:00
Tim L
9df30c9e4e Use rockchip combined uboot images (#3115) 2024-01-29 22:12:52 +01:00
Jan Čermák
aadb5a74b6 Use renamed MT7921/MT7922 options from linux-firmware upstream merge (#3106)
* ../../../buildroot 55120df0b7...512a487366 (3):
  > package/linux-firmware: add WiFi and BT firmware for MT7921 and MT7922
  > package/dbus-broker: fix legal info
  > package/rtl8821cu: fix legal info
2024-01-25 09:43:07 +01:00
Jan Čermák
08b3277bdb Resolve warnings caused by incorrect kernel config settings (#3104)
* Remove all non-existing kernel config symbols

* Remove unapplied x86 Intel sound options

These are missing various subsystem dependencies and were never in fact
enabled, assuming they're rather exotic and removing them completely.

* Add missing dependencies, adjust tristate values, remove nonsense

* Use KERNEL_LZ4 only for non-aarch64

Since aarch64 doesn't use self-extracting kernel:
https://patchwork.kernel.org/project/linux-arm-kernel/patch/20190119185540.20526-1-tobias.johannes.klausmann@mni.thm.de/

* Extract PCI options to device-support-pci fragment (renamed from device-support-pcie)

RPi 4+ should use this fragment too, since CM4 has PCIe support.

* Rename RPi's kernel-32b fragment to kernel-armv7
2024-01-24 12:03:25 +01:00
Stefan Agner
bf744adc5f Bump U-Boot to 2024.01 (#3096)
* Bump U-Boot to 2024.01 for Raspberry Pi and Home Assistant Yellow

* Regenerated using --no-thread

By default git creates some email headers. We can minimize them using
--no-thread.

* Fix build for Yellow

* Update U-Boot for ASUS Tinker Board

* Update U-Boot for Khadas VIM3

* Update U-Boot for ODROID-M1

* Update U-Boot for Home Assistant Green

* Update U-Boot for ODROID-C2/C4/N2/XU4
2024-01-24 10:01:13 +01:00
Jan Čermák
82e7dc7ccf Linux: Update kernel 6.1.74 (#3093) 2024-01-22 18:09:30 +01:00
Jan Čermák
c845b387c9 Linux: Update kernel 6.1.73 (#3083) 2024-01-17 18:58:45 +01:00
Jan Čermák
a7f570c4b4 Linux: Update kernel 6.1.72 (#3064)
* Linux: Update kernel 6.1.72
* Remove SMB client workaround for 6.1.71
2024-01-11 10:04:10 +01:00
Jan Čermák
1a48d6fdd4 Add rtw89 firmware option missing in #3003 (#3043)
In #3003 the rtw89 firmware was only added to the buildroot submodule,
config option for enabling it was missing.
2024-01-06 17:30:50 +01:00
Jan Čermák
f50f7c2475 Linux: Update kernel 6.1.71 (#3046) 2024-01-06 17:29:28 +01:00
Jan Čermák
62b76f7f47 Linux: Update kernel 6.1.70 (#3029) 2024-01-03 10:02:34 +01:00
Stefan Agner
de82d0b412 Linux: Update kernel 6.1.69 (#3009) 2023-12-21 09:45:54 +01:00
Jan Čermák
2e7aa1dc6a Add rtw89, mt7921 and mt7922 WiFi and BT firmware (#3003)
Add new firmwares and enable them for all targets.
Bloat in rootfs in my x86_64 test build was ~2.16 MiB.

Buildroot bump:

* buildroot 8a75878da4...4c89661fd1 (2):
  > package/linux-firmware: add WiFi and BT firmware for MT7921 and MT7922
  > package/linux-firmware: add rtw89 firmware files
2023-12-20 17:39:04 +01:00
Stefan Agner
b9efb8edaf Enable WPA3 support in wpa_supplicant to support WPA3-SAE (#3000) 2023-12-19 15:43:18 +01:00
Jan Čermák
722cdf26f4 Enable ZSTD compression of firmware files (#3001)
Compress firmware files from linux-firmware using ZSTD algorithm.
This should grant us some more space to add more firmwares and should
not have any major performance impact, because firmwares are not accessed
frequently.

Includes buildroot submodule bump:
* buildroot 07e08e01b2...8a75878da4 (1):
  > linux-firmware: add option for firmware files compression
2023-12-19 15:31:19 +01:00
Stefan Agner
779b75f10e Linux: Update kernel 6.1.68 (#2991) 2023-12-14 17:59:51 +01:00
Stefan Agner
8e1016dcaf Initial Raspberry Pi 5 support (#2914)
* Add initial Raspberry Pi 5 buildroot config

* Add machine-id support via cmdline.txt

* Add new entry if entry is missing

* Don't overwrite cmdline.txt when adding machine-id

Use sed to append the new cmdline parameter to the first line.

* Skeleton script for RAUC custom bootloader interface

* Deploy kernel/device-tree into a RAUC slot specific directory

This allows us to use the os_prefix feature to switch between slot A and
B. Compared to the boot_partition option, this option allows to use a
shared config.txt and cmdline.txt, which makes it more like how HAOS
currently works on other Raspberry Pis.

* Deploy new kernel/device-tree to correct slot on installation

* Increase boot size to 128MB

This makes sure we can store up to three kernels (slot A, B and an
temporary one while installing the OTA update).

* Initial tryboot implementation using os_prefix

* Make sure to delete the old slot completely

* Add Busybox xargs for tryboot bootloader script

* Compare tryboot bootloader file silently

* Revert "Increase boot size to 128MB"

This reverts commit 7f2c69b58f02f500d6aeee4f0a419046899b5e38.

* Use compressed kernel

* Address shellcheck

* Address shellcheck issue in rauc-hook

* Fix shellcheck for rpi-tryboot.sh

* Do not follow source - it gets checked separately

* Correctly set the slot to boot

* Apply suggestions from code review

Co-authored-by: Jan Čermák <sairon@users.noreply.github.com>

* Drop serial console from default cmdline.txt

* Resync rpi5_64_defconfig with rpi4_64_defconfig

* Improve machine-id match

Only match actual hexadecimal characters.

* Deploy firmware overlays to OS prefix directory

* Add Raspberry Pi 5 to documentation

* Bump buildroot

* buildroot fd1dc86f40...f13ad03408 (1):
  > linux: add in-tree device tree overlay support

* Install device tree overlays from Kernel sources

* Drop RPi RF modules for now

No Raspberry Pi 5 specific device tree overlays are  available, drop RPi
RF mod for now.

* Use Raspberry 5 specific identifiers for Supervisor/OS Agent

* Bump buildroot

* buildroot f13ad03408...07e08e01b2 (1):
  > linux: fix add in-tree device tree overlay support

* Revert "Drop RPi RF modules for now"

This reverts commit 46fc1701e4.

---------

Co-authored-by: Jan Čermák <sairon@users.noreply.github.com>
2023-12-12 13:19:26 +01:00
Stefan Agner
ac089a2d8e Linux: Update kernel 6.1.67 (#2984) 2023-12-12 09:20:50 +01:00
Jan Čermák
1e6deab48b Linux: Update kernel 6.1.66 (#2979) 2023-12-11 10:51:20 +01:00
Jan Čermák
da40ca2271 Linux: Update kernel 6.1.65 (#2960) 2023-12-04 13:23:13 +01:00
Jan Čermák
a79e3b270c RaspberryPi: Update kernel 6.1.63 - stable_20231123 (#2956)
* RaspberryPi: Update kernel 6.1.63 - stable_20231123

* Bump rpi-firmware to latest stable version

* buildroot 2b6996211e...836f7e7b5e (1):
  > package/rpi-firmware: bump to version for stable_20231123 kernel
2023-12-01 18:14:01 +01:00
Stefan Agner
26e96caef6 Linux: Update kernel 6.1.64 (#2954) 2023-11-30 14:45:55 +01:00
Jan Čermák
2c6d0de965 Enable more WiFi drivers for all platforms (#2951)
Preemptively enable larger set of WiFi drivers for all platforms and add more firmwares for them with the aim to harmonize WiFi device support among all boards and to have implicit support of devices that users might want to use.  Targets `generic_aarch64`, `generic_x86_64` and `ova` also include options and firmwares for cards that are using PCI/PCIe bus - support for these is in a separate config fragment.

Especially the `generic_x86_64` is currently very tight with the rootfs space, so I had to do some triaging and select only sensible drivers and firmwares - especially archaic PCMCIA devices or devices not supporting only 802.11g or lower standards were among the first that I removed during the triaging - we can consider enabling those but this time on an someone's explicit need to have them enabled.

This closes #2815 and replaces large part of #2761, also potentially addresses (at least) these: #2806, #2783, #2841, #2776, #2725, #2600

-------------

* Remove WiFi options from generic and board kernel config fragments
* Enable MMC in OVA kernel
   This is needed for SDIO drivers to work. Use the same options as we
   currently use for generic_x86_64.
* Add CRYPTO_MICHAEL_MIC to the common kernel config
   This is requirement for TKIP and is a dependency of ATH11K driver.
* Add kernel config fragments with wireless cards support
* Add firmwares for WiFi cards
* Enable more Bluetooth device drivers
2023-11-30 14:19:05 +01:00
Jan Čermák
1ea0bb7bf4 Linux: Update kernel 6.1.63 (#2937) 2023-11-20 17:28:25 +01:00
Stefan Agner
1238527b49 Linux: Update kernel 6.1.62 (#2917) 2023-11-09 22:09:04 +01:00
Jan Čermák
5314324c61 RaspberryPi: Update kernel 6.1.58 - stable_20231030 (#2904) 2023-11-02 16:26:47 +01:00
Jan Čermák
53d139df97 Linux: Update kernel 6.1.61 (#2903) 2023-11-02 16:19:57 +01:00
Jan Čermák
26bfeb6c40 Refresh all boards' defconfigs (#2895)
Make sure the order of options is the same as generated by Kconfig by
running savedefconfig on an unchanged configuration.
2023-11-02 13:45:40 +01:00
Jan Čermák
252887cc0d RaspberryPi: Update kernel 6.1.58 - stable_20231024 (#2864)
* RaspberryPi: Update kernel 6.1.58 - stable_20231024

* Remove unnecessary Bluetooth patch

* Rebase Yellow patchset

---------

Co-authored-by: Stefan Agner <stefan@agner.ch>
2023-10-27 11:16:27 +02:00
Stefan Agner
9c021aa766 Linux: Update kernel 6.1.60 (#2867) 2023-10-26 20:45:06 +02:00
Jan Čermák
b56f660316 Linux: Update kernel 6.1.59 (#2849) 2023-10-23 10:32:23 +02:00
Stefan Agner
157144eaa5 Linux: Update kernel 6.1.58 (#2829) 2023-10-17 10:51:43 +02:00