Compare commits
19 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0002d570d7 | ||
|
|
0a018c6c45 | ||
|
|
173596eec5 | ||
|
|
bf69f2e974 | ||
|
|
6ddf29045e | ||
|
|
2d8aba9b37 | ||
|
|
aa7858ae44 | ||
|
|
0b05afb194 | ||
|
|
ab60a8bc55 | ||
|
|
450826b6bd | ||
|
|
14f406ad6a | ||
|
|
1d74fcb91d | ||
|
|
13d0aaac0e | ||
|
|
1e1f36f275 | ||
|
|
36251114d8 | ||
|
|
5e10559144 | ||
|
|
0e7f516730 | ||
|
|
b75fc91f8b | ||
|
|
1b4d33d37d |
12
Documentation/bluetooth.md
Normal file
12
Documentation/bluetooth.md
Normal file
@@ -0,0 +1,12 @@
|
||||
# Bluetooth
|
||||
|
||||
We support `bluetoothctl` on host. Later we want also support bluetooth trought UI.
|
||||
All pairs and settings are persistent over reboots and updates.
|
||||
|
||||
If you want setup bluetooth on host, use the *bluetoothctl* utility.
|
||||
|
||||
## Scan devices
|
||||
|
||||
```
|
||||
[bluetooth]# scan on
|
||||
```
|
||||
@@ -2,7 +2,9 @@
|
||||
|
||||
## Automatic
|
||||
|
||||
You can format a USB stick with FAT32/EXT4 and name it with `CONFIG`. The layout could be look like:
|
||||
You can use a USB drive with HassOS to configure network options, ssh access to the host, and to install updates.
|
||||
Format a USB stick with FAT32/EXT4/NTFS and name it `CONFIG`. Use the following directory structure within the USB drive:
|
||||
|
||||
```
|
||||
network/
|
||||
modules/
|
||||
@@ -10,13 +12,13 @@ authorized_keys
|
||||
hassos-xy.raucb
|
||||
```
|
||||
|
||||
- On `network` folder can hold any kind of NetworkManager connections files.
|
||||
- The folder `modules` is for modules-load configuration files.
|
||||
- `authorized_keys` file activate debug SSH access of port `22222`.
|
||||
- For firmware updates you can but the `hassos-*.raucb` OTA update they should be install.
|
||||
- The `network` folder can contain any kind of NetworkManager connection files. For more information see [Network][network.md].
|
||||
- The `modules` folder is for modules-load configuration files.
|
||||
- The `authorized_keys` file activates debug SSH access on port `22222`. See [Debugging Hassio][debug-hassio].
|
||||
- The `hassos-*.raucb` file is a firmware OTA update which will be installed. These can be found on on the [release][hassos-release] page.
|
||||
|
||||
You can put this USB stick into device and they will be read on startup. You can also trigger this process later over the
|
||||
API/UI or call `systemctl restart hassos-config` on host.
|
||||
You can put this USB stick into the device and it will be read on startup. You can also trigger this process later over the
|
||||
API/UI or by calling `systemctl restart hassos-config` on the host.
|
||||
|
||||
## Local
|
||||
|
||||
@@ -33,3 +35,6 @@ The kernel module folder `/etc/modules-load.d` is persistent and you can add you
|
||||
You can manual add, edit or remove connections configs from `/etc/NetworkManager/system-connections`.
|
||||
|
||||
[systemd-modules]: https://www.freedesktop.org/software/systemd/man/modules-load.d.html
|
||||
[network.md]: network.md
|
||||
[hassos-release]: https://github.com/home-assistant/hassos/releases/
|
||||
[debug-hassio]: https://developers.home-assistant.io/docs/en/hassio_debugging.html
|
||||
|
||||
@@ -1,18 +1,35 @@
|
||||
# Network
|
||||
|
||||
HassOS use NetworkManager to control the host network. You can setup the network configuartion in future over the API/UI.
|
||||
Actual we support only manual configuration with NetworkManager connection files. Without a configuration, we run default as
|
||||
DHCP device.
|
||||
HassOS uses NetworkManager to control the host network. In future releases, you can set up the configuration using the API/UI.
|
||||
Currently only manual configuration using NetworkManager connection files is supported. Without a configuration file, the device will use DHCP by default. These network connection files can be placed on a USB drive as described in [Configuration][configuration-usb].
|
||||
|
||||
## Configuration Examples
|
||||
|
||||
You can look also into [Official Manual][keyfile] or there are a lot of examples accross internet.
|
||||
You can look also into [Official Manual][keyfile] or there are a lot of examples accross internet. The system is read only, if you not want change the IP address every boot, you should set the uuid property with a generic [UUID4][uuid].
|
||||
|
||||
### Default
|
||||
|
||||
We have a preinstalled connection profile:
|
||||
```
|
||||
[connection]
|
||||
id=HassOS default
|
||||
uuid=f62bf7c2-e565-49ff-bbfc-a4cf791e6add
|
||||
type=802-3-ethernet
|
||||
|
||||
[ipv4]
|
||||
method=auto
|
||||
|
||||
[ipv6]
|
||||
addr-gen-mode=stable-privacy
|
||||
method=auto
|
||||
```
|
||||
|
||||
### LAN
|
||||
```ini
|
||||
[connection]
|
||||
id=hassos-network
|
||||
type=ethernet
|
||||
uuid=d55162b4-6152-4310-9312-8f4c54d86afa
|
||||
type=802-3-ethernet
|
||||
|
||||
[ipv4]
|
||||
method=auto
|
||||
@@ -26,7 +43,8 @@ method=auto
|
||||
```ini
|
||||
[connection]
|
||||
id=hassos-network
|
||||
type=wifi
|
||||
uuid=72111c67-4a5d-4d5c-925e-f8ee26efb3c3
|
||||
type=802-11-wireless
|
||||
|
||||
[wifi]
|
||||
mode=infrastructure
|
||||
@@ -55,4 +73,26 @@ address1=192.168.1.111/24,192.168.1.1
|
||||
dns=8.8.8.8;8.8.4.4;
|
||||
```
|
||||
|
||||
## Tips
|
||||
|
||||
### Reset network
|
||||
|
||||
If you want reset the network configuration to default, use follow commands on host:
|
||||
```bash
|
||||
$ rm /etc/NetworkManager/system-connections/*
|
||||
$ cp /usr/share/system-connections/* /etc/NetworkManager/system-connections/
|
||||
$ nmcli con reload
|
||||
```
|
||||
|
||||
### Powersave
|
||||
|
||||
If you have trouble with powersave you can do following:
|
||||
```ini
|
||||
[wifi]
|
||||
# Values are 0 (use default), 1 (ignore/don't touch), 2 (disable) or 3 (enable).
|
||||
powersave=0
|
||||
```
|
||||
|
||||
[keyfile]: https://developer.gnome.org/NetworkManager/stable/nm-settings.html
|
||||
[configuration-usb]: configuration.md
|
||||
[uuid]: https://www.uuidgenerator.net/
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/hassos/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/libapparmor/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/apparmor/Config.in"
|
||||
source "$BR2_EXTERNAL_HASSOS_PATH/package/bluetooth-bcm43xx/Config.in"
|
||||
|
||||
@@ -49,3 +49,6 @@ echo "Loading kernel"
|
||||
run load_kernel
|
||||
echo " Starting kernel"
|
||||
booti ${kernel_addr_r} - ${fdt_addr}
|
||||
|
||||
echo "Fails on boot"
|
||||
reset
|
||||
|
||||
@@ -49,3 +49,6 @@ echo "Loading kernel"
|
||||
run load_kernel
|
||||
echo " Starting kernel"
|
||||
bootz ${kernel_addr_r} - ${fdt_addr}
|
||||
|
||||
echo "Fails on boot"
|
||||
reset
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
global linux.bootargs.bootchooser="bootchooser.active=A"
|
||||
|
||||
boot system0
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
#!/bin/sh
|
||||
|
||||
global linux.bootargs.bootchooser="bootchooser.active=B"
|
||||
|
||||
boot system1
|
||||
|
||||
@@ -398,7 +398,7 @@ CONFIG_SHOWKEY=y
|
||||
CONFIG_AWK=y
|
||||
CONFIG_FEATURE_AWK_LIBM=y
|
||||
CONFIG_FEATURE_AWK_GNU_EXTENSIONS=y
|
||||
# CONFIG_CMP is not set
|
||||
CONFIG_CMP=y
|
||||
# CONFIG_DIFF is not set
|
||||
# CONFIG_FEATURE_DIFF_LONG_OPTIONS is not set
|
||||
# CONFIG_FEATURE_DIFF_DIR is not set
|
||||
|
||||
@@ -40,6 +40,10 @@ BR2_PACKAGE_AVAHI=y
|
||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
|
||||
BR2_PACKAGE_DHCP=y
|
||||
BR2_PACKAGE_DHCP_CLIENT=y
|
||||
BR2_PACKAGE_DROPBEAR=y
|
||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||
@@ -73,12 +77,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
||||
BR2_PACKAGE_HOST_RAUC=y
|
||||
BR2_PACKAGE_HASSOS=y
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/amd64-hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="115"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassistant"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
||||
BR2_PACKAGE_HASSOS_CLI="homeassistant/amd64-hassio-cli"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="5"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="6"
|
||||
BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2"
|
||||
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
|
||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||
|
||||
@@ -48,6 +48,10 @@ BR2_PACKAGE_AVAHI=y
|
||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
|
||||
BR2_PACKAGE_DHCP=y
|
||||
BR2_PACKAGE_DHCP_CLIENT=y
|
||||
BR2_PACKAGE_DROPBEAR=y
|
||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||
@@ -82,13 +86,14 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
||||
BR2_PACKAGE_HOST_RAUC=y
|
||||
BR2_PACKAGE_HASSOS=y
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="115"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
||||
BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="5"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="6"
|
||||
BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2"
|
||||
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
|
||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||
BR2_PACKAGE_APPARMOR=y
|
||||
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
||||
|
||||
@@ -47,6 +47,10 @@ BR2_PACKAGE_AVAHI=y
|
||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
|
||||
BR2_PACKAGE_DHCP=y
|
||||
BR2_PACKAGE_DHCP_CLIENT=y
|
||||
BR2_PACKAGE_DROPBEAR=y
|
||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||
@@ -81,12 +85,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
||||
BR2_PACKAGE_HOST_RAUC=y
|
||||
BR2_PACKAGE_HASSOS=y
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="115"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi2-homeassistant"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
||||
BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="5"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="6"
|
||||
BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2"
|
||||
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
|
||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||
|
||||
@@ -35,8 +35,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_RPI_WIFI_FIRMWARE=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||
BR2_PACKAGE_RPI_WIFI_FIRMWARE=y
|
||||
BR2_PACKAGE_GPTFDISK=y
|
||||
BR2_PACKAGE_GPTFDISK_SGDISK=y
|
||||
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||
@@ -48,6 +48,10 @@ BR2_PACKAGE_AVAHI=y
|
||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
|
||||
BR2_PACKAGE_DHCP=y
|
||||
BR2_PACKAGE_DHCP_CLIENT=y
|
||||
BR2_PACKAGE_DROPBEAR=y
|
||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||
@@ -82,13 +86,14 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
||||
BR2_PACKAGE_HOST_RAUC=y
|
||||
BR2_PACKAGE_HASSOS=y
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="115"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-64-homeassistant"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
||||
BR2_PACKAGE_HASSOS_CLI="homeassistant/aarch64-hassio-cli"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="5"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="6"
|
||||
BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2"
|
||||
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
|
||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||
BR2_PACKAGE_APPARMOR=y
|
||||
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
||||
|
||||
@@ -35,8 +35,8 @@ BR2_PACKAGE_JQ=y
|
||||
BR2_PACKAGE_E2FSPROGS=y
|
||||
BR2_PACKAGE_E2FSPROGS_RESIZE2FS=y
|
||||
BR2_PACKAGE_SQUASHFS=y
|
||||
BR2_PACKAGE_RPI_WIFI_FIRMWARE=y
|
||||
BR2_PACKAGE_RPI_FIRMWARE=y
|
||||
BR2_PACKAGE_RPI_WIFI_FIRMWARE=y
|
||||
BR2_PACKAGE_GPTFDISK=y
|
||||
BR2_PACKAGE_GPTFDISK_SGDISK=y
|
||||
BR2_PACKAGE_UBOOT_TOOLS=y
|
||||
@@ -48,6 +48,10 @@ BR2_PACKAGE_AVAHI=y
|
||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
|
||||
BR2_PACKAGE_DHCP=y
|
||||
BR2_PACKAGE_DHCP_CLIENT=y
|
||||
BR2_PACKAGE_DROPBEAR=y
|
||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||
@@ -82,13 +86,14 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
||||
BR2_PACKAGE_HOST_RAUC=y
|
||||
BR2_PACKAGE_HASSOS=y
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="115"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-homeassistant"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
||||
BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="5"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="6"
|
||||
BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2"
|
||||
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
|
||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||
BR2_PACKAGE_APPARMOR=y
|
||||
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
||||
|
||||
@@ -47,6 +47,10 @@ BR2_PACKAGE_AVAHI=y
|
||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS=y
|
||||
BR2_PACKAGE_BLUEZ5_UTILS_CLIENT=y
|
||||
BR2_PACKAGE_DHCP=y
|
||||
BR2_PACKAGE_DHCP_CLIENT=y
|
||||
BR2_PACKAGE_DROPBEAR=y
|
||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||
@@ -81,12 +85,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
|
||||
BR2_PACKAGE_HOST_RAUC=y
|
||||
BR2_PACKAGE_HASSOS=y
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="115"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
|
||||
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt"
|
||||
BR2_PACKAGE_HASSOS_CLI="homeassistant/armhf-hassio-cli"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="5"
|
||||
BR2_PACKAGE_HASSOS_CLI_VERSION="6"
|
||||
BR2_PACKAGE_HASSOS_CLI_ARGS="--network=hassio --add-host hassio:172.30.32.2"
|
||||
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
|
||||
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
VERSION_MAJOR=1
|
||||
VERSION_BUILD=2
|
||||
VERSION_BUILD=5
|
||||
|
||||
HASSOS_NAME="HassOS"
|
||||
HASSOS_ID="hassos"
|
||||
|
||||
DEPLOYMENT="staging"
|
||||
DEPLOYMENT="production"
|
||||
|
||||
@@ -1,5 +1,8 @@
|
||||
#!/bin/sh
|
||||
|
||||
##
|
||||
# Hooks
|
||||
|
||||
# Handle boot hocks
|
||||
if [ "${RAUC_SLOT_CLASS}" = "boot" ]; then
|
||||
if [ "${1}" = "slot-post-install" ]; then
|
||||
@@ -9,4 +12,12 @@ if [ "${RAUC_SLOT_CLASS}" = "boot" ]; then
|
||||
fi
|
||||
fi
|
||||
|
||||
##
|
||||
# Fixups
|
||||
|
||||
# timesyncd
|
||||
if [ -L /var/lib/systemd/timesync ]; then
|
||||
rm -f /var/lib/systemd/timesync
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
6
buildroot-external/package/bluetooth-bcm43xx/Config.in
Normal file
6
buildroot-external/package/bluetooth-bcm43xx/Config.in
Normal file
@@ -0,0 +1,6 @@
|
||||
config BR2_PACKAGE_BLUETOOTH_BCM43XX
|
||||
bool "bluetooth bcm43xx"
|
||||
depends on BR2_PACKAGE_BLUEZ5_UTILS_CLIENT
|
||||
select BR2_PACKAGE_BLUEZ5_UTILS_DEPRECATED
|
||||
help
|
||||
Install bluetooth for bcm43xx.
|
||||
18
buildroot-external/package/bluetooth-bcm43xx/bluetooth-bcm43xx
Executable file
18
buildroot-external/package/bluetooth-bcm43xx/bluetooth-bcm43xx
Executable file
@@ -0,0 +1,18 @@
|
||||
#!/bin/sh
|
||||
|
||||
HCIATTACH=/usr/bin/hciattach
|
||||
SERIAL=`cat /proc/device-tree/serial-number | cut -c9-`
|
||||
B1=`echo $SERIAL | cut -c3-4`
|
||||
B2=`echo $SERIAL | cut -c5-6`
|
||||
B3=`echo $SERIAL | cut -c7-8`
|
||||
BDADDR=`printf b8:27:eb:%02x:%02x:%02x $((0x$B1 ^ 0xaa)) $((0x$B2 ^ 0xaa)) $((0x$B3 ^ 0xaa))`
|
||||
|
||||
if [ "$(cat /proc/device-tree/aliases/uart0)" = "$(cat /proc/device-tree/aliases/serial1)" ] ; then
|
||||
if [ "$(wc -c /proc/device-tree/soc/gpio@7e200000/uart0_pins/brcm\,pins | cut -f 1 -d ' ')" = "16" ] ; then
|
||||
$HCIATTACH /dev/serial1 bcm43xx 3000000 flow - $BDADDR
|
||||
else
|
||||
$HCIATTACH /dev/serial1 bcm43xx 921600 noflow - $BDADDR
|
||||
fi
|
||||
else
|
||||
$HCIATTACH /dev/serial1 bcm43xx 460800 noflow - $BDADDR
|
||||
fi
|
||||
@@ -0,0 +1,32 @@
|
||||
################################################################################
|
||||
#
|
||||
# Bluetooth BCM43xx
|
||||
#
|
||||
################################################################################
|
||||
|
||||
BLUETOOTH_BCM43XX_VERSION = 1.0.0
|
||||
BLUETOOTH_BCM43XX_LICENSE = Apache License 2.0
|
||||
BLUETOOTH_BCM43XX_LICENSE_FILES = $(BR2_EXTERNAL_HASSOS_PATH)/../LICENSE
|
||||
BLUETOOTH_BCM43XX_SITE = $(BR2_EXTERNAL_HASSOS_PATH)/package/bluetooth-bcm43xx
|
||||
BLUETOOTH_BCM43XX_SITE_METHOD = local
|
||||
|
||||
define BLUETOOTH_BCM43XX_BUILD_CMDS
|
||||
curl -o $(@D)/BCM43430A1.hcd https://raw.githubusercontent.com/RPi-Distro/bluez-firmware/master/broadcom/BCM43430A1.hcd
|
||||
curl -o $(@D)/BCM4345C0.hcd https://raw.githubusercontent.com/RPi-Distro/bluez-firmware/master/broadcom/BCM4345C0.hcd
|
||||
endef
|
||||
|
||||
define BLUETOOTH_BCM43XX_INSTALL_TARGET_CMDS
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/hassos-hardware.target.wants
|
||||
cp -f $(@D)/bluetooth-bcm43xx $(TARGET_DIR)/usr/sbin/
|
||||
cp -f $(@D)/bluetooth-bcm43xx.service $(TARGET_DIR)/usr/lib/systemd/system/
|
||||
ln -fs /usr/lib/systemd/system/bluetooth-bcm43xx.service $(TARGET_DIR)/etc/systemd/system/hassos-hardware.target.wants/
|
||||
|
||||
mkdir -p $(TARGET_DIR)/lib/firmware/brcm
|
||||
cp -f $(@D)/BCM43430A1.hcd $(TARGET_DIR)/lib/firmware/brcm/
|
||||
cp -f $(@D)/BCM4345C0.hcd $(TARGET_DIR)/lib/firmware/brcm/
|
||||
|
||||
mkdir -p $(TARGET_DIR)/etc/udev/rules.d
|
||||
cp -f $(@D)/bluetooth-bcm43xx.rules $(TARGET_DIR)/etc/udev/rules.d/
|
||||
endef
|
||||
|
||||
$(eval $(generic-package))
|
||||
@@ -0,0 +1,22 @@
|
||||
KERNEL=="ttyAMA[01]", PROGRAM="/bin/sh -c '\
|
||||
ALIASES=/proc/device-tree/aliases; \
|
||||
if cmp -s $ALIASES/uart0 $ALIASES/serial0; then \
|
||||
echo 0;\
|
||||
elif cmp -s $ALIASES/uart0 $ALIASES/serial1; then \
|
||||
echo 1; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi\
|
||||
'", SYMLINK+="serial%c"
|
||||
|
||||
KERNEL=="ttyS0", PROGRAM="/bin/sh -c '\
|
||||
ALIASES=/proc/device-tree/aliases; \
|
||||
if cmp -s $ALIASES/uart1 $ALIASES/serial0; then \
|
||||
echo 0; \
|
||||
elif cmp -s $ALIASES/uart1 $ALIASES/serial1; then \
|
||||
echo 1; \
|
||||
else \
|
||||
exit 1; \
|
||||
fi \
|
||||
'", SYMLINK+="serial%c"
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
[Unit]
|
||||
Description=Bluetooth for BCM43xx
|
||||
Before=bluetooth.service
|
||||
After=dev-ttyAMA0.device
|
||||
ConditionPathIsDirectory=/proc/device-tree/soc/gpio@7e200000/bt_pins
|
||||
|
||||
[Service]
|
||||
Type=forking
|
||||
ExecStart=/usr/sbin/bluetooth-bcm43xx
|
||||
|
||||
[Install]
|
||||
WantedBy=hassos-hardware.target
|
||||
@@ -6,3 +6,6 @@ rc-manager=file
|
||||
|
||||
[keyfile]
|
||||
unmanaged-devices=type:bridge;type:tun;type:veth
|
||||
|
||||
[logging]
|
||||
backend=journal
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Policy]
|
||||
AutoEnable=true
|
||||
@@ -0,0 +1,2 @@
|
||||
[Unit]
|
||||
RequiresMountsFor=/etc/hostname /etc/hosts /etc/NetworkManager/system-connections
|
||||
@@ -0,0 +1,2 @@
|
||||
[Unit]
|
||||
RequiresMountsFor=/etc/hostname
|
||||
@@ -0,0 +1,3 @@
|
||||
[Unit]
|
||||
Wants=network-online.target
|
||||
After=network-online.target
|
||||
@@ -0,0 +1,3 @@
|
||||
[Unit]
|
||||
Wants=hassos-supervisor.service
|
||||
After=hassos-supervisor.service
|
||||
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/system/var-lib-NetworkManager.mount
|
||||
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/system/var-lib-bluetooth.mount
|
||||
@@ -1 +1 @@
|
||||
/usr/lib/systemd/system/hassos-apparmor.service
|
||||
/usr/lib/systemd/system/hassos-apparmor.service
|
||||
@@ -1 +1 @@
|
||||
/usr/lib/systemd/system/hassos-bind.target
|
||||
/usr/lib/systemd/system/hassos-bind.target
|
||||
@@ -1 +1 @@
|
||||
/usr/lib/systemd/system/hassos-config.service
|
||||
/usr/lib/systemd/system/hassos-config.service
|
||||
@@ -0,0 +1 @@
|
||||
/usr/lib/systemd/system/hassos-hardware.target
|
||||
@@ -1 +1 @@
|
||||
/usr/lib/systemd/system/hassos-supervisor.service
|
||||
/usr/lib/systemd/system/hassos-supervisor.service
|
||||
@@ -1 +1 @@
|
||||
/usr/lib/systemd/system/hassos-zram.target
|
||||
/usr/lib/systemd/system/hassos-zram.target
|
||||
@@ -0,0 +1,3 @@
|
||||
[Unit]
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
@@ -1,3 +1,3 @@
|
||||
[Unit]
|
||||
Requires=docker.service
|
||||
After=docker.service
|
||||
Wants=hassos-supervisor.service
|
||||
After=hassos-supervisor.service
|
||||
|
||||
@@ -0,0 +1,2 @@
|
||||
[Unit]
|
||||
RequiresMountsFor=/var/lib/systemd
|
||||
@@ -0,0 +1,2 @@
|
||||
[Service]
|
||||
DynamicUser=no
|
||||
3
buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf
Normal file
3
buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf
Normal file
@@ -0,0 +1,3 @@
|
||||
# Cleanup lease files
|
||||
e /var/lib/NetworkManager/*.lease - - - 14d
|
||||
C /mnt/overlay/etc/NetworkManager/system-connections - - - - /usr/share/system-connections
|
||||
@@ -1,7 +1,7 @@
|
||||
[Unit]
|
||||
Description=NetworkManager persistent system connections
|
||||
Requires=mnt-overlay.mount
|
||||
After=mnt-overlay.mount
|
||||
After=mnt-overlay.mount systemd-tmpfiles-setup.service
|
||||
Before=NetworkManager.service hassos-config.service
|
||||
|
||||
[Mount]
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
[Unit]
|
||||
Description=HassOS hardware targets
|
||||
Documentation=man:systemd.target(5)
|
||||
@@ -1,7 +1,8 @@
|
||||
[Unit]
|
||||
Description=HassOS supervisor
|
||||
Requires=docker.service
|
||||
After=docker.service rauc.service dbus.socket
|
||||
Wants=network-online.target
|
||||
After=docker.service rauc.service dbus.socket network-online.target
|
||||
RequiresMountsFor=/mnt/data
|
||||
StartLimitIntervalSec=60
|
||||
StartLimitBurst=5
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=NetworkManager persistent data
|
||||
Requires=mnt-data.mount
|
||||
After=mnt-data.mount
|
||||
Before=NetworkManager.service
|
||||
|
||||
[Mount]
|
||||
What=/mnt/overlay/var/lib/NetworkManager
|
||||
Where=/var/lib/NetworkManager
|
||||
Type=none
|
||||
Options=bind
|
||||
|
||||
[Install]
|
||||
WantedBy=hassos-bind.target
|
||||
@@ -0,0 +1,14 @@
|
||||
[Unit]
|
||||
Description=Bluetooth persistent state
|
||||
Requires=mnt-overlay.mount
|
||||
After=mnt-overlay.mount
|
||||
Before=bluetooth.service
|
||||
|
||||
[Mount]
|
||||
What=/mnt/overlay/var/lib/bluetooth
|
||||
Where=/var/lib/bluetooth
|
||||
Type=None
|
||||
Options=bind
|
||||
|
||||
[Install]
|
||||
WantedBy=hassos-bind.target
|
||||
@@ -1,6 +1,6 @@
|
||||
[Unit]
|
||||
Description=Docker persistent data
|
||||
Requires=mnt-data.mount docker.service
|
||||
Requires=mnt-data.mount
|
||||
After=mnt-data.mount
|
||||
Before=docker.service
|
||||
|
||||
|
||||
@@ -15,12 +15,12 @@ function mark_bad() {
|
||||
#### Check system ####
|
||||
|
||||
# Docker state
|
||||
if ! systemctl -q is-active docker; then
|
||||
if systemctl -q is-failed docker; then
|
||||
mark_bad
|
||||
fi
|
||||
|
||||
# Docker state
|
||||
if ! systemctl -q is-active hassos-supervisor; then
|
||||
if systemctl -q is-failed hassos-supervisor; then
|
||||
mark_bad
|
||||
fi
|
||||
|
||||
|
||||
@@ -0,0 +1,11 @@
|
||||
[connection]
|
||||
id=HassOS default
|
||||
uuid=f62bf7c2-e565-49ff-bbfc-a4cf791e6add
|
||||
type=802-3-ethernet
|
||||
|
||||
[ipv4]
|
||||
method=auto
|
||||
|
||||
[ipv6]
|
||||
addr-gen-mode=stable-privacy
|
||||
method=auto
|
||||
@@ -2,10 +2,6 @@
|
||||
|
||||
function fix_rootfs() {
|
||||
|
||||
# Cleanup DHCP service, we don't need this with NetworkManager
|
||||
rm -rf ${TARGET_DIR}/etc/systemd/system/multi-user.target.wants/dhcpcd.service
|
||||
rm -rf ${TARGET_DIR}/usr/lib/systemd/system/dhcpcd.service
|
||||
|
||||
# Cleanup etc
|
||||
rm -rf ${TARGET_DIR}/etc/init.d
|
||||
rm -rf ${TARGET_DIR}/etc/network
|
||||
@@ -20,6 +16,9 @@ function fix_rootfs() {
|
||||
# Cleanup miscs
|
||||
rm -rf ${TARGET_DIR}/usr/lib/modules-load.d
|
||||
|
||||
# Fix: permission for system connection files
|
||||
chmod 600 ${TARGET_DIR}/usr/share/system-connections/*
|
||||
|
||||
# Fix: tempfs with /srv
|
||||
sed -i "/srv/d" ${TARGET_DIR}/usr/lib/tmpfiles.d/home.conf
|
||||
|
||||
@@ -31,4 +30,8 @@ function fix_rootfs() {
|
||||
function install_hassos_cli() {
|
||||
|
||||
sed -i "s|\(root.*\)/bin/sh|\1/usr/sbin/hassos-cli|" ${TARGET_DIR}/etc/passwd
|
||||
|
||||
if ! grep "hassos-cli" ${TARGET_DIR}/etc/shells; then
|
||||
echo "/usr/sbin/hassos-cli" >> ${TARGET_DIR}/etc/shells
|
||||
fi
|
||||
}
|
||||
|
||||
27
buildroot-patches/0008-Fix-dhcp-client.patch
Normal file
27
buildroot-patches/0008-Fix-dhcp-client.patch
Normal file
@@ -0,0 +1,27 @@
|
||||
From 07169ea27b84230299685f84031f07f8af74dbb4 Mon Sep 17 00:00:00 2001
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Wed, 4 Jul 2018 20:31:14 +0000
|
||||
Subject: [PATCH 1/1] Fix dhcp client
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
package/dhcp/dhcp.mk | 3 +--
|
||||
1 file changed, 1 insertion(+), 2 deletions(-)
|
||||
|
||||
diff --git a/package/dhcp/dhcp.mk b/package/dhcp/dhcp.mk
|
||||
index a1285184d3..7ea7589a28 100644
|
||||
--- a/package/dhcp/dhcp.mk
|
||||
+++ b/package/dhcp/dhcp.mk
|
||||
@@ -75,8 +75,7 @@ endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
|
||||
define DHCP_INSTALL_CLIENT
|
||||
- mkdir -p $(TARGET_DIR)/var/lib
|
||||
- (cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
|
||||
+ mkdir -p $(TARGET_DIR)/var/lib/dhcp
|
||||
$(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \
|
||||
$(TARGET_DIR)/sbin/dhclient
|
||||
$(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
|
||||
--
|
||||
2.17.1
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
From 590565bc07f563f978004727dc817dc89527377a Mon Sep 17 00:00:00 2001
|
||||
From: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
Date: Sat, 31 Mar 2018 16:58:14 +0200
|
||||
Subject: [PATCH 1/1] NetworkManager: allow to wait on boot
|
||||
|
||||
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
|
||||
---
|
||||
package/network-manager/network-manager.mk | 4 ++++
|
||||
1 file changed, 4 insertions(+)
|
||||
|
||||
diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
|
||||
index a520aad..fb2012a 100644
|
||||
--- a/package/network-manager/network-manager.mk
|
||||
+++ b/package/network-manager/network-manager.mk
|
||||
@@ -93,6 +93,7 @@ endef
|
||||
|
||||
define NETWORK_MANAGER_INSTALL_INIT_SYSTEMD
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
||||
+ mkdir -p $(TARGET_DIR)/etc/systemd/system/network-online.target.wants
|
||||
|
||||
ln -sf /usr/lib/systemd/system/NetworkManager.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
|
||||
@@ -100,6 +101,9 @@ define NETWORK_MANAGER_INSTALL_INIT_SYSTEMD
|
||||
ln -sf /usr/lib/systemd/system/NetworkManager.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/NetworkManager.service
|
||||
|
||||
+ ln -sf /usr/lib/systemd/system/NetworkManager-wait-online.service \
|
||||
+ $(TARGET_DIR)/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
|
||||
+
|
||||
ln -sf /usr/lib/systemd/system/NetworkManager-dispatcher.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
|
||||
endef
|
||||
--
|
||||
2.7.4
|
||||
@@ -75,8 +75,7 @@ endif
|
||||
|
||||
ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
|
||||
define DHCP_INSTALL_CLIENT
|
||||
mkdir -p $(TARGET_DIR)/var/lib
|
||||
(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
|
||||
mkdir -p $(TARGET_DIR)/var/lib/dhcp
|
||||
$(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \
|
||||
$(TARGET_DIR)/sbin/dhclient
|
||||
$(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
|
||||
|
||||
@@ -93,6 +93,7 @@ endef
|
||||
|
||||
define NETWORK_MANAGER_INSTALL_INIT_SYSTEMD
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants
|
||||
mkdir -p $(TARGET_DIR)/etc/systemd/system/network-online.target.wants
|
||||
|
||||
ln -sf /usr/lib/systemd/system/NetworkManager.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.NetworkManager.service
|
||||
@@ -100,6 +101,9 @@ define NETWORK_MANAGER_INSTALL_INIT_SYSTEMD
|
||||
ln -sf /usr/lib/systemd/system/NetworkManager.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/NetworkManager.service
|
||||
|
||||
ln -sf /usr/lib/systemd/system/NetworkManager-wait-online.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/network-online.target.wants/NetworkManager-wait-online.service
|
||||
|
||||
ln -sf /usr/lib/systemd/system/NetworkManager-dispatcher.service \
|
||||
$(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
|
||||
endef
|
||||
|
||||
Reference in New Issue
Block a user