Compare commits

...

151 Commits
12.0 ... 13.0

Author SHA1 Message Date
Jan Čermák
77e2b92972 Bump OS to release version 13.0 2024-08-13 11:14:31 +02:00
Jan Čermák
d83602c6d3 Bump OS to pre-release version 13.0.rc2 2024-08-08 18:42:56 +02:00
Jan Čermák
55b3446bd9 Enable eMMC HS200 mode in Green's U-Boot defconfig (#3511)
Follow-up to #3412. While we haven't seen any issues so far, it's mentioned in
the original patch series we took inspiration from that HS200 works more
reliably, so enable it in Green's defconfig by amending the patch.

(cherry picked from commit 0452965fb0)
2024-08-08 18:42:35 +02:00
Jan Čermák
f292ba02e2 Fix writing U-Boot environment on ODROID-M1 (#3510)
Apply the same patch we applied in #3412 for Green. At that time I thought the
patch was already applied upstream for M1 and haven't checked, but it turns out
it wasn't true. Apply it here before we get U-Boot with that patch series [1]
included.

[1] https://patchwork.ozlabs.org/project/uboot/cover/20240204205312.2342868-1-jonas@kwiboo.se/

(cherry picked from commit d6fa83a0d3)
2024-08-08 18:42:32 +02:00
Jan Čermák
42baa80900 Increase block size of kernel squashfs image to 128K (#3509)
While mksquashfs uses this value by default, Genimage's default is 4K. This is
far too low value and results in slower kernel load, especially on embedded
boards with a flash drive. Explicitly set it to 128K to generate same images as
in pre-genimage builds.

(cherry picked from commit edba18f6c4)
2024-08-08 18:42:29 +02:00
Jan Čermák
ba86720163 Bump ODROID N2's U-Boot to v2024.01 again (#3508)
We previously reverted the bump because we were unsure where the eMMC issues
are coming from. Now we know some of them were caused by incompatible eMMCs
then never worked from the beggining, and attempt to fix them (by changing the
frequency) caused some other side effects. Bump U-Boot back to the version used
generally and continue from there.

(cherry picked from commit 50a0062ee6)
2024-08-08 18:42:23 +02:00
Jan Čermák
7a19b892a5 Bump OS to pre-release version 13.0.rc1 2024-08-06 14:45:45 +02:00
Jan Čermák
66fc7d7e2a Test landing page is reachable without internet connection (#3499)
* Test landing page is reachable without internet connection

Add test that checks user is able to access the landing page even when HAOS has
no internet connection. We still need some sort of outgoing connectivity, so
outgoing connection attempts don't end up with "network is unreachable". To
simulate this, restricted network is created for the QEMU instance used in the
test, and when everything is started, unresponsive default gateway is added.

This intents to test regression that was fixed by
home-assistant/supervisor#5204, Supervisor 2024.7.0+ is thus needed for this
test to pass.

* Bump requirements for tests
2024-08-06 11:02:59 +02:00
dependabot[bot]
9cc45f65ea Bump docker/setup-buildx-action from 3.6.0 to 3.6.1 (#3501)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-05 15:33:44 +02:00
Jan Čermák
c2527a2ae1 Linux: Update kernel to 6.6.44 (#3500)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.44
2024-08-05 14:04:32 +02:00
Jan Čermák
a32974e1a7 Use GRUB2 legacy loader only on some Intel Atom boards specifically (#3498)
* Use GRUB2 legacy loader only on some Intel Atom boards specifically

Previous revert of GRUB2 change that introduced usage of the generic EFI loader
for all x86 boards in #3324 caused regressions, the one confirmed is #3348.
This commit adds a specific patch that identifies the broken platforms based
on SMBIOS data gathered in #3305 and falls back to the legacy loader there.

Tested on Intel D525MW (falls back) and QEMU (no fallback).

* Enable GRUB's smbios module

Having smbios command in GRUB can help in future debugging, e.g. to add more
CPUs that should use the linux loader fallback.
2024-07-31 09:22:07 +02:00
Jan Čermák
d51a0d3cec Patch genimage to force first usable LBA @ 34 to fix RPi 5/Windows issues (#3497)
Genimage sets the first usable LBA to the offset of the first partition. While
it shouldn't be an issue in theory, Windows may do some nasty things with the
GPT header afterwards which breaks the Raspberry Pi bootloader, manifesting as

Before purpose of this behavior is clarified in [1], add a downstream patch
that sets the first usable LBA back to 34, which was the value that was used
before migrating to Genimage in #3388. Since changing this value (hopefully)
doesn't have any other consequences, and the images now should be closer to
pre-genimage builds, no more side-effects are expected from this change.

[1] https://www.github.com/pengutronix/genimage/issues/262

Fixes #3437
2024-07-30 18:57:37 +02:00
dependabot[bot]
13c4bb56c0 Bump docker/setup-buildx-action from 3.5.0 to 3.6.0 (#3496)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-29 16:39:08 +02:00
Jan Čermák
327e9a07c9 Linux: Update kernel to 6.6.43 (#3495)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.42
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.43
2024-07-29 14:06:21 +02:00
Jan Čermák
568499072f Allow EROFS compression for Rockchip kernels (#3493)
Rockchip config fragment had EROFS compression explicitly disabled. Remove that
option and also remove the EROFS one, as it's already set in common config.
2024-07-25 21:51:36 +02:00
Stefan Agner
bc7c109163 Enable Netfilter MARK match kernel configuration (#3492)
Make the Netfitler MARK match kernel config a OS required configuration.
This config is required by the OpenThread Border Router add-on.

Fixes: https://github.com/home-assistant/addons/issues/3698
2024-07-24 16:40:37 +02:00
Jan Čermák
b0bc71a835 Reduce log spam from Docker health checks (#3491)
Reduce verbosity from deactivated Docker mounts, triggered by the Docker
healthcheck. These messages do not carry any value for us and logs supplied by
users are often spammed mostly with these. Moreover, they sometimes cause
confusion that something is wrong, see for example #3021.

Unfortunately, it's not possible to use LogFilterPatterns= here, because it's
not applied to these messages, as explicitly said in the docs:

  Filtering is based on the unit for which LogFilterPatterns= is defined
  meaning log messages coming from systemd(1) about the unit are not taken
  into account.

runc 1.2.0 supposedly should fix this, but it's unclear when it would be
available, so let's stick to this solution (reducing verbosity from debug to
notice for all units `run-docker-*.mount`) for the time being.
2024-07-24 16:34:37 +02:00
Jan Čermák
a80311a285 Use EROFS for the root filesystem (#3456)
* Use name.sh functions for paths in genimage

Paths for images generated outside of genimage were not used in genimage
definitions. Use them as the single source of truth.

Images generated by genimage itself (e.g. kernel.img) don't need to use those
functions, so remove the unused ones.

* Use EROFS instead of SquashFS for root FS

* Enabled EROFS in common kernel fragment
* RootFS image switched to EROFS with options to get decent compression
* rootfstype removed from kernel command line

* Get size of correct FS image in GH build summary
2024-07-24 16:34:26 +02:00
Jan Čermák
6de9da2560 Bump buildroot to 2024.02.4 (#3487)
* buildroot d03dda4fcf...baa16784d2 (5):
  > Merge tag '2024.02.4' into 2024.02.x-haos
  > fs/erofs: add config options for dedupe, fragments and ztailpacking
  > fs/erofs: add LZMA compression, allow configurable compression level
  > package/erofs-utils: add config option for LZMA compression
  > package/erofs-utils: bump to 1.7.1
2024-07-23 13:50:56 +02:00
dependabot[bot]
5d5bc36892 Bump docker/login-action from 3.2.0 to 3.3.0 (#3484)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](https://github.com/docker/login-action/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: docker/login-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>
2024-07-22 17:30:38 +02:00
dependabot[bot]
77a28bd1df Bump docker/build-push-action from 6.4.0 to 6.5.0 (#3486)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.4.0 to 6.5.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.4.0...v6.5.0)

---
updated-dependencies:
- dependency-name: docker/build-push-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>
2024-07-22 17:29:13 +02:00
dependabot[bot]
038bfd9073 Bump docker/setup-buildx-action from 3.4.0 to 3.5.0 (#3485)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-22 17:11:32 +02:00
Jan Čermák
eb2bdf85e9 Linux: Update kernel to 6.6.41 (#3482)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.39
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.40
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.41
2024-07-22 12:57:35 +02:00
dependabot[bot]
d148ad2b50 Bump docker/build-push-action from 6.3.0 to 6.4.0 (#3475) 2024-07-15 18:27:37 +02:00
Jan Čermák
63a05a5a1e Revert "Revert GRUB2 patch causing boot failure on some old x86_64 BIOSes (#3324)" (#3470) 2024-07-11 00:01:52 +02:00
Jan Čermák
150be514e4 Enable i6300ESB watchdog driver for generic-aarch64 (#3468)
This is one of WDT drivers used by KVM/QEMU. For OVA it's been already enabled
in #2627 - enable it for aarch64 as well.

Fixes #3414
2024-07-10 14:39:08 +02:00
Jan Čermák
45cbd1d9b7 Linux: Update kernel to 6.6.38 (#3469)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.38
2024-07-10 14:38:51 +02:00
Jan Čermák
00171ae44c Enable aQuantia AQtion ethernet driver (#3467)
Enable driver for wide range of multi-gigabit NICs.

Fixes #3438
2024-07-09 13:01:25 +02:00
dependabot[bot]
777432913e Bump docker/setup-buildx-action from 3.3.0 to 3.4.0 (#3465)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 15:57:05 +02:00
dependabot[bot]
d57b6be01e Bump docker/build-push-action from 6.2.0 to 6.3.0 (#3466)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-08 15:56:48 +02:00
Jan Čermák
1f8ed07c42 Refer to GRUB instead of Barebox in top-level readme (#3464)
We don't use Barebox for over two years since d1cc7394, remove the forgotten
mention of it in readme.
2024-07-08 12:13:23 +02:00
Jan Čermák
3ef8b07676 Linux: Update kernel to 6.6.37 (#3463)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.37
2024-07-08 12:13:14 +02:00
Jan Čermák
ea286d9dad Populate grubenv with RAUC data in clean aarch64 OS image (#3458)
While not as bad as in 87a6c84, because the grubenv already exists in the
image, RAUC still complains about missing ORDER on the very first boot on
aarch64. Populate the environment in the same way as we do for other GRUB
platforms.
2024-07-08 12:12:58 +02:00
Jan Čermák
4308c45391 Remove old code from rauc-hook and GRUB env initialization (#3457)
With upgrade path enforced in standard HAOS upgrade procedure, we don't need to
keep some old code anymore. This means that upgrade from some very old HAOS
version (pre-8.0) to HAOS 13+ will fail in the install-check hook but this is
rather desirable.
2024-07-08 12:12:45 +02:00
Cyprien Laplace
33d8b538ad Fix rauc hook to save and restore the grub environment (#3451)
Without a machine-id, the next boot will be considered as a
first boot, and any external data disk will be disabled.

Fixes #3247.
2024-07-04 10:14:47 +02:00
Jan Čermák
245c0d0b03 Bump OS to development version 13.0.dev0 2024-07-03 19:38:47 +02:00
dependabot[bot]
c20841ac1e Bump docker/build-push-action from 6.1.0 to 6.2.0 (#3454)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6.1.0 to 6.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6.1.0...v6.2.0)

---
updated-dependencies:
- dependency-name: docker/build-push-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>
2024-07-01 15:51:21 +02:00
Jan Čermák
0555e89ad0 Linux: Update kernel to 6.6.36 (#3448)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.36
2024-06-27 17:53:15 +02:00
Jan Čermák
203885a7d8 Linux: Update kernel to 6.6.35 (#3443)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.35
2024-06-25 16:21:48 +02:00
dependabot[bot]
7298ffc13f Bump docker/build-push-action from 6.0.0 to 6.1.0 (#3444)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-24 15:51:19 +02:00
Jan Čermák
6c7b6fdebe Generate version information for RAUC when rauc.db is empty (#3436)
RAUC currently doesn't know the version of the booted slot when booted for the
first time or after wiping the data partition. As a result `ha os info` is
missing this information too.

As there's no built-in mechanism for generating these data by RAUC itself, add
a oneshot service that checks if the boot slot information is contained in the
rauc.db and if not, then generate it.

RAUC seems to cope quite well even with bogus data contained in rauc.db but in
any case, a test has been added to check that everything works as expected.
2024-06-20 16:50:14 +02:00
Jan Čermák
87a6c84025 Fix boot slot A marked as bad on the very first boot (#3435)
On the very first boot, grubenv doesn't exist and loading and saving it
silently fails. However, it is later created by the hassos-persists script and
the missing information are added by grub.cfg on the next boot. As the
consequence, when RAUC tries to get information from grubenv on the first boot,
ORDER variable is missing and the slot is reported as bad.

Fixes #3376
2024-06-20 12:57:25 +02:00
Jan Čermák
94c6930acd Merge branch 'main' into dev 2024-06-18 15:02:36 +02:00
Jan Čermák
a70ed7e81e Bump OS to release version 12.4 2024-06-18 12:26:14 +02:00
dependabot[bot]
62d7794a6c Bump docker/build-push-action from 5.4.0 to 6.0.0 (#3421)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.4.0 to 6.0.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5.4.0...v6.0.0)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  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>
2024-06-17 17:08:08 +02:00
Jan Čermák
8490b3bf70 Linux: Update kernel to 6.6.34 (#3420)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.34
2024-06-17 16:00:58 +02:00
Jan Čermák
abe018d4aa Improve resiliency of skopeo operations in hassio package (#3416)
We still face occasional build errors when fetching from the Docker registry
fails and is not retried with the Skopeo's built-in retry mechanism that was
enabled in #1866. This happens on some network failures, or when premature EOF
is returned when fetching the HTTP data. Seems we're not the only ones having
such issues [1].

To workaround this, add a generic retry shell function that simply retries when
the command ends with a non-zero status, no matter what was the actual cause of
the error.

[1] https://www.github.com/containers/common/issues/654
2024-06-13 15:44:11 +02:00
Jan Čermák
0e9e8ca2a6 Bump OS to pre-release version 12.4.rc1 2024-06-13 13:01:03 +02:00
Jan Čermák
27bc7306ff Linux: Update kernel to 6.6.33 (#3415)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.33
2024-06-13 11:39:02 +02:00
Jan Čermák
6c2d5b5006 Bump Docker to v26.1.4 (#3411)
* buildroot b9520eedc6...ad5e711bc1 (4):
  > package/containerd: bump to v1.7.17
  > package/docker-cli: bump version to v26.1.4
  > package/docker-engine: bump version to v26.1.4
  > .github: remove upstream's PR template discouraging GH usage
2024-06-12 23:04:34 +02:00
Jan Čermák
d847b9803a Add hardware details to bug issue template (#3413)
Very often we have to ask for further details about the hardware that HAOS is
running on. Add a required field that asks for these details - in the end it
should't complicate the form a lot and might result in faster turnaround of
resolving the issues.

Also adjust the question about the upgrade and swap the order (people often
don't care and keep the pre-selected value).
2024-06-12 21:52:48 +02:00
Jan Čermák
89533755bc Fix writing to eMMC in U-Boot on Green (#3412)
When Green starts, there is an error indicating the MMC write failed when
saving the bootstate:

  storing env...

  MMC write: dev # 0, block # 1214464, count 64 ... mmc write failed 0 blocks written: ERROR

This results in the boot count not being updated properly if the boot fails.

Seems to be a known issue for this platform, disabling the DDR52 mode (which is
the same what upstream does for other RK356x boards [1]) fixes the issues and
the bootstate is updated correctly.

[1] https://patchwork.ozlabs.org/project/uboot/patch/20240204205312.2342868-2-jonas@kwiboo.se/
2024-06-12 21:52:36 +02:00
Jan Čermák
6d77355c1c Temporary revert ODROID-N2 U-Boot to 2023.01 to fix eMMC issues (#3409)
As we don't have proper solution for #3319 and #3351 yet, revert to
previous U-Boot which was proven working. This is intended as a
workaround but as there's nothing in the latest U-Boot that will be
really missed on N2, we can stay on the older version for the time
being.

This also means reverting the "40 MHz hack" back to the 24 MHz one.
Since this patch only applies to N2 (meson gx), it can stay along the
common hardkernel uboot patches.
2024-06-11 19:02:40 +02:00
Jan Čermák
26f0b5a9b7 Fix linux-firmware compression after BR 2024.02.3 merge (#3407)
The compression is necessary for successful generic-x86-64 build.

* buildroot 770f939463...b9520eedc6 (1):
  > package/linux-firmware: fix compression after bad merge
2024-06-11 12:49:20 +02:00
Jan Čermák
542f69efa4 Update Buildroot to 2024.02.3 (#3406)
* Bump buildroot to 2024.02.3

* buildroot 691077e577...770f939463 (1):
  > Merge tag '2024.02.3' into 2024.02.x-haos

* package/hassio: update dind to version 26.0 used in current buildroot
2024-06-10 17:14:17 +02:00
dependabot[bot]
ae588b762a Bump docker/build-push-action from 5.3.0 to 5.4.0 (#3405)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-10 15:08:18 +02:00
Jan Čermák
6135ecdcc7 Use Genimage for declarative image layout (#3388)
* Use Genimage for declarative image layout instead of s[fg]disk and dd

* Change partition type to hybrid for M1, M1S and Green

This is what it really is, so just make sure only one "fix" function is
called.

* Change efi BOOT_SYS to gpt

There is no reason to have separate efi and boot sys, since all boards
that use efi also use grub as the loader.

* Change BOOT_SYS to more explanatory PARTITION_TABLE_TYPE

* Add units to DISK_SIZE

* Add forced-primary patch and use it in MBR images

* Avoid disabling SC2155, remove old comments
2024-06-07 13:44:14 +02:00
Jan Čermák
22b63ae779 Set tty0 in cmdline as the default preferred console (#3402)
The preferred console (which is used for printing the systemd boot log)
is the last one specified in the cmdline boot arguments. Make sure it is
always tty0, i.e. the first graphical console.

In some places tty1 was used - change it to tty0 which is commonly used,
and in HAOS points to tty1 anyway.

The only exception is the Yellow, which doesn't have an HDMI port, so
the serial console is used as the preferred one instead.

For ASUS Tinker, use a versioned cmdline.txt file instead of in-place
generating it in the post-build hook.
2024-06-07 12:59:21 +02:00
Jan Čermák
bd7474fc97 RaspberryPi: Update kernel to 6.6.31 - stable_20240529 (#3400)
* RaspberryPi: Update kernel to 6.6.31 - stable_20240529

* Unify Linux patches after RPi update to non-conflicting 6.6.31

* Bump buildroot to update rpi-firmware

* buildroot 9af2384782...691077e577 (1):
  > package/rpi-firmware: bump to version 1.20240529 for kernel 6.6.31
2024-06-04 17:33:51 +02:00
dependabot[bot]
5ed9057728 Bump docker/login-action from 3.1.0 to 3.2.0 (#3399)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-03 15:15:55 +02:00
Jan Čermák
682d59434e Linux: Update kernel to 6.6.32 (#3394)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.32
2024-05-27 15:00:13 +02:00
Jan Čermák
2c725d90f6 Reintroduce IPv6 reachability probe patch for RPi lost after refactoring (#3389)
* Reintroduce IPv6 reachability probe patch for RPi lost after refactoring

In #3384 we moved the patches around, which results in version-specific
patches not applied for RPi linux-custom build. Copy the missing IPv6
reachability probe patch to the RPi patches directory.

* Only copy IPv6 reachability probe patch to top-level linux patches

Instead of copying the patch to RPi directory and renumbering the
patches, only copy it upper level so it's applied for all linux versions
other than 6.6.31.
2024-05-24 09:30:07 +02:00
Jan Čermák
8dbc03cc76 Linux: Update kernel to 6.6.31 (#3384)
* Linux: Update kernel to 6.6.31

* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.31

* Update patch workarounding Z-Wave.me USB issues

Linux commit 480c3abbba36628dab063b9ca218bb28090e5b46 changed code that
is reverted by the patch. Use a version-specific patch directory again
for upstream Linux patches before RPi kernel is updated to 6.6.31+.
2024-05-21 21:27:51 +02:00
Jan Čermák
8aa9869e4f Use U-Boot tarball for all boards (#3361)
ODROID M1, M1S and Green historically used git repo as the source. Now
that we use the same version for all boards, use always use distribution
tarball for consistency and more efficient caching.
2024-05-14 11:23:31 +02:00
Jan Čermák
dd96b5019a Bump buildroot to update openvmtools to 12.3.0 (again) (#3370)
Cherry-picked downstream-only patch lost in Buildroot 2024.02 bump.

* buildroot 34e790c5da...9af2384782 (1):
  > package/openvmtools: bump version to 12.3.0

Fixes #3366
2024-05-14 11:06:37 +02:00
Jan Čermák
229cc7ebbb Merge branch 'main' into dev 2024-05-09 10:18:11 +02:00
Jan Čermák
ca71774e7d Linux: Update kernel to 6.6.30 (#3342)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.30
2024-05-08 21:26:45 +02:00
Jan Čermák
12597f197f Bump OS to release version 12.3 2024-05-06 14:35:19 +02:00
Stefan Agner
2c266c53f1 Enable grep context feature (#3339)
Add context feature to Busybox grep configuration. Context is really useful
when checking host logs directly on the OS shell.
2024-05-01 19:05:01 +02:00
Jan Čermák
d7338e7570 Bump OS to pre-release version 12.3.rc2 2024-04-30 11:58:55 +02:00
Jan Čermák
301bf4a377 RaspberryPi: Update kernel to 6.6.28 - stable_20240423 (#3336)
* RaspberryPi: Update kernel to 6.6.28 - stable_20240423

* Bump buildroot to update rpi-firmware

* buildroot 0a64bfe8f1...e8948ce36e (1):
  > package/rpi-firmware: bump to version 1.20240424 for kernel 6.6.28

(cherry picked from commit 9fa953745a)
2024-04-30 11:57:24 +02:00
Jan Čermák
2ea9eccf79 Fix incorrect mapping of DT overlays on RPi 5 (#3335)
RPi 5 config uses BR2_LINUX_KERNEL_INSTALL_INTREE_OVERLAYS which builds
the device tree overlays from the Linux tree when building the kernel.
The overlays directory also contains overlay_map.dtb which is necessary
to correctly map overlays without RPi version suffix to the
platform-specific ones. Without this, some peripherals may not work
correctly on Pi 5 without any obvious error messages in the kernel log
because an incorrect (Pi 4) overlay is used as the default.

Fixes #3321

* buildroot cc0481f40e...0a64bfe8f1 (1):
  > Install overlay_map.dtb when using in-tree DT overlays

(cherry picked from commit fce19b7846)
2024-04-30 11:56:55 +02:00
Jan Čermák
1a5a2c4e28 Linux: Update kernel to 6.6.29 (#3334)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.29

(cherry picked from commit 65f35c65b2)
2024-04-30 11:56:48 +02:00
Jan Čermák
7a94a2ef71 Enable kernel userspace crypto API interface for all platforms (#3330)
Enable libkcapi in generic kernel config. The bloat is minimal and the
options are enabled on most distributions. These modules are also needed
for Bluetooth Mesh and adding them fixes compatibility with some HCI USB
adapters.

Fixes #3322

(cherry picked from commit 67315f86d4)
2024-04-30 11:56:44 +02:00
Jan Čermák
ddd528b8e7 Enable KVM for running tests in GH Actions (#3329)
It was not possible on free runners previously, but it should be now:
https://github.com/actions/runner-images/discussions/7191#discussioncomment-9018826

(cherry picked from commit 4e44b101f3)
2024-04-30 11:56:33 +02:00
Jan Čermák
9fa953745a RaspberryPi: Update kernel to 6.6.28 - stable_20240423 (#3336)
* RaspberryPi: Update kernel to 6.6.28 - stable_20240423

* Bump buildroot to update rpi-firmware

* buildroot 0a64bfe8f1...e8948ce36e (1):
  > package/rpi-firmware: bump to version 1.20240424 for kernel 6.6.28
2024-04-30 11:55:13 +02:00
Jan Čermák
fce19b7846 Fix incorrect mapping of DT overlays on RPi 5 (#3335)
RPi 5 config uses BR2_LINUX_KERNEL_INSTALL_INTREE_OVERLAYS which builds
the device tree overlays from the Linux tree when building the kernel.
The overlays directory also contains overlay_map.dtb which is necessary
to correctly map overlays without RPi version suffix to the
platform-specific ones. Without this, some peripherals may not work
correctly on Pi 5 without any obvious error messages in the kernel log
because an incorrect (Pi 4) overlay is used as the default.

Fixes #3321

* buildroot cc0481f40e...0a64bfe8f1 (1):
  > Install overlay_map.dtb when using in-tree DT overlays
2024-04-29 15:20:36 +02:00
Jan Čermák
65f35c65b2 Linux: Update kernel to 6.6.29 (#3334)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.29
2024-04-29 15:12:50 +02:00
Jan Čermák
67315f86d4 Enable kernel userspace crypto API interface for all platforms (#3330)
Enable libkcapi in generic kernel config. The bloat is minimal and the
options are enabled on most distributions. These modules are also needed
for Bluetooth Mesh and adding them fixes compatibility with some HCI USB
adapters.

Fixes #3322
2024-04-26 21:27:35 +02:00
Jan Čermák
4e44b101f3 Enable KVM for running tests in GH Actions (#3329)
It was not possible on free runners previously, but it should be now:
https://github.com/actions/runner-images/discussions/7191#discussioncomment-9018826
2024-04-26 15:30:23 +02:00
Jan Čermák
21fd9e64c8 Bump OS to development version 12.4.dev0 2024-04-26 11:59:15 +02:00
Jan Čermák
9dab6908c9 Bump OS to pre-release version 12.3.rc1 2024-04-26 11:24:09 +02:00
Jan Čermák
a277854add Bump buildroot to update BlueZ to 5.75 (#3326)
* buildroot 9a506c0e75...cc0481f40e (1):
  > package/{bluez5_utils, bluez5_utils-headers}: bump to version 5.75
2024-04-25 17:49:30 +02:00
Jan Čermák
8854dd4ddb Bump buildroot to update linux-pam (#3325)
This fixes "Warning: your password will expire in 0 days." message
shown on tty login since Buildroot bump in HAOS 12.2.

* buildroot 9f5750121a...d29893dd98 (1):
  > package/linux-pam: bump to version 1.6.1
2024-04-25 08:33:10 +02:00
Jan Čermák
478538eac0 Revert GRUB2 patch causing boot failure on some old x86_64 BIOSes (#3324)
GRUB 2.12 release contains a change of the loader [1] used for loading
the kernel on x86_64 platform. This change was identified to cause boot
failure on some old Intel Atom boards with the NM10 chipset, and
possibly some others. Revert this patch before we get a more proper fix
for the issue.

[1] https://git.savannah.gnu.org/cgit/grub.git/commit/?id=cfbfae1aef0694b416aa199291cfef7596cdfc20

Fixes #3305
2024-04-25 08:33:01 +02:00
Stefan Agner
e1b11540a1 ODROID-N2/C2/C4: Force 40MHz instead of 24MHz as eMMC clock (#3319)
It seems that forcing 24MHz clocks is problematic for newer 32GB
Kingston based eMMC modules on ODROID-N2(+). Use what downstream
U-Boot is using as f_max, which is 40MHz.

Fixes: #3227
2024-04-24 20:37:14 +02:00
Salim B
82c3e2a859 Update instructions for ODROID M1 Petitboot update (#3317) 2024-04-18 09:02:17 +02:00
Jan Čermák
9272065664 Linux: Update kernel to 6.6.28 (#3316)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.28
2024-04-17 16:23:18 +02:00
Jan Čermák
77c28be3cd Increase maximum length of usb_storage.quirks in RPi kernel params (#3311)
With #3281 we hit the maximum length of the quirks parameter. Since
cmdline.txt changes are not applied on OS update, only new installs of
12.2 are affected, effectively disabling all quirks until this patch
lands in future OS release.

Fixes #3308
2024-04-15 14:27:41 +02:00
Jan Čermák
85d7c23a5f Linux: Update kernel to 6.6.27 (#3310)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.26
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.27
2024-04-15 14:27:28 +02:00
Stefan Agner
4f53947596 Update Raspberry Pi 3 device tree list (#3301)
Make sure all Raspberry Pi devices using the BCM2837 SoC (or the SiP
version RP3A0 of it) are deployed. This especially makes sure that
we only deploy the downstream device trees (named bcm2710*) and deploy
device trees for the CM3 as well as the Zero 2 and Zero 2 W consistently
for 32-bit and 64-bit.
2024-04-12 09:42:05 +02:00
Jan Čermák
dd76a1dda4 Merge branch 'main' into dev 2024-04-11 10:38:30 +02:00
Jan Čermák
c9efdea83b Bump OS to release version 12.2 2024-04-11 10:07:22 +02:00
Jan Čermák
56ae6e1cb7 Remove BT_HS from kernel configs after upstream removal (#3299)
BT_HS has been removed in e7b02296fb400ee64822fbdd81a0718449066333 and
backported to stable branches - remove it from our configs to avoid
warnings.
2024-04-10 15:53:21 +02:00
Jan Čermák
2254260dad Update Raspberry Pi Kernel to v6.6.20 (#3297)
* RaspberryPi: Update kernel to 6.6.20 - 6f16847710cc0502450788b9f12f0a14d3429668

Used version specified in RPi OS release notes [1].

[1] https://downloads.raspberrypi.org/raspios_arm64/release_notes.txt

* Update RPi Buildroot defconfigs for v6.6.y kernel

* Update RPi kernel patches for v6.6.y kernel

* Amended old patches to accomodate for new DTS paths
* Removed 6.6.25 patches -> moved to the common folder
* Added patch to fix Yellow DTS compilation

* Bump buildroot to update rpi-firmware

* buildroot b45d671fe3...9f5750121a (1):
  > package/rpi-firmware: bump to version for (untagged) kernel v6.6.20

* Remove kernel v6.1.y config fragments, as they're not needed anymore
2024-04-10 10:04:35 +02:00
Jan Čermák
3252676fde Bump OS to pre-release version 12.2.rc2 2024-04-08 19:04:20 +02:00
Jan Čermák
5dc234d14f Only run HA CLI interactively if stdout is a terminal (#3292)
* Only run HA CLI interactively if stdout is a terminal

Flags for running HA CLI commands in an interactive shell added in #3238
cause the command to fail if the process is not running in a terminal.
This is needed for example for the fsfreeze hook, otherwise the command
fails, as seen in this trace when the hook is executed:

-----------
+ '[' thaw '=' freeze ]
+ '[' thaw '=' thaw ]
+ echo 'File system thaw requested, thawing Home Assistant'
File system thaw requested, thawing Home Assistant
+ ha backups thaw
the input device is not a TTY
------------

However, for example on Proxmox this message is not logged anywhere and
the hook just fails silently (i.e. it doesn't cause the backup to fail).

Fixes #3251

* Use -i also when not running in a terminal

(cherry picked from commit 78d281fce1)
2024-04-08 19:03:35 +02:00
Jan Čermák
3e970f1e9a Linux: Update kernel to 6.6.25 (#3291)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.25

(cherry picked from commit 7013872665)
2024-04-08 19:02:54 +02:00
Jan Čermák
ea217fe5bd Update Linux patches directory for v6.6.24 (#3289)
This should have been included in #3288.

(cherry picked from commit 974812a8af)
2024-04-08 19:02:44 +02:00
Jan Čermák
bfe9943068 Linux: Update kernel to 6.6.24 (#3288)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.24

(cherry picked from commit e18c6ef4ce)
2024-04-08 19:02:38 +02:00
Stefan Agner
7166a83998 Ignore non-existing CP15 barrier instructions emulation (#3285)
CP15 barrier instruction emulation only exists on arm64 architecture.
Avoid sysctl writing an error to the journal when the setting doesn't
exist by prepending a dash.

(cherry picked from commit 889b561ca1)
2024-04-08 19:02:33 +02:00
Jan Čermák
7a69678505 Use Docker 25 for installing containers in hassio package (#3286)
Bump DinD version used for creating data partition after Docker bump
in #3271.

(cherry picked from commit 90b618b096)
2024-04-08 19:02:28 +02:00
agglrx
0c9deaeebf Disable UAS via usb-storage.quirks on RPi for ADATA SD600Q (#3281)
Booting from a ADATA SD600Q fails when connected to a USB 3.0 port on RPi4. Adding it to the quirks list resolves the issue.

(cherry picked from commit 5ee9cef8c8)
2024-04-08 19:02:22 +02:00
dependabot[bot]
de3f2c6420 Bump docker/setup-buildx-action from 3.2.0 to 3.3.0 (#3293)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.2.0...v3.3.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-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>
2024-04-08 16:05:29 +02:00
Jan Čermák
78d281fce1 Only run HA CLI interactively if stdout is a terminal (#3292)
* Only run HA CLI interactively if stdout is a terminal

Flags for running HA CLI commands in an interactive shell added in #3238
cause the command to fail if the process is not running in a terminal.
This is needed for example for the fsfreeze hook, otherwise the command
fails, as seen in this trace when the hook is executed:

-----------
+ '[' thaw '=' freeze ]
+ '[' thaw '=' thaw ]
+ echo 'File system thaw requested, thawing Home Assistant'
File system thaw requested, thawing Home Assistant
+ ha backups thaw
the input device is not a TTY
------------

However, for example on Proxmox this message is not logged anywhere and
the hook just fails silently (i.e. it doesn't cause the backup to fail).

Fixes #3251

* Use -i also when not running in a terminal
2024-04-08 15:43:12 +02:00
Jan Čermák
7013872665 Linux: Update kernel to 6.6.25 (#3291)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.25
2024-04-08 12:46:54 +02:00
Jan Čermák
974812a8af Update Linux patches directory for v6.6.24 (#3289)
This should have been included in #3288.
2024-04-04 13:52:28 +02:00
Jan Čermák
e18c6ef4ce Linux: Update kernel to 6.6.24 (#3288)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.24
2024-04-04 12:56:14 +02:00
Stefan Agner
889b561ca1 Ignore non-existing CP15 barrier instructions emulation (#3285)
CP15 barrier instruction emulation only exists on arm64 architecture.
Avoid sysctl writing an error to the journal when the setting doesn't
exist by prepending a dash.
2024-04-04 00:33:45 +02:00
Jan Čermák
90b618b096 Use Docker 25 for installing containers in hassio package (#3286)
Bump DinD version used for creating data partition after Docker bump
in #3271.
2024-04-04 00:33:34 +02:00
agglrx
5ee9cef8c8 Disable UAS via usb-storage.quirks on RPi for ADATA SD600Q (#3281)
Booting from a ADATA SD600Q fails when connected to a USB 3.0 port on RPi4. Adding it to the quirks list resolves the issue.
2024-04-02 10:36:37 +02:00
Jan Čermák
040af8fd9b Bump OS to development version 12.3.dev0 2024-04-02 10:32:23 +02:00
Jan Čermák
94bf84a807 Bump OS to pre-release version 12.2.rc1 2024-03-28 11:13:08 +01:00
Jan Čermák
b564fb3fa7 Bump buildroot to fix dbus tmpfiles warning (#3273)
* buildroot f2472c23a3...b45d671fe3 (1):
  > package/dbus: set runstatedir to /run
2024-03-28 11:09:51 +01:00
Jan Čermák
2d6b731b9a Bump buildroot to add forgotten package/runc patch (#3272)
* buildroot 51c9960ed8...f2472c23a3 (1):
  > package/runc: add support for CGroup device permission updates
2024-03-27 17:33:14 +01:00
Jan Čermák
adbd449494 Bump buildroot to update Docker to v25.0.5 (#3271)
* buildroot 1c84a7493b...51c9960ed8 (2):
  > package/docker-engine: bump version to v25.0.5
  > package/docker-cli: bump version to v25.0.5
2024-03-27 17:24:40 +01:00
Jan Čermák
cff5c81cf0 Linux: Update kernel to 6.6.23 (#3270)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.23
2024-03-27 10:20:35 +01:00
Jan Čermák
aafa022800 Bump buildroot to 2024.02.1 (#3268)
* buildroot a1b2d12f32...1c84a7493b (1):
  > Merge tag '2024.02.1' into 2024.02.x-haos
2024-03-26 13:15:48 +01:00
Jan Čermák
ccf92bc87f Disable setting default keymap in systemd-vconsole-setup (#3261)
Since buildroot commit 3ceb8c97bcb6753740fa27a58b8e0dc00dbbbd19, systemd
has new option BR2_PACKAGE_SYSTEMD_VCONSOLE_DEFAULT_KEYMAP which
defaults to "us". With this option specified, systemd-console depends on
kbd package and causes the following message to be printed during
startup on HAOS:

systemd-vconsole-setup[253]: sh: gzip: not found

This comes from the loadkeys call which tries to open the gzipped file,
so likely the kbd package should also depend on gzip. However, since we
don't want the kbd package at this point, I'm leaving this for later
investigation and simply unsetting the new option to revert to
pre-2024.02 setup.
2024-03-20 12:25:43 +01:00
Jan Čermák
a45cab1756 Linux: Update kernel to 6.6.22 (#3259)
* https://cdn.kernel.org/pub/linux/kernel/v6.x/ChangeLog-6.6.22
2024-03-20 12:25:35 +01:00
Hedda
6c11146d9c List Nabu Casa appliances under boards README.md (#3260)
List Nabu Casa appliances under boards README.md

* Home Assistant Green
* Home Assistant Yellow (based custom carrier board and powered by a Raspberry Pi 4 Compute Module)
* Home Assistant Blue (based on ODROID-N2+)
2024-03-20 09:35:58 +01:00
dependabot[bot]
e144c2bc96 Bump docker/setup-buildx-action from 3.1.0 to 3.2.0 (#3257)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 15:35:15 +01:00
dependabot[bot]
6c7c972c5d Bump docker/build-push-action from 5.2.0 to 5.3.0 (#3256)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 15:31:55 +01:00
dependabot[bot]
1953c2afdb Bump docker/login-action from 3.0.0 to 3.1.0 (#3258)
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-18 15:31:40 +01:00
Matthieu Baerts
6b062f3c75 kernel: enable MPTCP support (#3248)
The official description says:

  Multipath TCP (MPTCP) connections send and receive data over multiple
  subflows in order to utilize multiple network paths. Each subflow uses
  the TCP protocol, and TCP options carry header information for MPTCP.

Thanks to MPTCP, being able to use multiple paths in parallel or
simultaneously brings new use-cases:

- Seamless handovers: switching from one path to another while
  preserving established connections -- Apple is using it for this
  reason since 2013.

- Best network selection: using the "best" available path (latency,
  losses, cost, bandwidth) -- one path can be used as a "backup" one.

- Network aggregation: using multiple paths at the same time to have a
  higher throughput -- e.g. to combine a fixed an mobile network to
  send files faster.

For example, for HA, it is possible to keep a SSH connection alive when
switching from one network to another (e.g. while travelling).

To be able to use MPTCP, both ends need to support it. An application
has to request it, by creating an MPTCP socket instead of a TCP one.
The rest in unchanged. An alternative is to use 'mptcpize' tool, which
relies on LD_PRELOAD to create an MPTCP socket instead of a TCP one.

Note that a MPTCP-enabled server continues to accept regular TCP
connections that do not use the Multipath TCP extension without any
performance impact. When a connection request is received, and is linked
to a listening socket with MPTCP support, the kernel will simply check
if MPTCP options are present. If not, the accepted socket will be a
"plain" TCP one, with the same impact as before.

To use multiple paths at the same time, additional IP addresses need to
be configured, e.g. via the 'ip' tool (IPRoute2).

MPTCP in the kernel is enabled in most main Linux distributions (Debian,
Ubuntu, RedHat, Fedora, etc.), but in more specific ones like Raspbian.
It is available in the Linux kernel since v5.6.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
2024-03-14 16:51:01 +01:00
Jan Čermák
c085ff2b10 Bump OS to development version 12.2.dev0 2024-03-13 15:19:48 +01:00
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
0e3a2d016d Merge branch 'main' into dev 2024-03-13 12:21:53 +01:00
Jan Čermák
fde0c80e54 Bump OS to release version 12.1 2024-03-13 11:17:02 +01:00
Stefan Agner
80dfffc0b0 Bump OS to pre-release version 12.1.rc2 2024-03-12 16:04:54 +01:00
Jan Čermák
dd43bfee8e Fix IPv6 reachability patch not being applied (#3240)
Fix regression caused by #3224 which introduced version-specific
directory for linux patches, causing the upper-level patch not being
applied. Copy the patch to the version folder instead. Also we need
to keep it in the upper directory for RPi kernels.

(cherry picked from commit 8226323a1b)
2024-03-12 15:09:25 +01:00
Jan Čermák
32f1ca8fa8 Fix test_restore_ssl_directory with HA CLI in interactive PTY (#3239)
The test was missing --no-progress flag, which only manifested after
merging #3238 - causing the CLI to run in an interactive pseudotty.

(cherry picked from commit 122dd1c288)
2024-03-12 14:56:14 +01:00
Stefan Agner
3dfd3a4c21 Start HA CLI interactively and with a tty allocated (#3238)
Use -i (--interactive) and -t (--tty) to start the HA CLI interactively.
This is required by some commands like the new device wipe command added
with https://github.com/home-assistant/cli/pull/464.

(cherry picked from commit fe1978f98f)
2024-03-12 14:56:11 +01:00
Jan Čermák
8226323a1b Fix IPv6 reachability patch not being applied (#3240)
Fix regression caused by #3224 which introduced version-specific
directory for linux patches, causing the upper-level patch not being
applied. Copy the patch to the version folder instead. Also we need
to keep it in the upper directory for RPi kernels.
2024-03-12 14:55:18 +01:00
Jan Čermák
122dd1c288 Fix test_restore_ssl_directory with HA CLI in interactive PTY (#3239)
The test was missing --no-progress flag, which only manifested after
merging #3238 - causing the CLI to run in an interactive pseudotty.
2024-03-12 14:55:10 +01:00
Stefan Agner
fe1978f98f Start HA CLI interactively and with a tty allocated (#3238)
Use -i (--interactive) and -t (--tty) to start the HA CLI interactively.
This is required by some commands like the new device wipe command added
with https://github.com/home-assistant/cli/pull/464.
2024-03-12 10:12:35 +01:00
dependabot[bot]
541afd452b Bump docker/build-push-action from 5.1.0 to 5.2.0 (#3235)
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5.1.0...v5.2.0)

---
updated-dependencies:
- dependency-name: docker/build-push-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>
2024-03-11 18:28:48 +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
a909d89e1c Bump OS to pre-release version 12.1.rc1 2024-03-07 17:48:52 +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
a6f54f6c4d Revert USB core changes to workaround Z-Wave stick issues (#3224)
Revert changes in the USB driver causing Z-Wave sticks (Z-Wave.me a
and Aeotec at least) failing to enumerate. Issue is reported upstream
but reverting the patches is a feasible workaround for the time being.

Refs #2995
2024-03-06 16:49:54 +01:00
dependabot[bot]
6ac4f3435b Bump docker/setup-buildx-action from 3.0.0 to 3.1.0 (#3221)
Bumps [docker/setup-buildx-action](https://github.com/docker/setup-buildx-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/docker/setup-buildx-action/releases)
- [Commits](https://github.com/docker/setup-buildx-action/compare/v3.0.0...v3.1.0)

---
updated-dependencies:
- dependency-name: docker/setup-buildx-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>
2024-03-04 14:26:47 +01:00
Jan Čermák
8debb61114 Disable UAS via usb-storage.quirks on RPi for JMicron JMS567 (#3220)
Reported to have issues, quick search around the internet also confirms
that UAS driver doesn't work well here on Linux in general.

Fixes #3217
2024-03-04 12:11:47 +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
Jan Čermák
e60a2e4b68 Merge branch 'main' into dev 2024-02-26 09:39:41 +01:00
Jan Čermák
dfdd3b4438 Clarify M1S flashing and recovery docs (#3187)
Remove the mentions of petitboot, as it's not normally used on M1S.
Document possibility to use SD card boot and alternative method of
reflashing the eMMC from an OS running from an SD card.
2024-02-20 14:24:24 +01:00
Tim L
9614f769f2 M1S issues template (#3181)
* Add Odroid M1S to issues template

* Add M1S to Hardkernel readme
2024-02-17 09:17:11 +01:00
Tim L
8c5377810f Add documentation for ODROID-M1S (#3179) 2024-02-16 12:22:28 +01:00
Jan Čermák
426ef2d568 Bump OS to development version 12.1.dev0 2024-02-15 12:08:24 +01:00
189 changed files with 2887 additions and 1762 deletions

View File

@@ -23,6 +23,7 @@ body:
required: true
attributes:
label: What operating system image do you use?
default: 0
options:
- generic-x86-64 (Generic UEFI capable x86-64 systems)
- generic-aarch64 (Generic UEFI capable aarch64 systems)
@@ -30,6 +31,7 @@ body:
- odroid-c2 (Hardkernel ODROID-C2)
- odroid-c4 (Hardkernel ODROID-C4)
- odroid-m1 (Hardkernel ODROID-M1)
- odroid-m1s (Hardkernel ODROID-M1S)
- odroid-n2 (Hardkernel ODROID-N2/N2+)
- odroid-xu4 (Hardkernel ODROID-XU4)
- ova (for Virtual Machines)
@@ -58,10 +60,21 @@ body:
validations:
required: true
attributes:
label: Did you upgrade the Operating System.
label: Did the problem occur after upgrading the Operating System?
default: 0
options:
- "Yes"
- "No"
- "Yes"
- type: textarea
validations:
required: true
attributes:
label: Hardware details
description: >
Provide details about the hardware used for your install.
This is especially important for bare-metal x86 installations.
If you have any USB devices attached, please list them here.
For VMs, include the hypervisor type and version.
- type: textarea
validations:
required: true

View File

@@ -136,15 +136,15 @@ jobs:
}
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3.0.0
uses: docker/setup-buildx-action@v3.6.1
- name: Log in to the GitHub container registry
uses: docker/login-action@v3.0.0
uses: docker/login-action@v3.3.0
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Build and Push
uses: docker/build-push-action@v5.1.0
uses: docker/build-push-action@v6.5.0
id: build_haos_builder
with:
context: .
@@ -316,7 +316,7 @@ jobs:
echo "## Partitions" >> $GITHUB_STEP_SUMMARY
echo "| File | Size (bytes) | Size (formatted) |" >> $GITHUB_STEP_SUMMARY
echo "|:-|:-|:-|" >> $GITHUB_STEP_SUMMARY
for f in boot.vfat kernel.img rootfs.squashfs overlay.ext4 data.ext4; do
for f in boot.vfat kernel.img rootfs.erofs overlay.ext4 data.ext4; do
echo "| ${f} | $(du -b output/images/$f | cut -f1) | $(du -bh output/images/$f | cut -f1) |" >> $GITHUB_STEP_SUMMARY
done

View File

@@ -8,6 +8,12 @@ jobs:
linters:
runs-on: ubuntu-22.04
steps:
- name: Install additional dependencies
run: |
sudo apt-get update
sudo apt-get -y install \
python3-flake8
- name: Check out code
uses: actions/checkout@v4
with:
@@ -25,4 +31,4 @@ jobs:
- name: Check buildroot-external packages
run: |
buildroot/utils/check-package --exclude PackageHeader --br2-external buildroot-external/package/*/*
buildroot/utils/check-package --exclude PackageHeader --exclude Upstream --br2-external buildroot-external/package/*/*

View File

@@ -28,9 +28,6 @@ jobs:
test:
if: ${{ github.event_name != 'workflow_run' || github.event.workflow_run.conclusion == 'success' }}
env:
NO_KVM: 1
name: Test in QEMU
runs-on: ubuntu-22.04
steps:
@@ -69,6 +66,12 @@ jobs:
xz -dc haos*.qcow2.xz > tests/haos.qcow2
rm haos*.qcow2.xz
- name: Enable KVM group perms
run: |
echo 'KERNEL=="kvm", GROUP="kvm", MODE="0666", OPTIONS+="static_node=kvm"' | sudo tee /etc/udev/rules.d/99-kvm4all.rules
sudo udevadm control --reload-rules
sudo udevadm trigger --name-match=kvm
- name: Run tests
run: |
./tests/run_tests.sh

View File

@@ -4,6 +4,10 @@
The following boards/devices are supported:
- Nabu Casa
- [Home Assistant Green](https://www.home-assistant.io/green/)
- [Home Assistant Yellow](https://www.home-assistant.io/yellow/) (based custom carrier board and powered by a Raspberry Pi 4 Compute Module)
- [Home Assistant Blue](https://www.home-assistant.io/blue/) (based on ODROID-N2+)
- Raspberry Pi
- Pi 5 ([4 GB](https://www.raspberrypi.com/products/raspberry-pi-5/?variant=raspberry-pi-5-4gb) and [8 GB](https://www.raspberrypi.com/products/raspberry-pi-5/?variant=raspberry-pi-5-8gb) model) 64-bit
- Pi 4 Model B ([1 GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/?variant=raspberry-pi-4-model-b-1gb), [2 GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/?variant=raspberry-pi-4-model-b-2gb), [4 GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/?variant=raspberry-pi-4-model-b-4gb) and [8 GB](https://www.raspberrypi.com/products/raspberry-pi-4-model-b/?variant=raspberry-pi-4-model-b-8gb) model) 32-bit or 64-bit (recommended)
@@ -13,6 +17,7 @@ The following boards/devices are supported:
- [ODROID-C2](https://www.hardkernel.com/shop/odroid-c2/) (discontinued)
- [ODROID-C4](https://www.hardkernel.com/shop/odroid-c4/)
- [ODROID-M1](https://www.hardkernel.com/shop/odroid-m1/)
- ODROID-M1S [4 GB](https://www.hardkernel.com/shop/odroid-m1s-with-4gbyte-ram/) or [8 GB](https://www.hardkernel.com/shop/odroid-m1s-with-8gbyte-ram/)
- [ODROID-N2](https://www.hardkernel.com/shop/odroid-n2/) (discontinued)
- ODROID-N2+ [2 GB](https://www.hardkernel.com/shop/odroid-n2-with-2gbyte-ram-2/) or [4 GB](https://www.hardkernel.com/shop/odroid-n2-with-4gbyte-ram-2/)
- [ODROID-XU4](https://www.hardkernel.com/shop/odroid-xu4-special-price/)
@@ -38,6 +43,8 @@ Notes:
|Board|Build|Config|Docs|
|-----|----|------|----|
|Green |`make green` |[green](../../buildroot-external/configs/green_defconfig)|-|
|Yellow |`make yellow` |[yellow](../../buildroot-external/configs/yellow_defconfig)|-|
|Pi5 64-bit |`make rpi5_64` |[rpi5_64](../../buildroot-external/configs/rpi5_64_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi4B 64-bit |`make rpi4_64` |[rpi4_64](../../buildroot-external/configs/rpi4_64_defconfig)|[raspberrypi](./raspberrypi/)|
|Pi4B 32-bit |`make rpi4` |[rpi4](../../buildroot-external/configs/rpi4_defconfig)|[raspberrypi](./raspberrypi/)|
@@ -47,6 +54,7 @@ Notes:
|ODROID-C2 |`make odroid_c2` |[odroid_c2](../../buildroot-external/configs/odroid_c2_defconfig)|[hardkernel](./hardkernel/)|
|ODROID-C4 |`make odroid_c4` |[odroid_c4](../../buildroot-external/configs/odroid_c4_defconfig)|[hardkernel](./hardkernel/)|
|ODROID-M1 |`make odroid_m1` |[odroid_m1](../../buildroot-external/configs/odroid_m1_defconfig)|[hardkernel](./hardkernel/)|
|ODROID-M1S |`make odroid_m1s` |[odroid_m1s](../../buildroot-external/configs/odroid_m1s_defconfig)|[hardkernel](./hardkernel/)|
|ODROID-N2/N2+ |`make odroid_n2` |[odroid_n2](../../buildroot-external/configs/odroid_n2_defconfig)|[hardkernel](./hardkernel/)|
|ODROID-XU4 |`make odroid_xu4` |[odroid_xu4](../../buildroot-external/configs/odroid_xu4_defconfig)|[hardkernel](./hardkernel/)|
|Tinker Board |`make tinker` |[tinker](../../buildroot-external/configs/tinker_defconfig)|[asus](./asus/)|

View File

@@ -7,6 +7,7 @@
| ODROID-C2 | 2016 | yes | [odroid_c2](../../../buildroot-external/configs/odroid_c2_defconfig) |
| ODROID-C4 | 2020 | yes | [odroid_c4](../../../buildroot-external/configs/odroid_c4_defconfig) |
| ODROID-M1 | 2022 | yes | [odroid_m1](../../../buildroot-external/configs/odroid_m1_defconfig) |
| ODROID-M1S | 2023 | yes | [odroid_m1s](../../../buildroot-external/configs/odroid_m1s_defconfig)|
| ODROID-N2 | 2019 | yes | [odroid_n2](../../../buildroot-external/configs/odroid_n2_defconfig) |
| ODROID-XU4 | 2015 | yes | [odroid_xu4](../../../buildroot-external/configs/odroid_xu4_defconfig)|

View File

@@ -8,18 +8,18 @@ SD-card boot is supported via on-board bootloader (SPL) or recovery button.
## eMMC
eMMC boot via on-board bootloader requires the latest version of Petitboot
(spiboot 20230328). To install the latest version download the SPI boot image
eMMC boot via on-board bootloader requires a newer version of Petitboot
(spiboot 20230328 or later). To install the latest version download the SPI boot image
from [linuxfactory.or.kr][1] as follows:
1. Download `spiupdate_odroidm1_20220304.img.xz`
1. Download `spiupdate_odroidm1_20240415.img.xz`
2. Use balenaEtcher or another tool to flash the updater onto an SD card
3. Download `spiboot-20230328.img`
4. Rename the `spiboot-20230328.img` file to`spiboot.img`.
3. Download `spiboot-20240109.img`
4. Rename the `spiboot-20240109.img` file to`spiboot.img`.
5. Paste the `spiboot.img` file onto the FAT partition of that same SD card.
6. Plug-in that SD card to your ODROID-M1. Petitboot will update itself, you can verify the progress on the HDMI output.
7. If you see the version 20230328 in the top right corner, the installation was successful.
* If you see any other version there, the installation failed.
7. If you see the version 20240109 in the top left corner, the installation was successful.\
If you see any other version there, the installation failed.
Once Petitboot is updated you can flash Home Assistant OS directly onto an eMMC.

View File

@@ -0,0 +1,58 @@
# ODROID-M1S
Home Assistant OS 12 and newer support the ODROID-M1S board.
## SD-card
ODROID-M1S can boot HAOS directly from an SD card, as it has higher priority than the system on the eMMC. Simply flash the image to the SD card using your favorite tool and insert it to the micro SD slot on the board. This works even when the eMMC is wiped, or when it contains the factory-default U-Boot SPL loader, which is still able to load U-Boot provided in the HAOS image. In the second case, however, if the SD card fails to probe (e.g. due to a hardware failure), the system on the eMMC may be booted instead of HAOS.
## eMMC
HAOS can be installed directly to the eMMC using a special boot image, to do that:
1. Download [`ODROID-M1S_EMMC2UMS.img`][1]
2. Use balenaEtcher or another tool to flash the UMS utility onto an SD card.
3. Plug-in that SD card to your ODROID-M1S and boot it. Connect your PC to the Micro USB OTG port.
4. The eMMC will show as a drive on your PC and you can directly flash the HAOS image with balenaEther.
Installing HAOS replaces the firmware and SPL on the eMMC with the mainline version provided by HAOS. As a result, it is not possible to use the SD card with the EMMC2UMS image anymore, because the mainline SPL is not compatible with U-Boot in the EMMC2UMS image at this time (February 2024). This does not pose any problem for standard use, just makes it more complicated in case you want to return to the Hardkernel-provided OS.
A reliable way of reflashing the eMMC in this case is to use HAOS booted from an SD card. To do that, insert the SD card with HAOS to the micro SD slot and plug the board in. Once the device boots to the HA CLI, enter `login` to enter the root shell and use `curl` to download an image and `dd` it to the eMMC block device:
```sh
curl https://dn.odroid.com/RK3566/ODROID-M1S/Installer/ODROID-M1S_EMMC2UMS.img | dd of=/dev/mmcblk0
```
This way the device will start in the UMS mode on the next boot with the SD card removed. Alternatively you can use the [Hardkernel installer image][2] directly instead of the EMMC2UMS image.
## NVMe
Booting directly from NVMe is not supported. The NVMe card can be used as a data disk.
## Technical notes on boot flow
The Home Assistant OS image is bootable by the SoC directly. Refer to the [boot sequence documentation][3] for the details on what part of the boot is executed from the eMMC and what from the SD card. The steps documented above should however cover all scenarios that a standard user may encounter during usage.
## Console
By default, console access is available on the serial header (UART) and on HDMI.
The serial console's baudrate is 1500000 by default.
The systemd startup messages will only appear on the serial console by default.
To show the messages on the HDMI console instead, add the console manually
to the `cmdline.txt` file on the boot partition (e.g. `console=tty0`).
## GPIO
Odroid-M1S introduces a new 14pin expansion header. Refer to [the ODROID wiki][4].
At this point not all functionality is supported by the upstream kernel used by Home Assistant OS.
Supported modules include:
- UPS
- Internal USB
- Mini IO board (partial support)
[1]: https://dn.odroid.com/RK3566/ODROID-M1S/Installer/ODROID-M1S_EMMC2UMS.img
[2]: https://wiki.odroid.com/odroid-m1s/getting_started/os_installation_guide#user_installer
[3]: https://wiki.odroid.com/odroid-m1s/board_support/boot_sequence
[4]: https://wiki.odroid.com/odroid-m1s/hardware/expansion_connectors

View File

@@ -5,21 +5,22 @@ Default Kernel tree: 6.1
| Board | Version |
|-------|---------|
| Open Virtual Appliance | 6.6.16 |
| Raspberry Pi | 6.1.73 |
| Raspberry Pi 0-W | 6.1.73 |
| Raspberry Pi 2 | 6.1.73 |
| Raspberry Pi 3 | 6.1.73 |
| Raspberry Pi 4 | 6.1.73 |
| Raspberry Pi 5 | 6.1.73 |
| Home Assistant Yellow | 6.1.73 |
| Home Assistant Green | 6.6.16 |
| Tinker Board | 6.6.16 |
| ODROID-C2 | 6.6.16 |
| ODROID-C4 | 6.6.16 |
| ODROID-M1 | 6.6.16 |
| ODROID-N2 | 6.6.16 |
| ODROID-XU4 | 6.6.16 |
| Generic aarch64 | 6.6.16 |
| Generic x86-64 | 6.6.16 |
| Khadas VIM3 | 6.6.16 |
| Open Virtual Appliance | 6.6.44 |
| Raspberry Pi | 6.6.31 |
| Raspberry Pi 0-W | 6.6.31 |
| Raspberry Pi 2 | 6.6.31 |
| Raspberry Pi 3 | 6.6.31 |
| Raspberry Pi 4 | 6.6.31 |
| Raspberry Pi 5 | 6.6.31 |
| Home Assistant Yellow | 6.6.31 |
| Home Assistant Green | 6.6.44 |
| Tinker Board | 6.6.44 |
| ODROID-C2 | 6.6.44 |
| ODROID-C4 | 6.6.44 |
| ODROID-M1 | 6.6.44 |
| ODROID-M1S | 6.6.44 |
| ODROID-N2 | 6.6.44 |
| ODROID-XU4 | 6.6.44 |
| Generic aarch64 | 6.6.44 |
| Generic x86-64 | 6.6.44 |
| Khadas VIM3 | 6.6.44 |

View File

@@ -14,6 +14,7 @@ Home Assistant Operating System uses Docker as its container engine. By default
## Supported hardware
- Nabu Casa
- Raspberry Pi
- Hardkernel ODROID
- Asus Tinker Board
@@ -37,7 +38,7 @@ The Home Assistant Operating System documentation can be found on the [Home Assi
### Components
- **Bootloader:**
- [Barebox](https://barebox.org/) for devices that support UEFI
- [GRUB](https://www.gnu.org/software/grub/) for devices that support UEFI
- [U-Boot](https://www.denx.de/wiki/U-Boot) for devices that don't support UEFI
- **Operating System:**
- [Buildroot](https://buildroot.org/) LTS Linux

View File

@@ -1 +1 @@
console=tty1 console=ttyS0
console=ttyS0 console=tty0

View File

@@ -10,6 +10,9 @@ function hassos_pre_image() {
cp "${BOARD_DIR}/grub.cfg" "${EFIPART_DATA}/EFI/BOOT/grub.cfg"
cp "${BOARD_DIR}/cmdline.txt" "${EFIPART_DATA}/cmdline.txt"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set ORDER="A B"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set A_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set A_TRY=0
cp -r "${EFIPART_DATA}/"* "${BOOT_DATA}/"
}
@@ -24,4 +27,3 @@ function hassos_post_image() {
convert_disk_image_xz
}

View File

@@ -55,3 +55,5 @@ CONFIG_HYPERV_VSOCKETS=m
CONFIG_PCI_HYPERV=m
CONFIG_PCI_HYPERV_INTERFACE=m
CONFIG_FB_HYPERV=y
CONFIG_I6300ESB_WDT=y

View File

@@ -3,9 +3,9 @@ BOARD_NAME="Generic aarch64"
CHASSIS=embedded
BOOTLOADER=grub
KERNEL_FILE=Image
BOOT_SYS=efi
PARTITION_TABLE_TYPE=gpt
BOOT_SIZE=32M
BOOT_SPL=false
DISK_SIZE=6
DISK_SIZE=6G
SUPERVISOR_MACHINE=qemuarm-64
SUPERVISOR_ARCH=aarch64

View File

@@ -3,7 +3,6 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local SPL_IMG="$(path_spl_img)"
cp -t "${BOOT_DATA}" \
"${BINARIES_DIR}/boot.scr" \
@@ -13,13 +12,7 @@ function hassos_pre_image() {
mkdir -p "${BOOT_DATA}/overlays"
cp "${BINARIES_DIR}"/*.dtbo "${BOOT_DATA}/overlays/"
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
echo "console=tty1" > "${BOOT_DATA}/cmdline.txt"
# SPL
create_spl_image
dd if="${BINARIES_DIR}/u-boot-rockchip.bin" of="${SPL_IMG}" conv=notrunc bs=512 seek=64
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
}

View File

@@ -0,0 +1 @@
console=tty0

View File

@@ -0,0 +1,13 @@
image spl.img {
size = ${BOOT_SPL_SIZE}
hdimage {
partition-table-type = "none"
fill = "yes"
}
partition uboot {
offset = 32k
image = "u-boot-rockchip.bin"
}
}

View File

@@ -482,7 +482,6 @@ CONFIG_BT_BNEP=m
CONFIG_BT_BNEP_MC_FILTER=y
CONFIG_BT_BNEP_PROTO_FILTER=y
CONFIG_BT_HIDP=m
CONFIG_BT_HS=y
CONFIG_BT_6LOWPAN=m
CONFIG_BT_LEDS=y
CONFIG_BT_HCIBTUSB=m
@@ -1556,7 +1555,6 @@ CONFIG_SECURITY=y
CONFIG_SECURITY_APPARMOR=y
CONFIG_SECURITY_YAMA=y
CONFIG_LSM="apparmor"
CONFIG_CRYPTO_USER=m
CONFIG_CRYPTO_PCRYPT=m
CONFIG_CRYPTO_TEST=m
CONFIG_CRYPTO_DH=m
@@ -1598,10 +1596,6 @@ CONFIG_CRYPTO_ZSTD=m
CONFIG_CRYPTO_ANSI_CPRNG=y
CONFIG_CRYPTO_DRBG_HASH=y
CONFIG_CRYPTO_DRBG_CTR=y
CONFIG_CRYPTO_USER_API_HASH=m
CONFIG_CRYPTO_USER_API_SKCIPHER=m
CONFIG_CRYPTO_USER_API_RNG=m
CONFIG_CRYPTO_USER_API_AEAD=m
CONFIG_CRYPTO_GHASH_ARM_CE=m
CONFIG_CRYPTO_SHA1_ARM_NEON=m
CONFIG_CRYPTO_SHA1_ARM_CE=m

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Asus TinkerBoard"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=zImage
BOOT_SYS=hybrid
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=24M
BOOT_SPL=true
BOOT_SPL_SIZE=8M

View File

@@ -0,0 +1,7 @@
partition spl {
size = ${BOOT_SPL_SIZE}
image = "spl.img"
in-partition-table = "no"
offset = 0
holes = {"(0; 17k)"}
}

View File

@@ -23,8 +23,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro rootwait"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro rootwait"
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro rootwait"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro rootwait"
# Load environment from haos-config.txt
if test -e mmc ${devnum}:1 haos-config.txt; then

View File

@@ -1 +1 @@
console=tty0 console=ttyAML0,115200n8
console=ttyAML0,115200n8 console=tty0

View File

@@ -3,9 +3,6 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local BL1="${BINARIES_DIR}/bl1.bin.hardkernel"
local UBOOT_GXBB="${BINARIES_DIR}/u-boot.gxbb"
local SPL_IMG="$(path_spl_img)"
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
cp "${BINARIES_DIR}/meson-gxbb-odroidc2.dtb" "${BOOT_DATA}/meson-gxbb-odroidc2.dtb"
@@ -14,13 +11,6 @@ function hassos_pre_image() {
cp "${BINARIES_DIR}"/*.dtbo "${BOOT_DATA}/overlays/"
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
# SPL
create_spl_image
dd if="${BL1}" of="${SPL_IMG}" conv=notrunc bs=1 count=440
dd if="${BL1}" of="${SPL_IMG}" conv=notrunc bs=512 skip=1 seek=1
dd if="${UBOOT_GXBB}" of="${SPL_IMG}" conv=notrunc bs=512 seek=97
}

View File

@@ -0,0 +1,20 @@
image spl.img {
size = ${BOOT_SPL_SIZE}
hdimage {
partition-table-type = "none"
fill = "yes"
}
partition bl1 {
in-partition-table = "no"
image = "bl1.bin.hardkernel"
offset = 0
}
partition u-boot {
in-partition-table = "no"
image = "u-boot.gxbb"
offset = 97s
}
}

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-C2"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=mbr
PARTITION_TABLE_TYPE=mbr
BOOT_SIZE=24M
BOOT_SPL=true
BOOT_SPL_SIZE=8M

View File

@@ -0,0 +1,8 @@
partition spl {
size = ${BOOT_SPL_SIZE}
image = "spl.img"
in-partition-table = "no"
offset = 0
holes = {"(440; 512)"}
}

View File

@@ -25,8 +25,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
setenv bootargs_a "root=PARTUUID=48617373-06 ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 ro rootwait"
# Load environment from haos-config.txt
if test -e mmc ${devnum}:1 haos-config.txt; then

View File

@@ -1 +1 @@
console=tty0 console=ttyAML0,115200n8
console=ttyAML0,115200n8 console=tty0

View File

@@ -3,8 +3,6 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local UBOOT_SM1="${BINARIES_DIR}/u-boot.sm1"
local SPL_IMG="$(path_spl_img)"
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
cp "${BINARIES_DIR}/meson-sm1-odroid-c4.dtb" "${BOOT_DATA}/meson-sm1-odroid-c4.dtb"
@@ -13,11 +11,6 @@ function hassos_pre_image() {
cp "${BINARIES_DIR}"/*.dtbo "${BOOT_DATA}/overlays/"
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
# SPL
create_spl_image
dd if="${UBOOT_SM1}" of="${SPL_IMG}" conv=notrunc bs=512 seek=1
}

View File

@@ -0,0 +1,13 @@
image spl.img {
size = ${BOOT_SPL_SIZE}
hdimage {
partition-table-type = "none"
fill = "yes"
}
partition uboot {
offset = 512
image = "u-boot.sm1"
}
}

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-C4"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=mbr
PARTITION_TABLE_TYPE=mbr
BOOT_SIZE=24M
BOOT_SPL=true
BOOT_SPL_SIZE=8M

View File

@@ -0,0 +1,7 @@
partition spl {
size = ${BOOT_SPL_SIZE}
image = "spl.img"
in-partition-table = "no"
offset = 0
holes = {"(0; 512)"}
}

View File

@@ -25,8 +25,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} clk_ignore_unused usb-storage.quirks=0x2537:0x1066:u,0x2537:0x1068:u ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
setenv bootargs_a "root=PARTUUID=48617373-06 ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 ro rootwait"
# Load environment from haos-config.txt
if test -e mmc ${devnum}:1 haos-config.txt; then

View File

@@ -0,0 +1 @@
console=tty0

View File

@@ -3,18 +3,12 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local SPL_IMG="$(path_spl_img)"
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
cp "${BINARIES_DIR}"/*.dtb "${BOOT_DATA}/"
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
# SPL
create_spl_image
dd if="${BINARIES_DIR}/u-boot-rockchip.bin" of="${SPL_IMG}" conv=notrunc bs=512 seek=64
}

View File

@@ -0,0 +1,13 @@
image spl.img {
size = ${BOOT_SPL_SIZE}
hdimage {
partition-table-type = "none"
fill = "yes"
}
partition uboot {
offset = 32k
image = "u-boot-rockchip.bin"
}
}

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-M1"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=gpt
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=16M
BOOT_SPL=true
BOOT_SPL_SIZE=16M

View File

@@ -0,0 +1,17 @@
partition spl {
size = ${BOOT_SPL_SIZE}
image = "spl.img"
in-partition-table = "no"
offset = 0
holes = {"(0; 17k)", "(8M; 16M)"}
}
partition uboot {
size = 8M
offset = 8M
# FIXME: hdd-image intended to use the following, but the next one
# is in the img because of the _fix_disk_spl_gpt function
# partition-type-uuid = "21686148-6449-6e6f-744e-656564454649"
partition-type-uuid = "e3c9e316-0b5c-4db8-817d-f92df00215ae"
# no image here - already contains data from spl.img
}

View File

@@ -0,0 +1,46 @@
From 023bc5bd23d3239494bca81d807d3c093f78c131 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= <sairon@sairon.cz>
Date: Thu, 8 Aug 2024 17:52:47 +0200
Subject: [PATCH] odroid-m1: Disable eMMC DDR52 mode, enable HS200
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Disable DDR52 mode on odroid-m1 to fix eMMC writes. Also enable HS200,
as it's supposed to work more reliably than slower modes.
Signed-off-by: Jan Čermák <sairon@sairon.cz>
Upstream: https://patchwork.ozlabs.org/project/uboot/cover/20240204205312.2342868-1-jonas@kwiboo.se/
---
arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi | 3 ---
configs/odroid-m1-rk3568_defconfig | 2 ++
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi b/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
index 0fc360b06d..f9d34d3b77 100644
--- a/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
+++ b/arch/arm/dts/rk3568-odroid-m1-u-boot.dtsi
@@ -14,10 +14,7 @@
&sdhci {
cap-mmc-highspeed;
- mmc-ddr-1_8v;
mmc-hs200-1_8v;
- mmc-hs400-1_8v;
- mmc-hs400-enhanced-strobe;
pinctrl-0 = <&emmc_bus8 &emmc_clk &emmc_cmd &emmc_datastrobe>;
};
diff --git a/configs/odroid-m1-rk3568_defconfig b/configs/odroid-m1-rk3568_defconfig
index 96b4e9ecda..517ac0575d 100644
--- a/configs/odroid-m1-rk3568_defconfig
+++ b/configs/odroid-m1-rk3568_defconfig
@@ -72,6 +72,8 @@ CONFIG_ROCKCHIP_GPIO=y
CONFIG_SYS_I2C_ROCKCHIP=y
CONFIG_MISC=y
CONFIG_SUPPORT_EMMC_RPMB=y
+CONFIG_MMC_HS200_SUPPORT=y
+CONFIG_SPL_MMC_HS200_SUPPORT=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_MMC_SDHCI=y

View File

@@ -23,8 +23,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro rootwait"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro rootwait"
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro rootwait"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro rootwait"
part number mmc ${devnum} hassos-boot boot_partnum

View File

@@ -0,0 +1 @@
console=tty0

View File

@@ -3,18 +3,12 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local SPL_IMG="$(path_spl_img)"
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
cp "${BINARIES_DIR}"/*.dtb "${BOOT_DATA}/"
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
# SPL
create_spl_image
dd if="${BINARIES_DIR}/u-boot-rockchip.bin" of="${SPL_IMG}" conv=notrunc bs=512 seek=64
}

View File

@@ -0,0 +1,13 @@
image spl.img {
size = ${BOOT_SPL_SIZE}
hdimage {
partition-table-type = "none"
fill = "yes"
}
partition uboot {
offset = 32k
image = "u-boot-rockchip.bin"
}
}

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-M1S"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=gpt
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=16M
BOOT_SPL=true
BOOT_SPL_SIZE=16M

View File

@@ -0,0 +1,17 @@
partition spl {
size = ${BOOT_SPL_SIZE}
image = "spl.img"
in-partition-table = "no"
offset = 0
holes = {"(0; 17k)", "(8M; 16M)"}
}
partition uboot {
size = 8M
offset = 8M
# FIXME: hdd-image intended to use the following, but the next one
# is in the img because of the _fix_disk_spl_gpt function
# partition-type-uuid = "21686148-6449-6e6f-744e-656564454649"
partition-type-uuid = "e3c9e316-0b5c-4db8-817d-f92df00215ae"
# no image here - already contains data from spl.img
}

View File

@@ -23,8 +23,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro rootwait"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro rootwait"
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro rootwait"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro rootwait"
part number ${devtype} ${devnum} hassos-boot boot_partnum

View File

@@ -1 +1 @@
console=tty0 console=ttyAML0,115200n8
console=ttyAML0,115200n8 console=tty0

View File

@@ -3,8 +3,6 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local UBOOT_G12B="${BINARIES_DIR}/u-boot.g12b"
local SPL_IMG="$(path_spl_img)"
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
cp "${BINARIES_DIR}"/*.dtb "${BOOT_DATA}/"
@@ -13,11 +11,6 @@ function hassos_pre_image() {
cp "${BINARIES_DIR}"/*.dtbo "${BOOT_DATA}/overlays/"
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
# SPL
create_spl_image
dd if="${UBOOT_G12B}" of="${SPL_IMG}" conv=notrunc bs=512 seek=1
}

View File

@@ -0,0 +1,13 @@
image spl.img {
size = ${BOOT_SPL_SIZE}
hdimage {
partition-table-type = "none"
fill = "yes"
}
partition uboot {
offset = 512
image = "u-boot.g12b"
}
}

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-N2"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=mbr
PARTITION_TABLE_TYPE=mbr
BOOT_SIZE=24M
BOOT_SPL=true
BOOT_SPL_SIZE=8M

View File

@@ -0,0 +1,7 @@
partition spl {
size = ${BOOT_SPL_SIZE}
image = "spl.img"
in-partition-table = "no"
offset = 0
holes = {"(0; 512)"}
}

View File

@@ -25,8 +25,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
setenv bootargs_a "root=PARTUUID=48617373-06 ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 ro rootwait"
# Load environment from haos-config.txt
if test -e mmc ${devnum}:1 haos-config.txt; then

View File

@@ -1 +1 @@
console=tty1 console=ttySAC2,115200
console=ttySAC2,115200 console=tty0

View File

@@ -3,24 +3,10 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local BL1="${BINARIES_DIR}/bl1.bin.hardkernel"
local BL2="${BINARIES_DIR}/bl2.bin.hardkernel.720k_uboot"
local BLTZ="${BINARIES_DIR}/tzsw.bin.hardkernel"
local UBOOT="${BINARIES_DIR}/u-boot.bin"
local spl_img="$(path_spl_img)"
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
cp "${BINARIES_DIR}/exynos5422-odroidxu4.dtb" "${BOOT_DATA}/exynos5422-odroidxu4.dtb"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
# SPL
create_spl_image
dd if="${BL1}" of="${spl_img}" conv=notrunc bs=512 seek=1
dd if="${BL2}" of="${spl_img}" conv=notrunc bs=512 seek=31
dd if="${UBOOT}" of="${spl_img}" conv=notrunc bs=512 seek=63
dd if="${BLTZ}" of="${spl_img}" conv=notrunc bs=512 seek=1503
dd if=/dev/zero of="${spl_img}" conv=notrunc bs=512 count=32 seek=2015
}

View File

@@ -0,0 +1,33 @@
image spl.img {
size = ${BOOT_SPL_SIZE}
hdimage {
partition-table-type = "none"
fill = "yes"
}
partition 0 {
size = 512
fill = "yes"
}
partition bl1 {
image = "bl1.bin.hardkernel"
holes = {"(15360; 15616)"} # last 256 bytes are overwritten by bl2
}
partition bl2 {
offset = 31s
image = "bl2.bin.hardkernel.720k_uboot"
}
partition uboot {
offset = 63s
image = "u-boot.bin"
}
partition tzsw {
offset = 1503s
image = "tzsw.bin.hardkernel"
}
}

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Hardkernel ODROID-XU4"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=zImage
BOOT_SYS=mbr
PARTITION_TABLE_TYPE=mbr
BOOT_SIZE=24M
BOOT_SPL=true
BOOT_SPL_SIZE=8M

View File

@@ -0,0 +1,7 @@
partition spl {
size = ${BOOT_SPL_SIZE}
image = "spl.img"
in-partition-table = "no"
offset = 0
holes = {"(440; 512)"}
}

View File

@@ -27,8 +27,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
setenv bootargs_a "root=PARTUUID=48617373-06 ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 ro rootwait"
# Load extraargs
fileenv mmc ${devnum}:1 ${ramdisk_addr_r} cmdline.txt cmdline

View File

@@ -1 +1 @@
console=tty0 console=ttyAML0,115200n8
console=ttyAML0,115200n8 console=tty0

View File

@@ -3,20 +3,12 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local UBOOT_GXL="${BINARIES_DIR}/u-boot.gxl"
local SPL_IMG="$(path_spl_img)"
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
cp "${BINARIES_DIR}/meson-g12b-s922x-khadas-vim3.dtb" "${BOOT_DATA}/meson-g12b-s922x-khadas-vim3.dtb"
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
# SPL
create_spl_image
dd if="${UBOOT_GXL}" of="${SPL_IMG}" conv=notrunc bs=1 count=444
dd if="${UBOOT_GXL}" of="${SPL_IMG}" conv=notrunc bs=512 skip=1 seek=1
}

View File

@@ -0,0 +1,16 @@
image spl.img {
size = ${BOOT_SPL_SIZE}
# FIXME: May not be necessary, but keeping it for now for binary-identical output
exec-post = "dd if=/dev/zero of=${BINARIES_DIR}/spl.img seek=444 count=68 bs=1 conv=notrunc"
hdimage {
partition-table-type = "none"
fill = "yes"
}
partition uboot {
offset = 0
image = "u-boot.gxl"
}
}

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Khadas VIM3"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=mbr
PARTITION_TABLE_TYPE=mbr
BOOT_SIZE=24M
BOOT_SPL=true
BOOT_SPL_SIZE=8M

View File

@@ -0,0 +1,7 @@
partition spl {
size = ${BOOT_SPL_SIZE}
image = "spl.img"
in-partition-table = "no"
offset = 0
holes = {"(440; 512)"}
}

View File

@@ -25,8 +25,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 rootfstype=squashfs ro rootwait"
setenv bootargs_a "root=PARTUUID=48617373-06 ro rootwait"
setenv bootargs_b "root=PARTUUID=48617373-08 ro rootwait"
# Load environment from haos-config.txt
if test -e mmc ${devnum}:1 haos-config.txt; then

View File

@@ -0,0 +1 @@
console=tty0

View File

@@ -3,18 +3,12 @@
function hassos_pre_image() {
local BOOT_DATA="$(path_boot_dir)"
local SPL_IMG="$(path_spl_img)"
cp "${BINARIES_DIR}/boot.scr" "${BOOT_DATA}/boot.scr"
cp "${BINARIES_DIR}"/*.dtb "${BOOT_DATA}/"
cp "${BOARD_DIR}/boot-env.txt" "${BOOT_DATA}/haos-config.txt"
cp "${BOARD_DIR}/cmdline.txt" "${BOOT_DATA}/cmdline.txt"
# SPL
create_spl_image
dd if="${BINARIES_DIR}/u-boot-rockchip.bin" of="${SPL_IMG}" conv=notrunc bs=512 seek=64
}

View File

@@ -0,0 +1,13 @@
image spl.img {
size = ${BOOT_SPL_SIZE}
hdimage {
partition-table-type = "none"
fill = "yes"
}
partition uboot {
offset = 32k
image = "u-boot-rockchip.bin"
}
}

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Home Assistant Green"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=gpt
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=16M
BOOT_SPL=true
BOOT_SPL_SIZE=16M

View File

@@ -0,0 +1,7 @@
partition spl {
size = ${BOOT_SPL_SIZE}
image = "spl.img"
in-partition-table = "no"
offset = 0
holes = {"(0; 17k)"}
}

View File

@@ -0,0 +1,58 @@
From 331826e0c52d6bdd65d862e06834f23b3a750276 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= <sairon@sairon.cz>
Date: Wed, 12 Jun 2024 15:20:46 +0200
Subject: [PATCH] green: Do not use eMMC DDR52 mode, enable HS200
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
There is a known issue on RK356x boards that the eMMC writing fails when
DDR52 mode is used. Disable this mode and other HS modes, keep only
HS200 which works reliably with the eMMC used on Green. For more details
see the upstream commit and mailing list discussion [1].
Also enable HS200 support in defconfig.
[1] https://patchwork.ozlabs.org/project/uboot/patch/20240204205312.2342868-2-jonas@kwiboo.se/
Signed-off-by: Jan Čermák <sairon@sairon.cz>
---
arch/arm/dts/rk3566-ha-green-u-boot.dtsi | 5 +----
configs/green_defconfig | 2 ++
2 files changed, 3 insertions(+), 4 deletions(-)
diff --git a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi
index 48d7b61513..8dc1585aac 100644
--- a/arch/arm/dts/rk3566-ha-green-u-boot.dtsi
+++ b/arch/arm/dts/rk3566-ha-green-u-boot.dtsi
@@ -71,10 +71,7 @@
&sdhci {
cap-mmc-highspeed;
- mmc-ddr-1_8v;
mmc-hs200-1_8v;
- mmc-hs400-1_8v;
- mmc-hs400-enhanced-strobe;
};
&sfc {
@@ -115,4 +112,4 @@
&vcc5v0_usb_host {
regulator-boot-on;
-};
\ No newline at end of file
+};
diff --git a/configs/green_defconfig b/configs/green_defconfig
index 71c9257d7d..7b5a705686 100644
--- a/configs/green_defconfig
+++ b/configs/green_defconfig
@@ -65,6 +65,8 @@ CONFIG_MISC=y
CONFIG_I2C_EEPROM=y
CONFIG_SYS_I2C_EEPROM_ADDR=0x0
CONFIG_SUPPORT_EMMC_RPMB=y
+CONFIG_MMC_HS200_SUPPORT=y
+CONFIG_SPL_MMC_HS200_SUPPORT=y
CONFIG_MMC_DW=y
CONFIG_MMC_DW_ROCKCHIP=y
CONFIG_MMC_SDHCI=y

View File

@@ -28,8 +28,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 rootwait systemd.machine_id=${MACHINE_ID} fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro"
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro"
part number ${devtype} ${devnum} hassos-boot boot_partnum

View File

@@ -1 +1 @@
console=tty1
console=tty0

View File

@@ -9,14 +9,10 @@ function hassos_pre_image() {
cp "${BOARD_DIR}/../grub.cfg" "${EFIPART_DATA}/EFI/BOOT/grub.cfg"
cp "${BOARD_DIR}/cmdline.txt" "${EFIPART_DATA}/cmdline.txt"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set ORDER="A B"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set A_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set A_TRY=0
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set ORDER="B A"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set B_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set B_TRY=0
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set ORDER="A B"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set A_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set A_TRY=0
cp -r "${EFIPART_DATA}/"* "${BOOT_DATA}/"
}

View File

@@ -3,9 +3,9 @@ BOARD_NAME="Generic x86-64"
CHASSIS=embedded
BOOTLOADER=grub
KERNEL_FILE=bzImage
BOOT_SYS=efi
PARTITION_TABLE_TYPE=gpt
BOOT_SIZE=32M
BOOT_SPL=false
DISK_SIZE=6
DISK_SIZE=6G
SUPERVISOR_MACHINE=generic-x86-64
SUPERVISOR_ARCH=amd64

View File

@@ -1 +1 @@
console=ttyS0 console=tty1
console=ttyS0 console=tty0

View File

@@ -9,14 +9,10 @@ function hassos_pre_image() {
cp "${BOARD_DIR}/../grub.cfg" "${EFIPART_DATA}/EFI/BOOT/grub.cfg"
cp "${BOARD_DIR}/cmdline.txt" "${EFIPART_DATA}/cmdline.txt"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set ORDER="A B"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set A_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-A" set A_TRY=0
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set ORDER="B A"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set B_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv-B" set B_TRY=0
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" create
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set ORDER="A B"
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set A_OK=1
grub-editenv "${EFIPART_DATA}/EFI/BOOT/grubenv" set A_TRY=0
cp -r "${EFIPART_DATA}/"* "${BOOT_DATA}/"
}

View File

@@ -3,9 +3,9 @@ BOARD_NAME="Open Virtual Appliance"
CHASSIS=vm
BOOTLOADER=grub
KERNEL_FILE=bzImage
BOOT_SYS=efi
PARTITION_TABLE_TYPE=gpt
BOOT_SIZE=32M
BOOT_SPL=false
DISK_SIZE=32
DISK_SIZE=32G
SUPERVISOR_MACHINE=qemux86-64
SUPERVISOR_ARCH=amd64

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:225c:u,7825:a2a4:u
dwc_otg.lpm_enable=0 console=tty0 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:225c:u,7825:a2a4:u,152d:0562:u,125f:a88a:u

View File

@@ -1,5 +1,4 @@
From 57188c09ac02bfa61cce55932ccba43ec7210e54 Mon Sep 17 00:00:00 2001
Message-Id: <57188c09ac02bfa61cce55932ccba43ec7210e54.1677499675.git.stefan@agner.ch>
From e2f2644f306f44e65bb8082bac3c26cb5e699664 Mon Sep 17 00:00:00 2001
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Tue, 2 Jun 2020 21:20:08 +0000
Subject: [PATCH] ARM: dts: bcm283x: add compatible picked up by U-Boot
@@ -12,14 +11,14 @@ not using that compatible string.
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711.dtsi | 8 ++++----
arch/arm/boot/dts/bcm283x.dtsi | 2 +-
arch/arm/boot/dts/broadcom/bcm2711.dtsi | 8 ++++----
arch/arm/boot/dts/broadcom/bcm283x.dtsi | 2 +-
2 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/arch/arm/boot/dts/bcm2711.dtsi b/arch/arm/boot/dts/bcm2711.dtsi
index 941c4d16791b..3cd49fa4bafd 100644
--- a/arch/arm/boot/dts/bcm2711.dtsi
+++ b/arch/arm/boot/dts/bcm2711.dtsi
diff --git a/arch/arm/boot/dts/broadcom/bcm2711.dtsi b/arch/arm/boot/dts/broadcom/bcm2711.dtsi
index 4a379a14966d8..30f6ccdcef178 100644
--- a/arch/arm/boot/dts/broadcom/bcm2711.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm2711.dtsi
@@ -128,7 +128,7 @@ rng@7e104000 {
};
@@ -56,11 +55,11 @@ index 941c4d16791b..3cd49fa4bafd 100644
reg = <0x7e201a00 0x200>;
interrupts = <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&clocks BCM2835_CLOCK_UART>,
diff --git a/arch/arm/boot/dts/bcm283x.dtsi b/arch/arm/boot/dts/bcm283x.dtsi
index d2d9c6e67f39..7b9a2e8cf529 100644
--- a/arch/arm/boot/dts/bcm283x.dtsi
+++ b/arch/arm/boot/dts/bcm283x.dtsi
@@ -302,7 +302,7 @@ uart1_ctsrts_gpio42: uart1_ctsrts_gpio42 {
diff --git a/arch/arm/boot/dts/broadcom/bcm283x.dtsi b/arch/arm/boot/dts/broadcom/bcm283x.dtsi
index 2ca8a2505a4db..6f91c85677d89 100644
--- a/arch/arm/boot/dts/broadcom/bcm283x.dtsi
+++ b/arch/arm/boot/dts/broadcom/bcm283x.dtsi
@@ -302,7 +302,7 @@ uart1_ctsrts_gpio42: uart1-ctsrts-gpio42 {
};
uart0: serial@7e201000 {
@@ -69,6 +68,3 @@ index d2d9c6e67f39..7b9a2e8cf529 100644
reg = <0x7e201000 0x200>;
interrupts = <2 25>;
clocks = <&clocks BCM2835_CLOCK_UART>,
--
2.39.1

View File

@@ -0,0 +1,30 @@
From 8b7bfad7fda35949975f359c7e207bc57bc765db Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Jan=20=C4=8Cerm=C3=A1k?= <sairon@sairon.cz>
Date: Mon, 15 Apr 2024 14:07:34 +0200
Subject: [PATCH] USB: storage: Increase maximum length of the quirks string
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
Maximum length of the quirks string is 127 characters which is not sufficient
for the already long list of quirky controllers in HAOS. Increase the size of
the quirks variable to allow up to 255 characters.
Signed-off-by: Jan Čermák <sairon@sairon.cz>
---
drivers/usb/storage/usb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/usb/storage/usb.c b/drivers/usb/storage/usb.c
index 7b36a3334fb34..9691e6b9fe5aa 100644
--- a/drivers/usb/storage/usb.c
+++ b/drivers/usb/storage/usb.c
@@ -71,7 +71,7 @@ static unsigned int delay_use = 1;
module_param(delay_use, uint, S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(delay_use, "seconds to delay before using a new device");
-static char quirks[128];
+static char quirks[256];
module_param_string(quirks, quirks, sizeof(quirks), S_IRUGO | S_IWUSR);
MODULE_PARM_DESC(quirks, "supplemental list of device IDs and their quirks");

View File

@@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 2"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=zImage
BOOT_SYS=hybrid
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=32M
BOOT_SPL=false
BOOT_ENV_SIZE=0x4000

View File

@@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 3 64bit"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=hybrid
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=32M
BOOT_SPL=false
BOOT_ENV_SIZE=0x4000

View File

@@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 3"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=zImage
BOOT_SYS=hybrid
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=32M
BOOT_SPL=false
BOOT_ENV_SIZE=0x4000

View File

@@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 4 64bit"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=hybrid
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=32M
BOOT_SPL=false
BOOT_ENV_SIZE=0x4000

View File

@@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 4"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=zImage
BOOT_SYS=hybrid
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=32M
BOOT_SPL=false
BOOT_ENV_SIZE=0x4000

View File

@@ -1 +1 @@
zram.enabled=1 zram.num_devices=3 rootwait cgroup_enable=memory fsck.repair=yes console=tty1 root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro rauc.slot=A
zram.enabled=1 zram.num_devices=3 rootwait cgroup_enable=memory fsck.repair=yes console=tty0 root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro rauc.slot=A

View File

@@ -3,7 +3,7 @@ BOARD_NAME="RaspberryPi 5 64bit"
CHASSIS=embedded
BOOTLOADER=tryboot
KERNEL_FILE=Image
BOOT_SYS=gpt
PARTITION_TABLE_TYPE=gpt
BOOT_SIZE=64M
BOOT_SPL=false
BOOT_ENV_SIZE=0x4000

View File

@@ -24,8 +24,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 rootwait systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro"
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro"
# Preserve origin bootargs
setenv bootargs_rpi

View File

@@ -24,8 +24,8 @@ test -n "${MACHINE_ID}" || setenv BOOT_CONDITION "systemd.condition-first-boot=t
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 rootwait systemd.machine_id=${MACHINE_ID} cgroup_enable=memory fsck.repair=yes ${BOOT_CONDITION}"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro"
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd ro"
setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 ro"
# Preserve origin bootargs
setenv bootargs_rpi

View File

@@ -1 +1 @@
dwc_otg.lpm_enable=0 console=tty1 console=ttyAMA2,115200n8
dwc_otg.lpm_enable=0 console=tty0 console=ttyAMA2,115200n8

View File

@@ -3,7 +3,7 @@ BOARD_NAME="Yellow"
CHASSIS=embedded
BOOTLOADER=uboot
KERNEL_FILE=Image
BOOT_SYS=hybrid
PARTITION_TABLE_TYPE=hybrid
BOOT_SIZE=32M
BOOT_SPL=false
BOOT_ENV_SIZE=0x4000

View File

@@ -1,5 +1,4 @@
From 808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9 Mon Sep 17 00:00:00 2001
Message-ID: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
From 2acf7bc2a2b2a1e575aa6cfe8e8215ff1c0a35ae Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Mon, 11 Apr 2022 14:47:59 +0200
Subject: [PATCH] ARM: dts: bcm2711: Add device tree for Home Assistant Yellow
@@ -9,31 +8,18 @@ board.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/Makefile | 1 +
.../boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 587 ++++++++++++++++++
.../broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 587 ++++++++++++++++++
arch/arm64/boot/dts/broadcom/Makefile | 1 +
.../broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 1 +
4 files changed, 590 insertions(+)
create mode 100644 arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
3 files changed, 589 insertions(+)
create mode 100644 arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
create mode 100644 arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
index d12432ec2554..38351b107814 100644
--- a/arch/arm/boot/dts/Makefile
+++ b/arch/arm/boot/dts/Makefile
@@ -18,6 +18,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += \
bcm2709-rpi-cm2.dtb \
bcm2710-rpi-cm3.dtb \
bcm2711-rpi-cm4.dtb \
+ bcm2711-rpi-cm4-ha-yellow.dtb \
bcm2711-rpi-cm4s.dtb \
bcm2712-rpi-5-b.dtb
diff --git a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
new file mode 100644
index 000000000000..f92936d7cf16
index 0000000000000..f92936d7cf16b
--- /dev/null
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -0,0 +1,587 @@
+// SPDX-License-Identifier: GPL-2.0
+/dts-v1/;
@@ -623,24 +609,21 @@ index 000000000000..f92936d7cf16
+ };
+};
diff --git a/arch/arm64/boot/dts/broadcom/Makefile b/arch/arm64/boot/dts/broadcom/Makefile
index effdc7137c11..ba3e56723985 100644
index 6dd8659a7d8a8..9d17e60dc33f7 100644
--- a/arch/arm64/boot/dts/broadcom/Makefile
+++ b/arch/arm64/boot/dts/broadcom/Makefile
@@ -15,6 +15,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-3-b.dtb
@@ -19,6 +19,7 @@ dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-3-b.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-3-b-plus.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2710-rpi-cm3.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4.dtb
+dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4-ha-yellow.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2711-rpi-cm4s.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2712-rpi-5-b.dtb
dtb-$(CONFIG_ARCH_BCM2835) += bcm2712d0-rpi-5-b.dtb
diff --git a/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
new file mode 100644
index 000000000000..fdc5ec5bc956
index 0000000000000..97ff67ade14d9
--- /dev/null
+++ b/arch/arm64/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -0,0 +1 @@
+#include "../../../../arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts"
--
2.42.0
+#include "../../../../arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts"

View File

@@ -1,7 +1,4 @@
From e46bcfa7e1b577be494024b05c2b310f10a037c2 Mon Sep 17 00:00:00 2001
Message-ID: <e46bcfa7e1b577be494024b05c2b310f10a037c2.1698393299.git.stefan@agner.ch>
In-Reply-To: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
References: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
From 7bc3b341d90c95dc17d3da0930801006b00d2046 Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:33:09 +0100
Subject: [PATCH] ARM: dts: bcm2711: yellow: Mux UART4 for SiLabs radio module
@@ -10,13 +7,13 @@ Enable UART4 by default and mux pins including hardware flow control.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 16 ++++++++++++++--
.../dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 16 ++++++++++++++--
1 file changed, 14 insertions(+), 2 deletions(-)
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 f92936d7cf16..fa93ab5ca639 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
index f92936d7cf16b..fa93ab5ca639b 100644
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -15,6 +15,10 @@ / {
compatible = "raspberrypi,4-compute-module-ha-yellow", "raspberrypi,4-compute-module", "brcm,bcm2711";
model = "Raspberry Pi Compute Module 4 on Home Assistant Yellow";
@@ -55,6 +52,3 @@ index f92936d7cf16..fa93ab5ca639 100644
};
uart5_pins: uart5_pins {
--
2.42.0

View File

@@ -1,20 +1,17 @@
From aa2d31d8148440ca6e981c9793695dea056baeff Mon Sep 17 00:00:00 2001
Message-ID: <aa2d31d8148440ca6e981c9793695dea056baeff.1698393299.git.stefan@agner.ch>
In-Reply-To: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
References: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
From 65dd5542d4baf35595fc85cd7a9e0aa51dc371cc Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:44:23 +0100
Subject: [PATCH] ARM: dts: bcm2711: yellow: Mux debug UART5
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 9 +++++++++
arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 9 +++++++++
1 file changed, 9 insertions(+)
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 fa93ab5ca639..cc7e7b28ffc7 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
index fa93ab5ca639b..cc7e7b28ffc76 100644
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -17,6 +17,7 @@ / {
aliases {
@@ -45,6 +42,3 @@ index fa93ab5ca639..cc7e7b28ffc7 100644
};
aliases {
--
2.42.0

View File

@@ -1,7 +1,4 @@
From 746ef4ac4f691fe588f8fd7947a900d616f74e5b Mon Sep 17 00:00:00 2001
Message-ID: <746ef4ac4f691fe588f8fd7947a900d616f74e5b.1698393299.git.stefan@agner.ch>
In-Reply-To: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
References: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
From 68b50046140a36790b004005b6305820de80520b Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 14:48:48 +0100
Subject: [PATCH] ARM: dts: bcm2711: yellow: Enable I2C6 by default
@@ -10,13 +7,13 @@ The main I2C bus used on Yellow is I2C6. Enable it by default.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 6 ++++++
arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 6 ++++++
1 file changed, 6 insertions(+)
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 cc7e7b28ffc7..72f437f4e81a 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
index cc7e7b28ffc76..72f437f4e81a1 100644
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -510,6 +510,12 @@ &i2c1 {
clock-frequency = <100000>;
};
@@ -30,6 +27,3 @@ index cc7e7b28ffc7..72f437f4e81a 100644
&i2s {
pinctrl-names = "default";
pinctrl-0 = <&i2s_pins>;
--
2.42.0

View File

@@ -1,7 +1,4 @@
From da56dbf0ce913c49bde27bd9196e68a4a2c38d66 Mon Sep 17 00:00:00 2001
Message-ID: <da56dbf0ce913c49bde27bd9196e68a4a2c38d66.1698393299.git.stefan@agner.ch>
In-Reply-To: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
References: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
From fef283110d29ff46fba6f1b2d24519128ce8a79b Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 4 Mar 2021 17:19:01 +0100
Subject: [PATCH] ARM: dts: bcm2711: yellow: add I2S audio codec
@@ -10,13 +7,13 @@ Add TI PCM5122 I2S audio codec.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
.../boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 26 +++++++++++++++++++
.../broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 26 +++++++++++++++++++
1 file changed, 26 insertions(+)
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 72f437f4e81a..8ca65c696531 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
index 72f437f4e81a1..8ca65c696531f 100644
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -514,11 +514,22 @@ &i2c6 {
pinctrl-names = "default";
pinctrl-0 = <&i2c6_pins>;
@@ -62,6 +59,3 @@ index 72f437f4e81a..8ca65c696531 100644
&vchiq {
pinctrl-names = "default";
pinctrl-0 = <&audio_pins>;
--
2.42.0

View File

@@ -1,20 +1,17 @@
From 05d15d41fcd7b94521cb93a696ba25174627adfc Mon Sep 17 00:00:00 2001
Message-ID: <05d15d41fcd7b94521cb93a696ba25174627adfc.1698393299.git.stefan@agner.ch>
In-Reply-To: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
References: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
From 813ead66c6b09ce9eaab57b5ab6907314226368a Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Tue, 9 Mar 2021 15:02:53 +0100
Subject: [PATCH] ARM: dts: bcm2711: yellow: enable GPIO keys
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
.../boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 31 +++++++++++++++++++
.../broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 31 +++++++++++++++++++
1 file changed, 31 insertions(+)
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 8ca65c696531..dcc36efcdcb1 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
index 8ca65c696531f..dcc36efcdcb14 100644
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -11,6 +11,8 @@
#undef i2c0
//#include "bcm283x-rpi-usb-peripheral.dtsi"
@@ -67,6 +64,3 @@ index 8ca65c696531..dcc36efcdcb1 100644
spi0_pins: spi0_pins {
brcm,pins = <9 10 11>;
brcm,function = <BCM2835_FSEL_ALT0>;
--
2.42.0

View File

@@ -1,7 +1,4 @@
From bc62fb721d663f63c9b44371d875e6c52d5d6126 Mon Sep 17 00:00:00 2001
Message-ID: <bc62fb721d663f63c9b44371d875e6c52d5d6126.1698393299.git.stefan@agner.ch>
In-Reply-To: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
References: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
From e738be24b35b8c8df6e5149a64ad9c366c27ba59 Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 28 Oct 2021 19:38:04 +0200
Subject: [PATCH] ARM: dts: bcm2711: yellow: add user LED
@@ -10,13 +7,13 @@ Add yellow user LED.
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 7 ++++++-
arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 7 ++++++-
1 file changed, 6 insertions(+), 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 dcc36efcdcb1..6cdf595cdc2c 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
index dcc36efcdcb14..6cdf595cdc2c3 100644
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -315,7 +315,6 @@ soc {
#include "bcm2711-rpi-ds.dtsi"
#include "bcm283x-rpi-csi0-2lane.dtsi"
@@ -38,6 +35,3 @@ index dcc36efcdcb1..6cdf595cdc2c 100644
};
&pwm1 {
--
2.42.0

View File

@@ -1,20 +1,17 @@
From 0dd0356291e2cd2921c3e20e920a8d0f7f4832c6 Mon Sep 17 00:00:00 2001
Message-ID: <0dd0356291e2cd2921c3e20e920a8d0f7f4832c6.1698393299.git.stefan@agner.ch>
In-Reply-To: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
References: <808c5caa6bdefaadf7c63d9fb5c18c33dc1fe5b9.1698393299.git.stefan@agner.ch>
From 1ac9e238e1e9ec9c7cfc8dc84304a6949fe1d958 Mon Sep 17 00:00:00 2001
From: Stefan Agner <stefan@agner.ch>
Date: Fri, 12 Nov 2021 17:33:32 +0100
Subject: [PATCH] ARM: dts: bcm2711: yellow: add NXP PCF85063A RTC
Signed-off-by: Stefan Agner <stefan@agner.ch>
---
arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts | 5 +++++
arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts | 5 +++++
1 file changed, 5 insertions(+)
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 6cdf595cdc2c..e867da211c9f 100644
--- a/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/bcm2711-rpi-cm4-ha-yellow.dts
diff --git a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
index 6cdf595cdc2c3..e867da211c9fc 100644
--- a/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
+++ b/arch/arm/boot/dts/broadcom/bcm2711-rpi-cm4-ha-yellow.dts
@@ -554,6 +554,11 @@ card_codec: pcm5121@4c {
CPVDD-supply = <&vdd_3v3_reg>;
status = "okay";
@@ -27,6 +24,3 @@ index 6cdf595cdc2c..e867da211c9f 100644
};
&i2s {
--
2.42.0

Some files were not shown because too many files have changed in this diff Show More