Commit Graph

1412 Commits

Author SHA1 Message Date
Stefan Agner
b9f65295b3 Add firmware for RTL8761B/BU devices (#1392) (#1423)
(cherry picked from commit e5933c4ed4)
2021-06-21 10:19:35 +02:00
Stefan Agner
6afd378bd6 Linux: Update kernel 5.10.45 (#1424)
(cherry picked from commit 94432dad88)
2021-06-21 10:19:18 +02:00
Stefan Agner
9c239480b2 Move ODROID patches (#1415)
The patches for ODROID-C2/C4 don't apply to Linux 5.12 used in
ODROID-N2. Move ODROID-C2/C4 patches to kernel version specific
directory so they don't get applied for ODROID-N2.

(cherry picked from commit 64d3cd88a1)
2021-06-21 10:19:14 +02:00
Stefan Agner
98ac18cbd5 Update buildroot to 2021.02.3 (#1422)
Signed-off-by: Stefan Agner <stefan@agner.ch>
(cherry picked from commit 9c8172df40)
2021-06-21 10:17:45 +02:00
Jens Maus
d7d9e08a61 Update generic_raw_uart module to latest version (#1417)
(cherry picked from commit 44cca729f0)
2021-06-21 10:17:24 +02:00
Stefan Agner
29c0f2f729 Improve kernel update scripts (#1413)
* Improve kernel update scripts

Use separate script for ODROID-N2 for now. Also warn if there are kernel
patches with a specific kernel version number in the source tree: They
typically can be just moved to the new kernel version, but one should
compile check them before committing.

(cherry picked from commit 96a8ab17c1)
2021-06-21 10:17:19 +02:00
Stefan Agner
fb4d7c5f2f Remove unnecessary ODROID-N2 kernel patches (#1412)
For ODROID-N2, release 6 is using Linux 5.9.16. On dev branch we most
likely will move to latest stable and skip 5.10. Drop those unnecessary
patches.

(cherry picked from commit f7c5154bda)
2021-06-21 10:10:41 +02:00
Stefan Agner
2e78964517 Set deployment type to production (#1404) (#1405) 2021-06-14 18:45:31 +02:00
Stefan Agner
cb0fa11eeb Fix release builds without dev part in version number (#1396) 6.0 2021-06-09 01:18:42 +02:00
Stefan Agner
89c4d57b18 Bump linux to 5.10.42 (#1395)
* Linux: Update kernel 5.10.42

* Fix kernel version documentation
2021-06-08 23:59:31 +02:00
Stefan Agner
a66f3380e3 Enable Wireless Extension for proc API (#1389) (#1394)
The Wireless Extension framework is deprecated, but it seems that the
Wireless Extensions proc API is still popular (/proc/net/wireless).
Enable the minimal set of Wireless Extension to get the proc API.
2021-06-08 23:44:06 +02:00
Marius
288f4a0082 Verify Power Supply Rating (#1393)
* Add paragraph on Power Supply

see: https://jamesachambers.com/raspberry-pi-4-ubuntu-20-04-usb-mass-storage-boot-guide/
2021-06-07 11:51:06 +02:00
Stefan Agner
622cbb806d Restart console on tty1 on exit (#1387) (#1391)
Since we start the HomeAssistant shell directly on tty the service
responsible for starting did not restart the shell on exit. Remove the
RemainAfterExit flag to make sure that the shell restarts on exit.
2021-06-05 15:17:14 +02:00
Herr Frei
5c8a0307fb Add thinkpad_acpi module (#1388)
* Add defconfig entry for thinkpad_acpi module
2021-06-05 15:16:56 +02:00
Stefan Agner
51e80cb7bc Avoid spurious shutdown on ODROID-XU4 (#1385) (#1386)
It seems that the TPU (thermal monitoring) sometimes reports
unreasonable high temperatures, leading the kernel to trigger a thermal
shutdown. Add a patch which filters out such spurious temperature
readings.
2021-06-04 15:20:10 +02:00
Stefan Agner
9e921ed9ad Add additional directories to .dockerignore (#1382) 2021-05-30 21:43:44 +02:00
Stefan Agner
56730adf48 Keep Linux patches for 5.10.37 for other ODROID boards (#1381) 6.0.rc3 2021-05-27 11:57:26 +02:00
Stefan Agner
22aa316483 Update Barebox to 2021.05.0 (#1380)
* Remove CONFIG_CLOCKSOURCE_EFI configuration

It seems to cause messages like this on some machines:
EFI Event timer too slow freq = 100 Hz

The Barebox efi_defconfig configurationd doesn't enable it either.
Disable it by default as well.

* Enable CONFIG_CMD_ECHO_E to fix menutree

It seems that menutree needs CONFIG_CMD_ECHO_E to properly display the
boot menu.

Also enable other useful commands such as edit or reset.

* Bump Barebox to 2021.05.0
2021-05-27 00:33:34 +02:00
Stefan Agner
d60272b79a Revert ODROID-N2(+) back to use Linux 5.9 (#1379)
Since the move to 5.10 multiple users experience stability issues
leading to random crashes. All reboots follow a SError Interrupt:
[48112.247242] SError Interrupt on CPU5, code 0xbf000000 -- SError
...

Revert back to Linux 5.9.16 for now.
2021-05-27 00:29:20 +02:00
Stefan Agner
068a57763c Enable serial console as well (#1339) (#1378)
Using console focused virtualization environments such as virsh having
a serial console is the easiest way to interact with a virtual machine.
It also saves resources since no video memory needs to be allocated.
Enable serial console besides tty1 by default.

Note: The bootloader as well as the kernel shows its boot messages on
all consoles. However, only the last console is mapped to /dev/console,
which systemd is using to show service startup messages. Putting tty1 as
last console makes sure that systemd messages are still shown on the
console screen.
2021-05-27 00:29:06 +02:00
Stefan Agner
6810659f9b Pass ha command with quotes to CLI container (#1377)
When using quotes currently, they are not passed to HA due to $*. This
doesn't allow to use some commands properly, e.g. snapshot restore with
a passwort with spaces:

```
ha snapshot restore c31f3c93 --password "test test"
...
time="2021-05-26T11:24:19+02:00" level=fatal msg="Error while executing rootCmd: accepts 1 arg(s), received 2"
```

Properly pass all arguments using $@ in quotes.
2021-05-26 14:16:43 +02:00
Stefan Agner
8020671ca6 Drop directories when creating zip file (#1372)
We zip a single file nested in a rather deep directory tree which stems
from the build system. This doesn't need to be exposed to users.
2021-05-25 19:32:42 +02:00
Stefan Agner
0f57b55b4c Add minimal message of the day (#1373)
Add a minimal motd so users know what kind of system they just logged
in. Also add the hint that the Home Assistant CLI is still available
using the command ha.
2021-05-25 14:40:54 +02:00
Stefan Agner
c7909de767 Recreate Supervisor container on OS upgrade/downgrade (#1368)
* Recreate Supervisor container on OS upgrade/downgrade

When the operating system gets upgraded or downgraded the Supervisor
start script might start the Supervisor slightly differently (e.g. with
RT scheduling support). If the container has already been created, a OS
upgrade or downgrade won't recreate the Supervisor container.

* Move startup script version file to /mnt/data
6.0.rc2
2021-05-19 22:27:16 +02:00
Stefan Agner
c1c6a6ce21 Update buildroot to 2021.02.2 (#1370) 2021-05-19 22:20:50 +02:00
Stefan Agner
111018b911 Remove obsolete Busybox ACPI config (#1369) 2021-05-19 14:41:30 +02:00
Stefan Agner
40b4d5ca2e Start Home Assistant CLI on tty1 without login (#1366)
* Start ha-cli on tty1 instead of a getty

Instead of starting a getty start the ha-cli directly. This will show
the banner right on startup with the important information such as IP
address of the instance or the URL to reach it.

* Use default shell as root shell instead of HA CLI

Instead of using the ha-cli.sh script as login shell use the regular
shell. Amongst other things, this allows to run VS Code devcontainers
remotely via SSH or using scp. The HA CLI is still available using the
`ha` command.
2021-05-19 13:18:02 +02:00
Stefan Agner
25d1f5d7d1 RaspberryPi: Update kernel 5.10.17 - 3a33f11c48572b9dd0fecac164b3990fc9234da8 (#1365) 2021-05-19 09:59:54 +02:00
Stefan Agner
d6a86c29f9 Linux: Update kernel 5.10.37 (#1364) 2021-05-19 09:50:45 +02:00
Stefan Agner
2d3119ef22 Delay Supervisor start until time has been sychronized (#1360)
* Enable systemd-time-wait-sync.service by default

Enable the systemd-time-wait-sync.service by default. This allows to use
the time-sync.target which allows to make sure services only get started
once the time is synchronized.

* Make sure time is synchronized when starting  hassos-supervisor.service

Use the time-sync.target to make sure that the Supervisor gets stsarted
after the time has been synchronized.

* Set timeout for systemd-time-wait-sync.service

Don't delay startup forever in case time synchronization doesn't work.
This allows to boot the system even without Internet connection.
2021-05-12 17:47:42 +02:00
Pascal Vizeli
9dd269d766 Fix NM connectivity URL (#1359) 2021-05-12 14:37:37 +02:00
Ajinkya Bawaskar
3c6897e2cd Update getting_started_development.md (#1355)
Changed name of the repository cloned from `hassos` to `operating-system`
2021-05-09 11:19:51 +02:00
Krzysztof Karol
7afe867fd5 Fix typos in issue template (#1356) 2021-05-09 11:08:47 +02:00
Stefan Agner
779dc0bcb8 Make sure to upload correct image files in release pipeline (#1353)
The images have been renamed from hassos to haos. Make sure to upload
the correct files.
6.0.rc1
2021-05-07 00:24:21 +02:00
Stefan Agner
70d6252eae Support OS releases with custom dev part (#1352)
Support OS releases (tags) with custom dev part (3rd group of the
release number). This allows to create tagged release candidates with
the form 6.0.rc1.
2021-05-07 00:14:33 +02:00
Jens Maus
9ed200a70e add ODROID-C2/C4/N2/N2+ support for RPI-RF-MOD/HM-MOD-RPI-PCB integration (#1323)
* add ODROID-C2/C4/N2/N2+ support for RPI-RF-MOD/HM-MOD-RPI-PCB integration

* updated rpi-rf-mod package to latest version with dtbo fixes
2021-05-04 20:42:57 +02:00
Stefan Agner
be2cfd7622 Enable UART and I2C on J2 header (#1349)
Enable UART as well as I2C on the J2 header. Also backport the upstream
version of the I2C3/RTC patch.
2021-04-29 23:04:34 +02:00
Stefan Agner
367fc1561b Use upstream SoC version detection (#1348)
With U-Boot 2021.04 we can use the upstream SoC revision detection by
enabling runtime variables and using the "soc_rev" variable.
2021-04-29 22:52:46 +02:00
Stefan Agner
5ac85a4c45 Use built-in Meson DRM driver (#1347)
It seems that the crash of the Meson DRM driver on shutdown can also be
fixed by compiling it in. The driver is also built-in in LibreELEC,
hence this is better tested by the upstream community.

Note the underlying issue seems to be a disabled clock: Since the
introduction of meson_drv_shutdown some registers are touched at a very
late stage. Those clock get disabled in meson_ee_pwrc_shutdown. It seems
that when the driver is built-in, meson_drv_shutdown gets called before
meson_ee_pwrc_shutdown and hence sidesteps the problem.

Note: This increases the kernel by a bit since DRM needs to be built-in
as well. Configure some less common used file systems as modules
(ext3/NFS).
2021-04-29 22:52:27 +02:00
Stefan Agner
3d793dc7ef Drop global patch from Raspberry Pi patchset (#1346)
Since 0001-CMD-read-string-from-fileinto-env.patch is in the global
directory to be applied for U-Boot, drop it from the Raspberry Pi
specific patch directory.
2021-04-29 11:26:55 +02:00
Stefan Agner
b76d55283d Fix reboot issue on ODROID-N2+ on Linux 5.10 (#1345)
In Linux 5.10.24 a regression has been introduced which broke reboot on
ODROID-N2(+). Interestingly the patch should improve reboot stability
for VIM3, which uses the same SoC. However, it seems that in the
ODROID-N2 case, this causes more problems then it fixes. Revert the
offending patch.
2021-04-29 01:31:13 +02:00
Stefan Agner
422bf2d1e1 Add fileenv patch for U-Boot 2021.04 (#1344)
Update of this patch has been missed. Also drop the versions for U-Boot
2020.01 and 2020.10 since they are no longer required.
2021-04-29 01:30:55 +02:00
Stefan Agner
33e0ccb9ce Linux: Update kernel 5.10.33 (#1343) 2021-04-29 01:17:02 +02:00
Stefan Agner
f86fcbd609 Fix shellcheck issues (#1341)
* Fix issue with latest shellcheck version

The latest shellcheck versions use a new error number for non-POSIX
string replacement. Change to ignore this new error number.

* Ignore shellcheck issue about not following sourced files

Newer shellcheck versions also warn when shellcheck does not follow
sourcing of files with known path:
  Not following: ./meta was not specified as input (see shellcheck -x).

We check those files separately so ignore this error for the two scripts
affected.
2021-04-29 01:15:47 +02:00
Stefan Agner
99a4d4ea75 Bump Raspberry Pi firmware to 1.20210303 (#1334) 2021-04-19 23:56:54 +02:00
Stefan Agner
0b1c349a8f Bump Raspberry Pi kernel to 1.20210303-1 (#1333)
* Update docs, the default kernel version is now 5.10

* RaspberryPi: Update kernel v5.10.17 - 623ca2ba45d86eb1b0323637330295c3f8d93c76
2021-04-19 23:56:33 +02:00
Stefan Agner
2a910b0e45 Use zip file format for virtual disk images (#1327)
Virtual Disk images are often used on Windows and/or Mac platforms where
xz is not a widely known file ending and also not supported by dafault.
Use zip which is much better known.

Keep using xz for boards since those are not meant to be extracted by
users but directly used in Etcher. Also keep using xz for qcow2, since
qcow2 is mostly used on Linux platforms where xz is available by default
and zip usually needs an extra package.
2021-04-19 10:53:22 +02:00
Stefan Agner
05ba57e006 Bump Docker to 20.10.6 (#1328)
Bump Docker to latest release 20.10.6. Also make sure to upgrade
docker-proxy with various IPv6 releated features and fixes.
2021-04-15 18:10:56 +02:00
Stefan Agner
56e0d941d0 Use sparse files when generating image (#1326)
Use sparse files instead of files written full of zeros. This speeds up
the image generation process significantly. It also makes sure that
virtual disk image formats are minimal in size.

Note: qemu-img automatically generates sparse files when detecting a
block full of zeros. But this is applied on the write side, after image
convertion: The disk image format itself still thinks the whole image
is allocated, leading to larger image than necessary. Also some output
format seem to regonize chunks of zero and create sparse files themself.

With this change, the raw source image file is a sparse file. This is
regocnized by qemu-img at read time (see block/file-posix.c), and leads
to "native" sparse files in the output format.

Some numbers
- qcow2 1.8G -> 862M (same on-disk size)
- vdi 15G -> 888M (same on-disk size)
- vhdx 30G -> 1.1G (918M -> 861M on-disk size)
- vmdk 1.8G -> 866M (about the same on-disk size)

Obviously this also affects the compressed size. But because there are
still lots of zeros, the difference in compressed size is not that big.
2021-04-15 16:27:02 +02:00
Stefan Agner
2d9540117f script/enter.sh: Exit if there is an error (#1325) 2021-04-15 13:06:43 +02:00