Compare commits

..

33 Commits
1.2 ... 2.0

Author SHA1 Message Date
Pascal Vizeli
fd56d6544c Merge pull request #85 from home-assistant/dev
Beta 2.0
2018-07-07 13:24:51 +02:00
Pascal Vizeli
d2ba03164b Add powersave config to network manager (#86)
* Add powersave config to network manager

* Update network.md
2018-07-07 10:45:59 +02:00
Pascal Vizeli
c6d0fef0b4 Some cleanup (#84) 2018-07-06 21:04:48 +02:00
Pascal Vizeli
0671e3f71c Reset if we can't boot (#83)
* Update uboot-boot.sh

* Update uboot-boot.sh
2018-07-06 19:08:52 +02:00
Pascal Vizeli
14833a110f Use wait on network to delay the startup (#81)
* Use wait on network to delay the startup

* Update nm.conf

* Create nm.conf

* Update hassos-supervisor.service

* Rename hassos.conf to docker.conf

* Create hassos.conf

* Create hassos.conf

* Update hassos.conf

* aply patch

* Mark only failed

* Fix start order
2018-07-06 18:21:19 +02:00
Pascal Vizeli
988d4ebecf Update supervisor 115 (#82) 2018-07-06 14:35:22 +02:00
Pascal Vizeli
bf59b7744d Use dhcp client / avahi after NM (#75)
* Use dhcp client / avahi after NM

* Store networkmanager

* Add default connection

* cleanup

* cleanup lease

* faster boot

* Cleanup

* Fix permission
2018-07-05 20:00:56 +02:00
Gabriel Oliveira
4a80c7fcd0 Fix config documentation closing tags (#80) 2018-07-05 16:40:41 +02:00
Pascal Vizeli
6c58eb1615 Fix /usr/sbin/hassos-cli is not in /etc/shells (#78)
* Update rootfs-layer.sh

* Update rootfs-layer.sh

* Update rootfs-layer.sh
2018-07-05 13:44:52 +02:00
cogneato
46d6dba859 Update configuration.md (#50)
* Update configuration.md

Clearing up documentation, grammar fixes.

* changed known_hosts to authorized_keys

* Update configuration.md
2018-07-03 07:32:44 +02:00
cogneato
12393e083d Update network.md (#51)
* Update network.md

Clearing up network documentation, grammar

* Update network.md
2018-07-03 07:30:17 +02:00
Pascal Vizeli
3700d744b4 Update CLI / Supervisor (#71) 2018-07-03 00:00:25 +02:00
Pascal Vizeli
7e665a7b42 Fix persistent log (#70) 2018-07-02 23:53:07 +02:00
Pascal Vizeli
c860229130 Change chmod of network connection files from fat32 (#69) 2018-07-02 23:03:13 +02:00
Pascal Vizeli
32ab05bd2e Fix update script with uptime (#68) 2018-07-02 22:51:54 +02:00
Pascal Vizeli
8792d37402 Fix docker warning on rpi (#67) 2018-07-02 21:43:33 +02:00
Pascal Vizeli
414b59ac4a Fix label name in test script (#66)
* Fix label name in test script

* Update hassos-config
2018-07-02 21:24:05 +02:00
Pascal Vizeli
f8fa170e2a Fix spell in journald script (#65) 2018-07-02 19:58:00 +02:00
Pascal Vizeli
11b1946cd7 Make logs persistent over reboot and cleanup (#61)
* Create hassos-persists-journald

* Create hassos-persists-journald.service

* Set ln & permission

* Enable persists journald

* Update hassos-persists-journald
2018-07-02 01:05:21 +02:00
Pascal Vizeli
7d4b424d2f Map /etc/machine-id into supervisor/cli (#60)
* Map /etc/machine-id into supervisor/cli

* Update hassos-cli

* Update hassos-supervisor
2018-07-01 15:15:54 +02:00
Pascal Vizeli
6aa8e61d88 Add lost persistent ssh folder (#58)
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
2018-07-01 00:38:30 +02:00
Pascal Vizeli
d536e3d7a7 Use wpa_supplicant with NetworkManager (#57) 2018-07-01 00:29:10 +02:00
Pascal Vizeli
2614ffce40 Use CONFIG as label for config partition (#56)
* Use CONFIG as label for config partition

* Update configuration.md

* Update hassos-config
2018-07-01 00:28:00 +02:00
Pascal Vizeli
dde6d8f806 Set hassos supervisor to rauc (#55)
* Set hassos supervisor to rauc

* Update post-install

* Update hassos-config
2018-06-29 15:23:49 +02:00
Pascal Vizeli
8dd8816e4e Fix authorized_keys keys (#53)
* Fix authorized_keys keys

* Update hassos.conf

* Update configuration.md

* Update hassos-config

* Update hassos-config
2018-06-28 22:21:50 +02:00
Pascal Vizeli
f739aed8de Fix hassos-conf label (#48)
* Update mnt-config.mount

* Update configuration.md

* Update configuration.md

* Update mnt-config.mount

* Update configuration.md
2018-06-28 22:20:34 +02:00
Pascal Vizeli
f6a916001d Update ova.md (#47) 2018-06-27 13:56:52 +02:00
Pascal Vizeli
23a58b23b5 We publish now the vmdk and not OVA/OVF (#46)
* Update upload-rel.sh

* Create ova.md
2018-06-27 12:05:44 +02:00
Pascal Vizeli
d3e3e36a6e Improve the documentation (#44)
* Create network.md

* Update configuration.md

* Update network.md

* Update network.md
2018-06-26 22:24:15 +02:00
Pascal Vizeli
af23b6199e Add script for github upload (#43)
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
2018-06-26 21:32:41 +02:00
Pascal Vizeli
80079930c5 Include ota script into board image (#42) 2018-06-26 13:28:00 +02:00
Pascal Vizeli
ca50a86768 Bump version to next development release (#41) 2018-06-26 12:27:09 +02:00
Pascal Vizeli
6e9326d11b Fix build script for new layout (#40) 2018-06-26 11:48:16 +02:00
36 changed files with 222 additions and 46 deletions

View File

@@ -2,7 +2,9 @@
## Automatic ## 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/ network/
modules/ modules/
@@ -10,13 +12,13 @@ authorized_keys
hassos-xy.raucb hassos-xy.raucb
``` ```
- On `network` folder can hold any kind of NetworkManager connections files. - The `network` folder can contain any kind of NetworkManager connection files. For more information see [Network][network.md].
- The folder `modules` is for modules-load configuration files. - The `modules` folder is for modules-load configuration files.
- `authorized_keys` file activate debug SSH access of port `22222`. - The `authorized_keys` file activates debug SSH access on port `22222`. See [Debugging Hassio][debug-hassio].
- For firmware updates you can but the `hassos-*.raucb` OTA update they should be install. - 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 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 call `systemctl restart hassos-config` on host. API/UI or by calling `systemctl restart hassos-config` on the host.
## Local ## 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`. 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 [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

View File

@@ -1,18 +1,35 @@
# Network # Network
HassOS use NetworkManager to control the host network. You can setup the network configuartion in future over the API/UI. HassOS uses NetworkManager to control the host network. In future releases, you can set up the configuration using the API/UI.
Actual we support only manual configuration with NetworkManager connection files. Without a configuration, we run default as 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].
DHCP device.
## Configuration Examples ## 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 ### LAN
```ini ```ini
[connection] [connection]
id=hassos-network id=hassos-network
type=ethernet uuid=d55162b4-6152-4310-9312-8f4c54d86afa
type=802-3-ethernet
[ipv4] [ipv4]
method=auto method=auto
@@ -26,7 +43,8 @@ method=auto
```ini ```ini
[connection] [connection]
id=hassos-network id=hassos-network
type=wifi uuid=72111c67-4a5d-4d5c-925e-f8ee26efb3c3
type=802-11-wireless
[wifi] [wifi]
mode=infrastructure 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; 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 [keyfile]: https://developer.gnome.org/NetworkManager/stable/nm-settings.html
[configuration-usb]: configuration.md
[uuid]: https://www.uuidgenerator.net/

View File

@@ -49,3 +49,6 @@ echo "Loading kernel"
run load_kernel run load_kernel
echo " Starting kernel" echo " Starting kernel"
booti ${kernel_addr_r} - ${fdt_addr} booti ${kernel_addr_r} - ${fdt_addr}
echo "Fails on boot"
reset

View File

@@ -49,3 +49,6 @@ echo "Loading kernel"
run load_kernel run load_kernel
echo " Starting kernel" echo " Starting kernel"
bootz ${kernel_addr_r} - ${fdt_addr} bootz ${kernel_addr_r} - ${fdt_addr}
echo "Fails on boot"
reset

View File

@@ -40,6 +40,8 @@ BR2_PACKAGE_AVAHI=y
# BR2_PACKAGE_AVAHI_AUTOIPD is not set # BR2_PACKAGE_AVAHI_AUTOIPD is not set
BR2_PACKAGE_AVAHI_DAEMON=y BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_DROPBEAR=y
# BR2_PACKAGE_DROPBEAR_CLIENT is not set # BR2_PACKAGE_DROPBEAR_CLIENT is not set
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
@@ -73,12 +75,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS=y
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/amd64-hassio-supervisor" 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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassistant"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" 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="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_ARGS="--network=hassio --add-host hassio:172.30.32.2"
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"

View File

@@ -48,6 +48,8 @@ BR2_PACKAGE_AVAHI=y
# BR2_PACKAGE_AVAHI_AUTOIPD is not set # BR2_PACKAGE_AVAHI_AUTOIPD is not set
BR2_PACKAGE_AVAHI_DAEMON=y BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_DROPBEAR=y
# BR2_PACKAGE_DROPBEAR_CLIENT is not set # BR2_PACKAGE_DROPBEAR_CLIENT is not set
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
@@ -82,12 +84,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS=y
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" 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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" 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="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_ARGS="--network=hassio --add-host hassio:172.30.32.2"
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"

View File

@@ -47,6 +47,8 @@ BR2_PACKAGE_AVAHI=y
# BR2_PACKAGE_AVAHI_AUTOIPD is not set # BR2_PACKAGE_AVAHI_AUTOIPD is not set
BR2_PACKAGE_AVAHI_DAEMON=y BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_DROPBEAR=y
# BR2_PACKAGE_DROPBEAR_CLIENT is not set # BR2_PACKAGE_DROPBEAR_CLIENT is not set
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
@@ -81,12 +83,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS=y
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" 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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi2-homeassistant"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" 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="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_ARGS="--network=hassio --add-host hassio:172.30.32.2"
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"

View File

@@ -48,6 +48,8 @@ BR2_PACKAGE_AVAHI=y
# BR2_PACKAGE_AVAHI_AUTOIPD is not set # BR2_PACKAGE_AVAHI_AUTOIPD is not set
BR2_PACKAGE_AVAHI_DAEMON=y BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_DROPBEAR=y
# BR2_PACKAGE_DROPBEAR_CLIENT is not set # BR2_PACKAGE_DROPBEAR_CLIENT is not set
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
@@ -82,12 +84,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS=y
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/aarch64-hassio-supervisor" 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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-64-homeassistant"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" 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="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_ARGS="--network=hassio --add-host hassio:172.30.32.2"
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"

View File

@@ -48,6 +48,8 @@ BR2_PACKAGE_AVAHI=y
# BR2_PACKAGE_AVAHI_AUTOIPD is not set # BR2_PACKAGE_AVAHI_AUTOIPD is not set
BR2_PACKAGE_AVAHI_DAEMON=y BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_DROPBEAR=y
# BR2_PACKAGE_DROPBEAR_CLIENT is not set # BR2_PACKAGE_DROPBEAR_CLIENT is not set
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
@@ -82,12 +84,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS=y
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" 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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi3-homeassistant"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" 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="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_ARGS="--network=hassio --add-host hassio:172.30.32.2"
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"

View File

@@ -47,6 +47,8 @@ BR2_PACKAGE_AVAHI=y
# BR2_PACKAGE_AVAHI_AUTOIPD is not set # BR2_PACKAGE_AVAHI_AUTOIPD is not set
BR2_PACKAGE_AVAHI_DAEMON=y BR2_PACKAGE_AVAHI_DAEMON=y
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
BR2_PACKAGE_DHCP=y
BR2_PACKAGE_DHCP_CLIENT=y
BR2_PACKAGE_DROPBEAR=y BR2_PACKAGE_DROPBEAR=y
# BR2_PACKAGE_DROPBEAR_CLIENT is not set # BR2_PACKAGE_DROPBEAR_CLIENT is not set
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set # BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
@@ -81,12 +83,12 @@ BR2_PACKAGE_HOST_MTOOLS=y
BR2_PACKAGE_HOST_RAUC=y BR2_PACKAGE_HOST_RAUC=y
BR2_PACKAGE_HASSOS=y BR2_PACKAGE_HASSOS=y
BR2_PACKAGE_HASSOS_SUPERVISOR="homeassistant/armhf-hassio-supervisor" 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_ARGS="-e HOMEASSISTANT_REPOSITORY=homeassistant/raspberrypi-homeassistant"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor" BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE="hassio-supervisor"
BR2_PACKAGE_HASSOS_SUPERVISOR_PROFILE_URL="http://s3.amazonaws.com/hassio-version/apparmor.txt" 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="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_ARGS="--network=hassio --add-host hassio:172.30.32.2"
BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default" BR2_PACKAGE_HASSOS_CLI_PROFILE="docker-default"
BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor" BR2_PACKAGE_HASSOS_APPARMOR_DIR="supervisor/apparmor"

View File

@@ -1,7 +1,7 @@
VERSION_MAJOR=1 VERSION_MAJOR=2
VERSION_BUILD=2 VERSION_BUILD=0
HASSOS_NAME="HassOS" HASSOS_NAME="HassOS"
HASSOS_ID="hassos" HASSOS_ID="hassos"
DEPLOYMENT="staging" DEPLOYMENT="development"

View File

@@ -6,3 +6,6 @@ rc-manager=file
[keyfile] [keyfile]
unmanaged-devices=type:bridge;type:tun;type:veth unmanaged-devices=type:bridge;type:tun;type:veth
[logging]
backend=journal

View File

@@ -0,0 +1,2 @@
[Unit]
RequiresMountsFor=/etc/hostname /etc/hosts /etc/NetworkManager/system-connections

View File

@@ -0,0 +1,2 @@
[Unit]
RequiresMountsFor=/etc/hostname

View File

@@ -0,0 +1,3 @@
[Unit]
Wants=network-online.target
After=network-online.target

View File

@@ -0,0 +1,3 @@
[Unit]
Wants=hassos-supervisor.service
After=hassos-supervisor.service

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/var-lib-NetworkManager.mount

View File

@@ -1 +1 @@
/usr/lib/systemd/system/hassos-apparmor.service /usr/lib/systemd/system/hassos-apparmor.service

View File

@@ -1 +1 @@
/usr/lib/systemd/system/hassos-bind.target /usr/lib/systemd/system/hassos-bind.target

View File

@@ -1 +1 @@
/usr/lib/systemd/system/hassos-config.service /usr/lib/systemd/system/hassos-config.service

View File

@@ -1 +1 @@
/usr/lib/systemd/system/hassos-supervisor.service /usr/lib/systemd/system/hassos-supervisor.service

View File

@@ -1 +1 @@
/usr/lib/systemd/system/hassos-zram.target /usr/lib/systemd/system/hassos-zram.target

View File

@@ -0,0 +1,3 @@
[Unit]
Requires=docker.service
After=docker.service

View File

@@ -1,3 +1,3 @@
[Unit] [Unit]
Requires=docker.service Wants=hassos-supervisor.service
After=docker.service After=hassos-supervisor.service

View 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

View File

@@ -1,7 +1,7 @@
[Unit] [Unit]
Description=NetworkManager persistent system connections Description=NetworkManager persistent system connections
Requires=mnt-overlay.mount Requires=mnt-overlay.mount
After=mnt-overlay.mount After=mnt-overlay.mount systemd-tmpfiles-setup.service
Before=NetworkManager.service hassos-config.service Before=NetworkManager.service hassos-config.service
[Mount] [Mount]

View File

@@ -1,7 +1,8 @@
[Unit] [Unit]
Description=HassOS supervisor Description=HassOS supervisor
Requires=docker.service 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 RequiresMountsFor=/mnt/data
StartLimitIntervalSec=60 StartLimitIntervalSec=60
StartLimitBurst=5 StartLimitBurst=5

View File

@@ -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

View File

@@ -1,6 +1,6 @@
[Unit] [Unit]
Description=Docker persistent data Description=Docker persistent data
Requires=mnt-data.mount docker.service Requires=mnt-data.mount
After=mnt-data.mount After=mnt-data.mount
Before=docker.service Before=docker.service

View File

@@ -15,12 +15,12 @@ function mark_bad() {
#### Check system #### #### Check system ####
# Docker state # Docker state
if ! systemctl -q is-active docker; then if systemctl -q is-failed docker; then
mark_bad mark_bad
fi fi
# Docker state # Docker state
if ! systemctl -q is-active hassos-supervisor; then if systemctl -q is-failed hassos-supervisor; then
mark_bad mark_bad
fi fi

View File

@@ -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

View File

@@ -2,10 +2,6 @@
function fix_rootfs() { 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 # Cleanup etc
rm -rf ${TARGET_DIR}/etc/init.d rm -rf ${TARGET_DIR}/etc/init.d
rm -rf ${TARGET_DIR}/etc/network rm -rf ${TARGET_DIR}/etc/network
@@ -20,6 +16,9 @@ function fix_rootfs() {
# Cleanup miscs # Cleanup miscs
rm -rf ${TARGET_DIR}/usr/lib/modules-load.d 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 # Fix: tempfs with /srv
sed -i "/srv/d" ${TARGET_DIR}/usr/lib/tmpfiles.d/home.conf sed -i "/srv/d" ${TARGET_DIR}/usr/lib/tmpfiles.d/home.conf
@@ -31,4 +30,8 @@ function fix_rootfs() {
function install_hassos_cli() { function install_hassos_cli() {
sed -i "s|\(root.*\)/bin/sh|\1/usr/sbin/hassos-cli|" ${TARGET_DIR}/etc/passwd 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
} }

View 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

View File

@@ -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

View File

@@ -75,8 +75,7 @@ endif
ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y) ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
define DHCP_INSTALL_CLIENT define DHCP_INSTALL_CLIENT
mkdir -p $(TARGET_DIR)/var/lib mkdir -p $(TARGET_DIR)/var/lib/dhcp
(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
$(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \ $(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \
$(TARGET_DIR)/sbin/dhclient $(TARGET_DIR)/sbin/dhclient
$(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \ $(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \

View File

@@ -93,6 +93,7 @@ endef
define NETWORK_MANAGER_INSTALL_INIT_SYSTEMD define NETWORK_MANAGER_INSTALL_INIT_SYSTEMD
mkdir -p $(TARGET_DIR)/etc/systemd/system/multi-user.target.wants 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 \ ln -sf /usr/lib/systemd/system/NetworkManager.service \
$(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.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 \ ln -sf /usr/lib/systemd/system/NetworkManager.service \
$(TARGET_DIR)/etc/systemd/system/multi-user.target.wants/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 \ ln -sf /usr/lib/systemd/system/NetworkManager-dispatcher.service \
$(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service $(TARGET_DIR)/etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service
endef endef