Compare commits
6 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d6d3097111 | ||
|
|
915f5464c0 | ||
|
|
0db7013427 | ||
|
|
75b09cc42e | ||
|
|
269e97cd1c | ||
|
|
5c2408c023 |
@@ -5,14 +5,14 @@ Default Kernel tree: 5.4
|
|||||||
|
|
||||||
| Board | Version |
|
| Board | Version |
|
||||||
|-------|---------|
|
|-------|---------|
|
||||||
| Open Virtual Appliance | 5.4.63 |
|
| Open Virtual Appliance | 5.4.69 |
|
||||||
| Raspberry Pi | 4.19.127 |
|
| Raspberry Pi | 4.19.127 |
|
||||||
| Raspberry Pi 0-W | 4.19.127 |
|
| Raspberry Pi 0-W | 4.19.127 |
|
||||||
| Raspberry Pi 2 | 4.19.127 |
|
| Raspberry Pi 2 | 4.19.127 |
|
||||||
| Raspberry Pi 3 | 4.19.127 |
|
| Raspberry Pi 3 | 4.19.127 |
|
||||||
| Raspberry Pi 4 | 4.19.127 |
|
| Raspberry Pi 4 | 4.19.127 |
|
||||||
| Tinker Board | 5.4.63 |
|
| Tinker Board | 5.4.69 |
|
||||||
| Odroid-C2 | 5.7.19 |
|
| Odroid-C2 | 5.7.19 |
|
||||||
| Odroid-N2 | 5.7.19 |
|
| Odroid-N2 | 5.7.19 |
|
||||||
| Odroid-XU4 | 5.7.19 |
|
| Odroid-XU4 | 5.7.19 |
|
||||||
| Intel NUC | 5.4.63 |
|
| Intel NUC | 5.4.69 |
|
||||||
|
|||||||
@@ -1,49 +0,0 @@
|
|||||||
From 5e960cc9b208c53d5385d5a2f6c7f380e9499d4c Mon Sep 17 00:00:00 2001
|
|
||||||
From: Alexandru Costache <alexandru@balena.io>
|
|
||||||
Date: Wed, 18 Mar 2020 16:54:28 +0100
|
|
||||||
Subject: [PATCH] Add a retry limit when writing to uart console
|
|
||||||
|
|
||||||
Seems that if the serial console is incorrectly
|
|
||||||
configured in the dtb, writing to it may block indefinitely,
|
|
||||||
thus preventing the board from booting.
|
|
||||||
|
|
||||||
Let's add a retry count to unblock in such cases.
|
|
||||||
|
|
||||||
Upstream-status: Inappropriate [configuration]
|
|
||||||
Signed-off-by: Alexandru Costache <alexandru@balena.io>
|
|
||||||
---
|
|
||||||
drivers/serial/serial_bcm283x_mu.c | 12 +++++++++---
|
|
||||||
1 file changed, 9 insertions(+), 3 deletions(-)
|
|
||||||
|
|
||||||
diff --git a/drivers/serial/serial_bcm283x_mu.c b/drivers/serial/serial_bcm283x_mu.c
|
|
||||||
index bd1d89ec83..bd033d14c4 100644
|
|
||||||
--- a/drivers/serial/serial_bcm283x_mu.c
|
|
||||||
+++ b/drivers/serial/serial_bcm283x_mu.c
|
|
||||||
@@ -49,7 +49,7 @@ struct bcm283x_mu_regs {
|
|
||||||
struct bcm283x_mu_priv {
|
|
||||||
struct bcm283x_mu_regs *regs;
|
|
||||||
};
|
|
||||||
-
|
|
||||||
+static uint16_t putc_retry = 0;
|
|
||||||
static int bcm283x_mu_serial_getc(struct udevice *dev);
|
|
||||||
|
|
||||||
static int bcm283x_mu_serial_setbrg(struct udevice *dev, int baudrate)
|
|
||||||
@@ -105,8 +105,14 @@ static int bcm283x_mu_serial_putc(struct udevice *dev, const char data)
|
|
||||||
struct bcm283x_mu_regs *regs = priv->regs;
|
|
||||||
|
|
||||||
/* Wait until there is space in the FIFO */
|
|
||||||
- if (!(readl(®s->lsr) & BCM283X_MU_LSR_TX_EMPTY))
|
|
||||||
- return -EAGAIN;
|
|
||||||
+ if (!(readl(®s->lsr) & BCM283X_MU_LSR_TX_EMPTY)) {
|
|
||||||
+ if (++putc_retry) {
|
|
||||||
+ return -EAGAIN;
|
|
||||||
+ } else {
|
|
||||||
+ /* Couldn't write for too long, drop char */
|
|
||||||
+ return 0;
|
|
||||||
+ }
|
|
||||||
+ }
|
|
||||||
|
|
||||||
/* Send the character */
|
|
||||||
writel(data, ®s->io);
|
|
||||||
--
|
|
||||||
2.17.1
|
|
||||||
@@ -1,4 +1,4 @@
|
|||||||
KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
|
KERNEL=="ttyAMA[01]", ATTR{iomem_base}=="0xFE201000", PROGRAM="/bin/sh -c '\
|
||||||
ALIASES=/proc/device-tree/aliases; \
|
ALIASES=/proc/device-tree/aliases; \
|
||||||
if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
|
if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
|
||||||
echo 0;\
|
echo 0;\
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
|||||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/intel/nuc $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/nuc/hassos-hook.sh"
|
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/intel/nuc $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/nuc/hassos-hook.sh"
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.63"
|
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.69"
|
||||||
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
|
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
|
||||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/nuc/kernel.config"
|
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/nuc/kernel.config"
|
||||||
BR2_LINUX_KERNEL_LZ4=y
|
BR2_LINUX_KERNEL_LZ4=y
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
|||||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/intel/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/ova/hassos-hook.sh"
|
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/intel/ova $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/ova/hassos-hook.sh"
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.63"
|
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.69"
|
||||||
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
|
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
|
||||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/ova/kernel.config"
|
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config $(BR2_EXTERNAL_HASSOS_PATH)/board/intel/ova/kernel.config"
|
||||||
BR2_LINUX_KERNEL_LZ4=y
|
BR2_LINUX_KERNEL_LZ4=y
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/scripts/post-image.sh"
|
|||||||
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh"
|
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker $(BR2_EXTERNAL_HASSOS_PATH)/board/asus/hassos-hook.sh"
|
||||||
BR2_LINUX_KERNEL=y
|
BR2_LINUX_KERNEL=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.63"
|
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="5.4.69"
|
||||||
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
BR2_LINUX_KERNEL_USE_CUSTOM_CONFIG=y
|
||||||
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config"
|
BR2_LINUX_KERNEL_CUSTOM_CONFIG_FILE="$(BR2_EXTERNAL_HASSOS_PATH)/board/asus/tinker/kernel.config"
|
||||||
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
|
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel/hassos.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/docker.config $(BR2_EXTERNAL_HASSOS_PATH)/kernel/device-support.config"
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
VERSION_MAJOR=4
|
VERSION_MAJOR=4
|
||||||
VERSION_BUILD=13
|
VERSION_BUILD=14
|
||||||
|
|
||||||
HASSOS_NAME="HassOS"
|
HASSOS_NAME="HassOS"
|
||||||
HASSOS_ID="hassos"
|
HASSOS_ID="hassos"
|
||||||
|
|||||||
@@ -26,12 +26,14 @@ DNS="homeassistant/${ARCH}-hassio-dns"
|
|||||||
AUDIO="homeassistant/${ARCH}-hassio-audio"
|
AUDIO="homeassistant/${ARCH}-hassio-audio"
|
||||||
CLI="homeassistant/${ARCH}-hassio-cli"
|
CLI="homeassistant/${ARCH}-hassio-cli"
|
||||||
MULTICAST="homeassistant/${ARCH}-hassio-multicast"
|
MULTICAST="homeassistant/${ARCH}-hassio-multicast"
|
||||||
|
OBSERVER="homeassistant/${ARCH}-hassio-observer"
|
||||||
|
|
||||||
SUPERVISOR_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.supervisor')
|
SUPERVISOR_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.supervisor')
|
||||||
DNS_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.dns')
|
DNS_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.dns')
|
||||||
CLI_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.cli')
|
CLI_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.cli')
|
||||||
AUDIO_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.audio')
|
AUDIO_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.audio')
|
||||||
MULTICAST_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.multicast')
|
MULTICAST_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.multicast')
|
||||||
|
OBSERVER_VERSION=$(curl -s ${VERSION_URL} | jq -e -r '.observer')
|
||||||
|
|
||||||
# Make image
|
# Make image
|
||||||
dd if=/dev/zero of=${DATA_IMG} bs=1G count=1
|
dd if=/dev/zero of=${DATA_IMG} bs=1G count=1
|
||||||
@@ -72,6 +74,7 @@ docker pull "${CLI}:${CLI_VERSION}"
|
|||||||
docker pull "${DNS}:${DNS_VERSION}"
|
docker pull "${DNS}:${DNS_VERSION}"
|
||||||
docker pull "${AUDIO}:${AUDIO_VERSION}"
|
docker pull "${AUDIO}:${AUDIO_VERSION}"
|
||||||
docker pull "${MULTICAST}:${MULTICAST_VERSION}"
|
docker pull "${MULTICAST}:${MULTICAST_VERSION}"
|
||||||
|
docker pull "${OBSERVER}:${OBSERVER_VERSION}"
|
||||||
|
|
||||||
# Setup AppArmor
|
# Setup AppArmor
|
||||||
mkdir -p "/mnt/data/supervisor/apparmor"
|
mkdir -p "/mnt/data/supervisor/apparmor"
|
||||||
|
|||||||
@@ -3,6 +3,12 @@
|
|||||||
# Run logging cli
|
# Run logging cli
|
||||||
# ==============================================================================
|
# ==============================================================================
|
||||||
|
|
||||||
|
# Setup terminal size on serial console
|
||||||
|
if [ "${TERM}" = "vt220" ] || [ "${TERM}" = "vt102" ] || \
|
||||||
|
[ "${TERM}" = "vt100" ]; then
|
||||||
|
resize
|
||||||
|
fi
|
||||||
|
|
||||||
# Run CLI container
|
# Run CLI container
|
||||||
if [ "$(docker ps -q -f name=hassio_cli)" ]; then
|
if [ "$(docker ps -q -f name=hassio_cli)" ]; then
|
||||||
docker container exec \
|
docker container exec \
|
||||||
|
|||||||
Reference in New Issue
Block a user