Commit Graph

1576 Commits

Author SHA1 Message Date
Stefan Agner
565c473a75 Raspberry Pi U-Boot fixes (#1572)
* Add NVMe and XHCI USB driver fix for Raspberry Pi

Add patch which fixes NVMe read reliability and allows to compile the
XHCI USB driver (for Compute Module 4).

* Enable Broadcom XHCI driver for Compute Module 4

The BCM2711 has two USB 2.0 IPs: A Broadcom XHCI USB 2.0 controller and
a Synopsys DWC2 USB 2.0 Host/Device controller. When USB boot is used
the former is active. Make sure U-Boot has the driver built-in for that
IP.
2021-10-05 19:16:16 +02:00
Stefan Agner
a19870947a Bump U-Boot to stable release 2021.10 (#1571) 2021-10-05 19:15:59 +02:00
Stefan Agner
bdc319d3df Use file for cmdline.txt (#1568)
* Remove duplicate config.txt copy statement

* Use static cmdline.txt file

Instead of dynamically creating cmdline.txt use a static version of it.
This aligns with other boot loader/firmware configuration files and makes
it easier to customize the file per board.
2021-10-04 14:38:52 +02:00
Stefan Agner
8d69f395c2 Support board specific RPi firmware configuration (#1567)
Support optional board specific default RPi firmware configuration file
(config.txt). Also rename from boot-env.txt to config.txt since this
file is not read by the U-Boot boot loader but the Raspberry Pi specific
boot firmware.
2021-10-04 11:51:31 +02:00
Stefan Agner
8049dfb30c Bump buildroot (#1565)
* buildroot f0b9df907a...291b4156c7 (2):
  > Merge tag '2021.02.5' into 2021.02.x-haos
  > package/rpi-firmware: bump version to 1.20210831
2021-10-04 10:31:02 +02:00
Stefan Agner
a4edece719 Linux: Update kernel 5.10.70 (#1564) 2021-10-04 10:06:37 +02:00
Stefan Agner
762f098c14 Use skopeo and DIND to download container images (#1561)
* Use skopeo to download container images

Separate container download from image build. This will allow to share
the downloaded images between multiple builds.

We won't store the Supervisor container with the version tag, just with
the latest tag. This allows to simplify the procedure a bit. It seems
there is no downside to this approach.

* Use official Docker in Docker images to build data partition

Instead of building our own Debian based image let's use the official
Docker in Docker image. This avoids building an image for the hassio
data partition and speeds up build as well.

This calls mount commands using sudo to mount the data partition as part
of the buildroot build now. This is not much different from before as
mount has been called as root inside the container, essentially equates
to the same "isolation" level.

* Use image digest as part of the file name

The landing page has no version information in the tag. To avoid
potentially source caching issues, use the digest as part of the file
name.
2021-10-04 10:06:26 +02:00
Stefan Agner
693507aaca Bump build container to Debian bullseye (#1560) 2021-09-30 09:47:20 +02:00
Stefan Agner
b7bbb63a26 Support development builds in pull-requests (#1464)
Use the "run-dev-build" label to trigger a development build. This will
only generate a build for the machines the PR has been tagged with.
2021-09-29 22:04:30 +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
55568f597f Bump OS Agent to 1.2.1 (#1559)
This should make the D-Bus method ReloadDevice working and show the
current data disk correctly.
2021-09-29 09:58:15 +02:00
Stefan Agner
7592143322 Add NVMe boot support for RPi Compute Module 4 (#1557)
* Add U-Boot patches for NVMe boot support

Add NVMe to boot order. Fix NVMe support on 64-bit Raspberry Pi devices.
This is useful for Raspberry Pi Compute Module 4 IO Board where a native
NVMe can be plugged in.

* Enable NVMe support for Raspberry Pi 4

Our machine configuration rpi4 and rpi4_64 work on the Compute Module IO
Board. In this configuration a NVMe SSD can be used. Therefor, enable
support for NVMe in the Raspberry Pi 4 configurations.

Note: Regular Raspberry Pi devices will not notice a difference as the
"nvme scan" command will return very quickly and not find a NVMe on the
PCIe bus.

* Use built-in NVMe support in Kernel for NVMe boot support
2021-09-28 10:51:43 +02:00
Stefan Agner
008fb3fb74 Bump to U-Boot 2021.10-rc5 (#1556)
The bump to U-Boot 2021.10-rc5 also makes quite some patches obsolete
since they are already part of U-Boot.

This also removes a patch which disables framebuffer support on
Raspberry Pi: Framebuffer support seems to work fine in todays
U-Boot/Linux combination. It can help debug boot problems on Raspberry
Pi devices. Without the patch framebuffer support will be enabled by
default.
2021-09-28 10:02:52 +02:00
Pascal Vizeli
a7c237f93d Update OS-Agent 1.2.0 & adjust datadisk support (#1554)
* Update OS-Agent & adjust datadisk support

* Update Documentation/partition.md

Co-authored-by: Stefan Agner <stefan@agner.ch>
2021-09-28 09:54:04 +02:00
Stefan Agner
3d42d3690b Add USB stall handling for U-Boot (#1011, #1544) (#1553)
Some USB devices cause the USB stack to get stuck with a stall error.
This adds a patch which recovers from this situation.

This avoids an U-Boot crash when Arduino Mega R3 devices are connected,
which cause an USB stall when trying to read the product string.
2021-09-27 14:44:36 +02:00
Christian Knittl-Frank
1e7cd66165 Fix datactl for NVMe devices (#1550)
Add "p" in partition names ending with digit.

See https://community.home-assistant.io/t/datactl-help/276117 and https://unix.stackexchange.com/a/500910/334933
2021-09-21 00:24:08 +02:00
Stefan Agner
7d187405de Fix hybrid spelling (#1548)
Fix misspelled word "hybrid" for hybrid GPT/MBR partition tables.
2021-09-20 13:44:45 +02:00
Stefan Agner
66d5957310 Wait until Internet is available before starting AppArmor (#1547)
This makes sure that internet connectivity is available to replace the
AppArmor configuration in case the device has been wiped.
2021-09-20 13:44:09 +02:00
Stefan Agner
7ca4e90885 Fix buffer overflow when initialize USB keyboard in U-Boot (#1538) (#1541)
When a USB keyboard is connected to Raspberry Pi 32-bit versions of
U-Boot crashed in certain situations just before booting Linux. This
seems to be cause by a buffer overflow when removing the USB keyboard
before hand-over to Linux.
2021-09-07 21:56:37 +02:00
Stefan Agner
7d5ebfcd31 Linux: Update kernel 5.10.62 (#1536) 2021-09-06 14:05:14 +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
Jens Maus
97dffedbcd Add a buildroot utils/check-package linter check to pr-checks.yml (#1523)
Add buildroot utils/check-package check to the pr-checks.yml workflow.
It checks for common errors/mistakes when creating own buildroot
packages. Also fixed all warnings this utility output for our existing packages.
2021-09-04 10:46:55 +02:00
Stefan Agner
b6b8e3b1dc Fix U-Boot USB initialization failure (#1203, #1490) (#1529)
Add a patch to fix a U-Boot issue causing troubles when enumerating USB
devices (required when booting from USB devices).
2021-09-03 16:33:47 +02:00
Stefan Agner
33280dc4cd Linux: Update kernel 5.10.61 for ODROID-N2 (#1512) (#1528)
* Linux: Update kernel 5.10.61 for ODROID-N2 (#1512)

Update the kernel to 5.10.61 for ODROID-N2 and fix the update script
to update kernel for ODROID-N2 next time too.

* Move ODROID kernel patches to non-kernel version specific directory
2021-09-03 13:44:42 +02:00
Stefan Agner
0d31ddfa43 Add Mediatek MT7601U support (#1526) 2021-09-03 01:18:26 +02:00
Stefan Agner
6bc5c3e5d0 Increase minimal free memory for Raspberry Pis (#1525)
The minimal memory reserved parameter vm.min_free_kbytes should be
between 1-3% according to RedHat.

However, the kernel by default reserves around 3MB (e.g. only 3285 on a
32-bit Raspberry Pi 4 2GB installation). This seems to be too low for
network intensive applications such as ours: Under memory pressure
"page allocation failure" on various orders have been observed.

Raspberry Pi OS uses a fixed value of 16MB. Follow this setting for now.

Note: We cannot set this globally for Home Assistant: x86-64 machines
can have quite a bit more memory, which also requires increased
min_free_kbytes parameter. ODROID-N2 on the other hand uses transparent
huge pages: If enabled, the kernel requires higher min_free_kbytes
values, and sets those also by default (e.g. on ODROID-N2+ with 4GB
memory its set to 22528 by default).
2021-09-03 00:28:33 +02:00
Jens Maus
9582183458 Update eq3_char_loop and rpi-rf-mod package to latest (#1517)
Update eq3_char_loop and rpi-rf-mod package to latest versions. Add proper hash files accordingly.
2021-09-02 09:54:38 +02:00
Jens Maus
57d7059dae updated generic_raw_uart to latest 1.20 version. (#1516) 2021-09-02 09:51:13 +02:00
Stefan Agner
50749052ae Linux: Update kernel 5.10.61 (#1512) 2021-08-26 19:35:25 +02:00
Stefan Agner
222cfff8b8 Bump buildroot (#1511)
* buildroot c92d04a431...f0b9df907a (1):
  > Merge tag '2021.02.4' into 2021.02.x-haos
2021-08-26 19:16:30 +02:00
Stefan Agner
a504869cbb Add Intel WiFi firmwares (#1505) (#1506)
Add all available Intel WiFi firmwares.
2021-08-26 17:54:03 +02:00
Rob VDM
5bb42ff43c Add support for Keyspan USB-Serial adapters (#1509) 2021-08-19 12:00:28 +02:00
Stefan Agner
cbce0f2a2e Add Khadas VIM3 to GitHub Actions (#1498)
* Add Khadas VIM3 to GitHub Actions/Issue Template
2021-08-06 14:45:51 +02:00
Stefan Agner
6c3bcb708f Enable HDMI CEC drivers for ODROID-N2 (#1216) (#1497) 2021-08-06 14:35:41 +02:00
Stefan Agner
ac407a6679 Add Khadas VIM3 (#1473)
* Add Khadas VIM3

Add Khadas VIM3 board support.

Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
2021-08-06 14:14:09 +02:00
Stefan Agner
f47b371f23 Fix Ralink RT73 package selection (#1496) 2021-08-06 11:01:43 +02:00
marengaz
ecfb744fe7 Typo (#1495) 2021-08-05 18:32:15 +02:00
Stefan Agner
511169b31b Bump buildroot (#1486)
* buildroot c8de13c113...c92d04a431 (1):
  > package/rpi-firmware: bump version to 1.20210527
2021-07-28 19:13:37 +02:00
Stefan Agner
df167910e1 Add Bluetooth firmware file for Raspberry Pi 400 (#1469) (#1484) 2021-07-28 18:04:50 +02:00
Stefan Agner
965198e8a1 Bump buildroot (#1482)
* buildroot f358c8ba53...c8de13c113 (1):
  > package/rpi-wifi-firmware: bump version to 883b726
2021-07-28 18:02:58 +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
2c9ce139d4 Remove duplicated patch file (#1477)
The patch file is already present in the board specific patch directory.
2021-07-27 23:48:25 +02:00
Stefan Agner
720390862a board: hardkernel: Fix random crash on Linux kernel 5.10 and newer (#1476)
Don't fail adding reserved memory when a memory region already has been
reserved (e.g. via  memreserve). This avoids conflicting no-map setting
and makes sure memory is properly reserved.
2021-07-26 17:29:19 +02:00
Stefan Agner
be3afe8b68 Update to Linux 5.10.53 (#1475)
* Linux: Update kernel 5.10.53

Move back to the LTS kernel 5.10.

* Remove ODROID-N2 specific kernel update script
2021-07-26 17:25:01 +02:00
Stefan Agner
bdc9909117 Improve Xen support (#1459)
* Enable some useful kernel configurations

* Add xe-guest-utilities for better Xen support

Add guest utilities and make sure the Xen guest daemon gets started
when running under Xen virtualization.
2021-07-17 02:20:57 +02:00
Stefan Agner
54fa9899eb Avoid using tar when uploading dev builds (#1462)
* Avoid using tar when uploading dev builds

The GitHub action to upload the images to the os-builds server uses
tar before uploading. This creates unnecessary copies and takes a while.
Switch to a GitHub action which uploads the images using rsync instead.
2021-07-14 13:30:29 +02:00
Stefan Agner
c58a568f64 Remove original images when creating zip (#1461)
Other compression methods remove the original image file at compression.
Add the -m (move) command to zip to do the same when compressing with
zip. This saves some space in the builds image/release directory.
2021-07-14 09:51:39 +02:00
Stefan Agner
ad8ee5610d RaspberryPi: Update kernel 5.10.17 - raspberrypi-kernel_1.20210527-1 (#1456) 2021-07-12 16:07:04 +02:00
Stefan Agner
1ef4d43d4e Use sparse file for pre-composed data partition (#1454) 2021-07-12 16:06:53 +02:00