1
0
mirror of https://github.com/home-assistant/operating-system.git synced 2026-03-03 16:21:10 +00:00
Commit Graph

62 Commits

Author SHA1 Message Date
Stefan Agner
75dcb932f8 Use zswap instead of swap in zram (#2420)
* Use zswap instead of swap in zram

This requires a swap file which will get generated automatically on
startup.

* Fix file size and free disk space comparison

* Set zswap factor to 33%

* Set vm.swappiness to 1

Decrease swapping to a minimum. This is also recommended for database
work loads by the MariaDB documentation. In practice it causes the least
amount of writes to disk when under memory pressure, while still making
swap available when needed.
2023-03-22 11:08:05 +01:00
Stefan Agner
2b0187604b Choose Security Module using Kernel configuration (#2407) 2023-03-14 18:29:01 +01:00
Stefan Agner
8eef678e48 Add Multi-Gen LRU but disabled by default (#2400)
It seems that Raspberry Pi enabled Multi-Gen LRU by default. By my
testing, it performs worse in some situation. Add it by default for all
platforms, but disable it by default for now.
2023-03-13 00:53:33 +01:00
Stefan Agner
a93781c360 Add libseccomp (#2389)
* Add security library libseccomp

Enable libseccomp to activate seccomp support in HAOS. This will compile
systemd and Docker with seccomp support.

Note: Traditionally Supervisor required to disable seccomp. This seems
no longer to be the case with current Supervisor, but it needs further
testing. All containers started by Supervisor get currently started with
seccomp disabled.

* Enable seccomp in the kernel
2023-03-08 00:38:28 +01:00
Stefan Agner
acaba8c3ea Add RTL8723BE PCIe Wi-Fi chip support (#2329) (#2336) 2023-01-31 23:55:26 +01:00
Stefan Agner
fb4df28671 Enable Realtek RTL8723AU/RTL8188[CR]U/RTL819[12][CE]U support (#2281) 2022-12-21 00:08:38 +01:00
Stefan Agner
97e9a0372c Add fq_codel network packet scheduler algorithm by default (#2203)
The fq_codel network scheduler is the de-facto standard nowadays in most
distros. Systemd enables the scheduler by default if available. Make
sure all boards have the necessary kernel module activated.
2022-10-26 16:56:09 +02:00
Pascal Vizeli
a3cc15f11f Streamline CONFIG_RT_GROUP_SCHED (#2169)
* Disable RT_GROUP_SCHED
2022-10-03 15:41:13 +02:00
Carsten Hiort
e53196d176 Allow multicast forwarding for IPv4 (#2160)
* Allow multicast forwarding for IPv4

* Move MCast fordwarding to seperate group

* Remove whitespace
2022-09-30 13:50:53 +02:00
ioctl2
9eb95cbbdb Enable .config via /proc/config.gz + zcat via busybox (#2149) 2022-09-21 10:47:30 +02:00
Stefan Agner
cb58b14e06 Bump Raspberry Pi kernel and firmware to 1.20220830 (#2117)
* RaspberryPi: Update kernel 5.15.61 - 1.20220830

* Add Yellow to the Raspberry Pi kernel update script

* Bump Yellow to kernel 5.15.61 - 1.20220830

Also drop the work around for the LED polarity as the new firmware
has been fixed.

* Explicitly select no kernel module compression

Home Assistant OS uses a compressed rootfs already, no compression for
kernel modules necessary.

* Bump buildroot

* buildroot d7e4c223e5...5468d36a26 (1):
  > package/rpi-firmware: bump version to 1.20220830
2022-09-07 19:21:30 +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
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
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
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
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
46ff688c20 Add Network options required for OpenThread Border Router (#1870)
* Support firewall matching by pkttype

Matching by pkttype is required by the reference OTBR firewall script.

* Add additional Kernel configurations required for OpenThread.
2022-04-27 20:28:02 +02:00
Guglielmo De Concini
f0032a39f2 Enable wext backend for wpa_supplicant to support r8188eu (#1811)
* Enable wext and nl80211 drivers for wpa_supplicant for all devices

* Enable r8188eu module globally and add related firmware to all devices config

Co-authored-by: Stefan Agner <stefan@agner.ch>
2022-04-01 18:39:28 +02:00
Stefan Agner
23e58009f2 Enable nftables packet filtering as modules (#1812) (#1824) 2022-03-31 21:27:38 +02:00
Stefan Agner
4390fa7acd Add IP set support for iptables (#1778) (#1780) 2022-03-16 15:38:34 +01:00
Stefan Agner
06a1c21b82 Support Realtek 8152/8153/8156 USB Ethernet adapter (#1604) (#1625)
* Bump buildroot

* buildroot 73991f0fee...5b5dff3136 (1):
  > package/linux-firmware: Add RTL8152/8153/8156 firmware

* Enable Realtek 8152/8153/8156 USB Ethernet adapter support

Enable kernel driver and install firmware for Realtek USB Ethernet
adapter. While at it, also enable some other common USB Ethernet
adapters which don't require firmwares.
2021-11-02 23:53:48 +01:00
Stefan Agner
8058392043 Compile Btrfs support as a module (#1623)
We don't use Btrfs as root file system, so there is no need to have it
compiled in by default.
2021-11-01 14:33:42 +01:00
annuges
323cba6777 Add support for Btrfs (#1612)
Add support for Btrfs file system to the kernel to allow host OS and Add-ons to mount external disks formatted with it.
2021-10-28 01:35:37 +02:00
Stefan Agner
631c0c5d53 Make sure Intel BT gets built as a module (#1558)
CONFIG_BT_HCIBTUSB selects CONFIG_BT_INTEL. That causes CONFIG_BT_INTEL
to be built-in instead of being built as a kernel module.

When the driver is built-in, loading firmware fails during early boot
with the following error message:
[ 1.058941] bluetooth hci0: Direct firmware load for intel/ibt-17-16-1.sfi failed with error -2

Make sure the driver is built as a module which should fix firmware
loading.
2021-09-29 10:13:16 +02:00
Stefan Agner
5af4942607 Add USB DS9490R 1-wire master support (#1513) (#1527)
* Add USB DS9490R 1-wire master support (#1513)

* Add 1-Wire support via GPIO as well
2021-09-04 14:47:02 +02:00
Stefan Agner
0d31ddfa43 Add Mediatek MT7601U support (#1526) 2021-09-03 01:18:26 +02:00
Rob VDM
5bb42ff43c Add support for Keyspan USB-Serial adapters (#1509) 2021-08-19 12:00:28 +02:00
Stefan Agner
c8f6c6c2b0 Add firmware for Realtek 87xx/88xx Bluetooth devices (#1427) (#1480) 2021-07-27 23:56:23 +02:00
Stefan Agner
99319542b9 Enable support for Ralink rt27xx/rt28xx/rt30xx and rt73 devices (#1443) (#1479)
This includes device support for RT2870 or RT5572 among many others.
2021-07-27 23:48:33 +02:00
Stefan Agner
b03482996f Drop superseeded CRDA utility (#1452)
The CRDA (Central Regulatory Domain Agent) utility has been used as a
user space helper to load regulatory information for WiFi drivers.
However, since Linux 4.15 the kernel can load the regulatory information
directly from a signed firmware file "regulatory.db".

The regulatory.db file is provided by the WIRELESS_REGDB package, which
has been already installed since its a dependency of CRDA.

Drop CRDA and select WIRELESS_REGDB package explicitly to make sure the
regulatory.db file is present.
2021-07-09 16:12:03 +02:00
Stefan Agner
a66f3380e3 Enable Wireless Extension for proc API (#1389) (#1394)
The Wireless Extension framework is deprecated, but it seems that the
Wireless Extensions proc API is still popular (/proc/net/wireless).
Enable the minimal set of Wireless Extension to get the proc API.
2021-06-08 23:44:06 +02:00
Jens Maus
0eef6473ba Support for RPI-RF-MOD/HM-MOD-RPI-PCB for HomeMatic/homematicIP communication (#1266)
* add eq3_char_loop package (eQ-3 char loopback kernel module)

* add generic_raw_uart package (low-latency raw UART kernel driver)

* add rpi-rf-mod package 

* add device tree overlay support for RPI-RF-MOD/HM-MOD-RPI-PCB on Raspberry Pi

* enable GPIOLIB and GPIO_SYSFS required for RPI-RF-MOD/HM-MOD-RPI-PCB support.

* add basic RPI-RF-MOD/HM-MOD-RPI-PCB support for ASUS Tinker Board

* add device tree overlay support for ASUS Tinker Board and add
haos-config.txt loading support to U-Boot boot script
2021-04-07 15:17:41 +02:00
ryddler
a5256fb2d0 Adding gasket/apex kernel modules so that Google Coral EdgeTPU pcie devices can be used. (#1263) 2021-03-08 11:15:19 +01:00
pergolafabio
32b037af32 Add SocketCAN support (#1228)
* Add SocketCAN support

A Controller Area Network (CAN bus) is a robust vehicle bus standard designed to allow microcontrollers and devices to communicate with each other's applications without a host computer. It is a message-based protocol, designed originally for multiplex electrical wiring within automobiles to save on copper, but it can also be used in many other contexts. For each device, the data in a frame is transmitted sequentially but in such a way that if more than one device transmits at the same time, the highest priority device can continue while the others back off. Frames are received by all devices, including by the transmitting device.

* Update also for GS_USB support

There is a port of the candleLight USB to CAN firmware for CANable. The port works very well under Linux using the gs_usb driver. This firmware does not use slcan, so it is not interchangeable with the stock firmware. However, the CANable appears as a CAN interface natively in Linux

With the candlelight firmware, simply plug in the CANable and the device will enumerate as can0. Set the baud rate and bring the interface up with the following command, and you're good to go!

ip link set can0 up type can bitrate 500000

* Update for Peak PCAN-USB Support
2021-02-17 10:26:00 +01:00
Stefan Agner
89c31bb967 Enable hidraw driver (#1120) (#1122)
* Enable hidraw driver (#1120)

The hidraw driver is required by some IoT devices such as Wyze sense or
Jablotron JA-100. Enable the driver on all platforms by default.
2020-12-22 18:43:12 +01:00
Aman Gupta Karmani
8ed04ed73c reboot kernels on panic so u-boot can fallback to previous update (#937) 2020-11-03 18:31:59 +01:00
Pascal Vizeli
ffc75a5053 Optimize overlay driver (#831)
* Optimize overlay driver

https://www.youtube.com/watch?v=fSyr_IXM21Y&feature=youtu.be

Not sure about the INDEX, but the other should be safe.

* Update buildroot-external/kernel/docker.config

Co-authored-by: Stefan Agner <stefan@agner.ch>

Co-authored-by: Stefan Agner <stefan@agner.ch>
2020-08-27 11:50:16 +02:00
Pascal Vizeli
c473aca701 Add support for USB wifi (#813)
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
2020-08-06 21:20:29 +02:00
kdhoermann
245dc7603f Add sound card support to OVA. (#770)
* Add sound card support to OVA.

* Audio device support for all platforms
2020-07-15 19:06:18 +02:00
Pascal Vizeli
e51b1bd9eb Make odroid upstream again (#724)
* Make odroid upstream again

* Fix question

* Linux 5.7

Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>

* Add patch

* Add DT sound

* fix build

* Fix kernel options

* working audio
2020-06-06 11:44:41 +02:00
Pascal Vizeli
43aa64bb86 Add CRDA packages (#656)
* Add CRDA packages

* add ova too
2020-05-07 10:38:00 +02:00
Pascal Vizeli
ba17e542c5 Fix nl80211 crda errors (#655) 2020-05-07 09:48:07 +02:00
Pascal Vizeli
f8b24f4b70 Make odroid downstream (#642)
* Make odroid downstream

* Fix patch

* Fix config

* audio support exynos

* Cleanup scripts

* Fix commit message

* clean options

* Extend options

* Cleanup
2020-04-28 22:23:08 +02:00
Perry Naseck
89cb68f7b7 Add USB video kernel support (#609)
* Add USB video kernel support for intel_nuc

* Add USB video kernel support for all boards

* Support USB video capture devices only, not tuners
2020-04-03 10:26:06 +02:00
Pascal Vizeli
bfdedbffe6 Support usb audio all (#566)
* Add support for SND USB audio over all

* Cleanup
2020-02-05 16:25:58 +01:00
Pascal Vizeli
d409e328be Add CEC & audo support for odroid C2/N2 (#565) 2020-02-05 16:16:22 +01:00
Etzion Bar-Noy
a6ae25da06 BT support for all platforms (#563)
* Update azure-pipelines-release.yml for Azure Pipelines

* Update azure-pipelines-release.yml for Azure Pipelines

* Update azure-pipelines-release.yml for Azure Pipelines

* Fix double LINUX_HEADERS

* Add support for TI USB 3410 or 5052 serial devices (#542)

* Added BT support to device-support.conf file, and removed BT support from kernel.config file

* Removed BT support, as it was moved to device-support.config file

* Added new line at the end of the file

* Changed:
CONFIG_BT_HCIBTUSB from 'm' to 'y'
CONFIG_BT_HCIBTUSB_BCM from 'y' to 'm'
CONFIG_BT_HCIBTUSB_RTL from 'y' to 'm'

* Update device-support.config

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2020-02-04 18:03:51 +01:00
Pascal Vizeli
7314ce1963 Add support for TI USB 3410 or 5052 serial devices (#542) 2020-01-13 15:36:56 +01:00
Oscar Calvo
d44d271c28 Add support for SMS integrations with USB/GSM modem dongles (#485)
* Add support for USB/GSM modem dongles

* Apply PR feedback
2019-09-30 22:57:45 +02:00