Compare commits

...

76 Commits
dev ... 1.11

Author SHA1 Message Date
Pascal Vizeli
9af71ce9ea CLI: Update to version 7 2018-09-24 14:32:23 +00:00
Pascal Vizeli
e3432c373f Supervisor: Update to version 131 2018-09-24 14:31:54 +00:00
Pascal Vizeli
569a581445
Raspberry: Fix power issue 2018-09-24 16:30:35 +02:00
Pascal Vizeli
92dbff76e1 OS: bump version 1.11 2018-09-10 10:27:08 +00:00
Johannes Truschnigg
3ab6dd4cfe Do not assume index 0 for boot medium (#188)
When booting the HassOS VMDK appliance disk image on QEMU with OVMF UEFI
firmware, barebox numbers devices differently from other environments.

This patch makes the barebox `sh` implementation expand a pathname
wildcard at runtime, so that assigned disk indices != 0 will also work.

This fix introduces a potential (but most likely irrelevant)
bug/problem: If there is more than one disk connected to the system with
a matching name assigned, the wildcard will expand to two or more
pathnames, breaking the resulting `mount` command.
2018-09-10 10:25:22 +00:00
Pascal Vizeli
a0b432e072 Supervisor: Update to version 130 2018-09-10 10:24:57 +00:00
Pascal Vizeli
4fd8594af5
Raspberrypi: Performance on Raspberry Pi due to governor (#194)
* Raspberrypi: Performance on Raspberry Pi due to governor

* Update rpi0_w_defconfig

* Update rpi2_defconfig

* Update rpi3_64_defconfig

* Update rpi3_defconfig

* Update rpi_defconfig
2018-09-10 12:22:33 +02:00
Pascal Vizeli
115dbd0491 OS: bump version 1.10 2018-08-27 16:00:21 +00:00
Pascal Vizeli
6fdd9afe74 Documentation: Update Kernel infos 2018-08-27 15:59:47 +00:00
Pascal Vizeli
523996658b OVA: update kernel 4.14.67 2018-08-27 15:59:08 +00:00
Pascal Vizeli
6800ee84dc Raspberry: update kernel 4.14.66 2018-08-27 15:58:52 +00:00
Pascal Vizeli
d36d3557cb Raspberry: Bump Firmware for 4.14.66 2018-08-27 15:58:28 +00:00
Pascal Vizeli
b87b4f240a Supervisor: Update to version 127 2018-08-27 15:57:58 +00:00
Pascal Vizeli
51882ad715 OS: Update supervisor 123 2018-08-03 23:02:04 +00:00
Pascal Vizeli
20004ca451 OS: Bump version 1.9 2018-08-03 12:32:07 +00:00
Pascal Vizeli
ac0d1ed9af rpi: Update kernel & firmware 4.14.58 (#139) 2018-08-03 12:31:33 +00:00
Pascal Vizeli
2e9f5d04e2 OVA: Update kernel to 4.14.59 (#138) 2018-08-03 12:31:14 +00:00
Pascal Vizeli
0ecf4cb293 OVA: Add support for Aeotec Zstick (#132) 2018-08-03 12:30:59 +00:00
Pascal Vizeli
02126e0236 OS: Update supervisor 122 2018-08-03 12:30:41 +00:00
Pascal Vizeli
59cb3b4844 fix wireless settings (#124) 2018-07-19 08:53:46 +00:00
Pascal Vizeli
ee6399a8ba OVA: Fix serial support (#119)
OVA: Fix serial support
2018-07-18 14:07:34 +00:00
Pascal Vizeli
1541fcab8d Bump version 1.8 2018-07-18 12:54:21 +00:00
Pascal Vizeli
93dcc4a152 Add support for VIRTIO (#118)
* Add support for VIRTIO

* Update kernel.config
2018-07-18 12:43:19 +00:00
Pascal Vizeli
54dd3e3219 Allow more USB serial device on OVA (#115)
* Allow more USB serial device on OVA

* Update kernel.config
2018-07-18 12:43:05 +00:00
Robin
dca52c3026 Update network.md (#114)
Clarify that you are editing the file `my-network` which is what I understand from https://www.home-assistant.io/hassio/installation/
2018-07-18 12:42:00 +00:00
Pascal Vizeli
bfcbe120b4 Bump version 1.7 2018-07-15 19:43:44 +00:00
Pascal Vizeli
38a3af6a8d Fix prevent device tree on rpi (#107)
* Fix prevent device tree

* Update uboot-boot.sh

* Update rauc-hook

* Update rauc-hook
2018-07-15 19:43:18 +00:00
Pascal Vizeli
ed8f2489e0 Update OVA kernel to 4.14.55 (#108) 2018-07-15 19:43:04 +00:00
Pascal Vizeli
fa05217ef2 Raspberry Pi node of 64bit (#103) 2018-07-14 09:09:15 +00:00
DubhAd
f85402d781 Grammar and language tweaks (#101)
Some grammar and language tweaks
2018-07-14 09:09:05 +00:00
Pascal Vizeli
7e3f9d53b0 Bump version 1.6 2018-07-13 16:31:56 +00:00
Pascal Vizeli
e8f80669d7 Fix handling with resolv.conf (#99) 2018-07-13 16:31:32 +00:00
Pascal Vizeli
9113d711f2 Update rpi kernel 4.14.54 / Firmware / wifi (#98)
* Update rpi kernel 4.14.54 / Firmware / wifi

Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>

* Fix patch

* Update bluetooth-bcm43xx.mk

* Update bluetooth-bcm43xx.mk

* Update bluetooth-bcm43xx.mk
2018-07-13 16:31:11 +00:00
Pascal Vizeli
ac2cd55e37 Update Documentation (#95)
* Update deployment.md

* Update raspberrypi.md

* Update raspberrypi.md

* Update raspberrypi.md
2018-07-12 10:57:56 +00:00
Pascal Vizeli
0002d570d7 Fix boot menu (#94)
* Fix boot menu

* Update action
2018-07-10 12:57:22 +00:00
Pascal Vizeli
0a018c6c45 Bump version 1.5 2018-07-10 08:22:03 +00:00
Pascal Vizeli
173596eec5 Update bluetooth docs & add udev rules (#92)
* Update bluetooth docs

* add udev rules

* Add cmp to build

* Create bluetooth.md
2018-07-10 08:20:30 +00:00
Pascal Vizeli
bf69f2e974 Native bluetooth support (#91)
* Add bluez

* rpi firmware

* add rpi support

* Make packages from rpi

* Fix build

* Fix target

* persistent

* fix package

* Auto enable

* Fix parameter

* Fix rpi

* Fix done
2018-07-10 08:20:21 +00:00
Pascal Vizeli
6ddf29045e Check simlink (#90) 2018-07-08 12:20:28 +00:00
Pascal Vizeli
2d8aba9b37 Bump verison 1.4 2018-07-07 22:45:33 +00:00
Pascal Vizeli
aa7858ae44 Fix time on overlay (#88)
* Fix time on overlay

* Fix rights

* Fix timesync
2018-07-07 22:45:00 +00:00
Pascal Vizeli
0b05afb194 Add powersave config to network manager (#86)
* Add powersave config to network manager

* Update network.md
2018-07-07 08:46:47 +00:00
Pascal Vizeli
ab60a8bc55 Bump version to 1.3 / production 2018-07-06 21:58:06 +00:00
Pascal Vizeli
450826b6bd Some cleanup (#84) 2018-07-06 21:54:38 +00:00
Pascal Vizeli
14f406ad6a Reset if we can't boot (#83)
* Update uboot-boot.sh

* Update uboot-boot.sh
2018-07-06 21:54:17 +00:00
Pascal Vizeli
1d74fcb91d 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 21:53:58 +00:00
Pascal Vizeli
13d0aaac0e Update supervisor 115 (#82) 2018-07-06 21:53:43 +00:00
Pascal Vizeli
1e1f36f275 Update CLI / Supervisor (#71) 2018-07-06 21:53:37 +00:00
Pascal Vizeli
36251114d8 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-06 21:51:41 +00:00
Gabriel Oliveira
5e10559144 Fix config documentation closing tags (#80) 2018-07-06 21:51:25 +00:00
Pascal Vizeli
0e7f516730 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-06 21:51:07 +00:00
cogneato
b75fc91f8b Update configuration.md (#50)
* Update configuration.md

Clearing up documentation, grammar fixes.

* changed known_hosts to authorized_keys

* Update configuration.md
2018-07-03 06:02:40 +00:00
cogneato
1b4d33d37d Update network.md (#51)
* Update network.md

Clearing up network documentation, grammar

* Update network.md
2018-07-03 06:02:35 +00:00
Pascal Vizeli
6fdd892aaf Fix persistent log (#70) 2018-07-02 22:01:35 +00:00
Pascal Vizeli
90dc5b54c0 Change chmod of network connection files from fat32 (#69) 2018-07-02 21:04:01 +00:00
Pascal Vizeli
5b68cf097a Fix update script with uptime (#68) 2018-07-02 20:52:33 +00:00
Pascal Vizeli
b50df06358
Bump version 1.2 2018-07-02 21:54:41 +02:00
Pascal Vizeli
84500a88d1 Fix docker warning on rpi (#67) 2018-07-02 19:53:12 +00:00
Pascal Vizeli
854202a1b8 Fix label name in test script (#66)
* Fix label name in test script

* Update hassos-config
2018-07-02 19:53:03 +00:00
Pascal Vizeli
e51a0811a1 Fix spell in journald script (#65) 2018-07-02 19:52:52 +00:00
Pascal Vizeli
15fc1f447e 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 19:52:40 +00:00
Pascal Vizeli
26b5f910b5 Map /etc/machine-id into supervisor/cli (#60)
* Map /etc/machine-id into supervisor/cli

* Update hassos-cli

* Update hassos-supervisor
2018-07-02 19:52:30 +00:00
Pascal Vizeli
5cc352bb44 Add lost persistent ssh folder (#58)
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
2018-06-30 22:40:45 +00:00
Pascal Vizeli
3315f6d9c4 Use wpa_supplicant with NetworkManager (#57) 2018-06-30 22:40:32 +00:00
Pascal Vizeli
0f1c8dbf56 Use CONFIG as label for config partition (#56)
* Use CONFIG as label for config partition

* Update configuration.md

* Update hassos-config
2018-06-30 22:40:21 +00:00
Pascal Vizeli
f5df6e18a8 Bump version to REL-1 build 1 2018-06-30 10:00:49 +00:00
Pascal Vizeli
ba78c80b97 Set hassos supervisor to rauc (#55)
* Set hassos supervisor to rauc

* Update post-install

* Update hassos-config
2018-06-30 09:59:46 +00:00
Pascal Vizeli
38bc2b4f91 Fix authorized_keys keys (#53)
* Fix authorized_keys keys

* Update hassos.conf

* Update configuration.md

* Update hassos-config

* Update hassos-config
2018-06-30 09:59:36 +00:00
Pascal Vizeli
69af4b3819 Fix hassos-conf label (#48)
* Update mnt-config.mount

* Update configuration.md

* Update configuration.md

* Update mnt-config.mount

* Update configuration.md
2018-06-30 09:59:24 +00:00
Pascal Vizeli
14de047663 Update ova.md (#47) 2018-06-27 11:57:23 +00:00
Pascal Vizeli
a310232e2c We publish now the vmdk and not OVA/OVF (#46)
* Update upload-rel.sh

* Create ova.md
2018-06-27 11:36:09 +00:00
Pascal Vizeli
93ea56d0ea Improve the documentation (#44)
* Create network.md

* Update configuration.md

* Update network.md

* Update network.md
2018-06-26 20:25:56 +00:00
Pascal Vizeli
83dabb2842 Add script for github upload (#43)
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
2018-06-26 20:25:48 +00:00
Pascal Vizeli
bf05e66ae8 Include ota script into board image (#42) 2018-06-26 11:29:05 +00:00
Pascal Vizeli
e1fb61e8a8 Fix build script for new layout (#40) 2018-06-26 11:28:53 +00:00
Pascal Vizeli
480c11535d
Bump version (#39) 2018-06-26 10:34:30 +02:00
86 changed files with 747 additions and 91 deletions

View 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
```

View File

@ -0,0 +1,16 @@
# OVA
The OVA stay for open virtual appliance. Currently we had remove the ova files and publish a vmdk virtual disk,
until we have better OVF template to generate our OVA. This vmdk work with (maybe you need convert the disk):
- HyperV
- VirtualBox
- VMware
## Virtual Machine
You can use this vmdk in a virtual machine with follow requirements:
- OS: Linux 64bit
- UEFI boot
- min. 1GB RAM
- 2x vcpu
- 1x Network

View File

@ -1,5 +1,23 @@
# Raspberry PI
Supported Hardware:
| Device | Board |
|--------|-----------|
| Raspberry Pi A+/B/B+| rpi |
| Raspberry Pi Zero | rpi |
| Raspberry Pi Zero W | rpi0-w |
| Raspberry Pi 2 B | rpi2 |
| Raspberry Pi 3 B/B+ | rpi3 / rpi3-64 |
## Limitation 64bit
The 64bit version is under development by RPi-Team. It work very nice but it could have some impacts. Actual we see that the SDcard access with ext4 are a bit slower than on 32bit.
## Serial console
For access to terminal over serial console, add `console=ttyAMA0,115200` to `cmdline.txt` and `enable_uart=1` into `config.txt`.
## Tweaks
If you don't need bluetooth, disabled it with add `dtoverlay=pi3-disable-bt` into `config.txt`.

View File

@ -2,18 +2,23 @@
## Automatic
You can format a USB stick with FAT32 and name it with `hassos-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/
known_hosts
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.
- `known_hosts` 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 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
@ -25,5 +30,11 @@ You can edit or create a `cmdline.txt` into your boot partition. That will be re
The kernel module folder `/etc/modules-load.d` is persistent and you can add your config files there. See [Systemd modules load][systemd-modules].
### Network
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

View File

@ -21,3 +21,7 @@ The branch `dev` ist the actual development branch and from there we never make
version from they we build a beta release.
If we create a new staging/productive release, we create a new branch `rel-{MAJOR}`. They will be used for the hole cycle of this release.
## Upload release files
We use [ghr](https://github.com/tcnksm/ghr) to upload files to our repository. A binary version is available inside `scripts`.

7
Documentation/kernel.md Normal file
View File

@ -0,0 +1,7 @@
# Kernel Version
| Board | Version |
|-------|---------|
| Open Virtual Applicance | 4.14.67 |
| Raspberry Pi | 4.14.66 |

97
Documentation/network.md Normal file
View File

@ -0,0 +1,97 @@
# Network
HassOS uses NetworkManager to control the host network. In future releases, you will be able to 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 also read the [Official Manual][keyfile] or there are a lot of examples accross internet. The system is read only, if you don't want the IP address to change every boot, you should set the uuid property with a generic [UUID4][uuid]. Inside the `network` folder create the file `my-network` and add the appropriate contents below:
### 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
uuid=d55162b4-6152-4310-9312-8f4c54d86afa
type=802-3-ethernet
[ipv4]
method=auto
[ipv6]
addr-gen-mode=stable-privacy
method=auto
```
### Wireless WPA/PSK
```ini
[connection]
id=hassos-network
uuid=72111c67-4a5d-4d5c-925e-f8ee26efb3c3
type=802-11-wireless
[802-11-wireless]
mode=infrastructure
ssid=MY_SSID
[802-11-wireless-security]
auth-alg=open
key-mgmt=wpa-psk
psk=MY_WLAN_SECRED_KEY
[ipv4]
method=auto
[ipv6]
addr-gen-mode=stable-privacy
method=auto
```
### Static IP
Replace follow configs:
```ini
[ipv4]
method=manual
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/

View File

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

View File

@ -1 +1,17 @@
CONFIG_EFI_STUB=y
CONFIG_EFI_STUB=y
CONFIG_USB_SERIAL=y
CONFIG_USB_SERIAL_GENERIC=y
CONFIG_USB_SERIAL_SIMPLE=m
CONFIG_USB_SERIAL_CP210X=m
CONFIG_USB_SERIAL_FTDI_SIO=m
CONFIG_USB_SERIAL_PL2303=m
CONFIG_USB_ACM=m
CONFIG_VIRTIO=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_BALLOON=m
CONFIG_VIRTIO_INPUT=m
CONFIG_VIRTIO_BLK=m

View File

@ -0,0 +1 @@
CONFIG_CPU_FREQ_DEFAULT_GOV_ONDEMAND=y

View File

@ -7,6 +7,7 @@ BOOT_DATA=${BINARIES_DIR}/boot
. ${SCRIPT_DIR}/hdd-image.sh
. ${SCRIPT_DIR}/name.sh
. ${SCRIPT_DIR}/ota.sh
. ${BR2_EXTERNAL_HASSOS_PATH}/info
. ${BOARD_DIR}/info

View File

@ -3,7 +3,7 @@ test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3
test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
# HassOS bootargs
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait"
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait cgroup_enable=memory"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"
@ -11,7 +11,8 @@ setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype
# Preserve origin bootargs
setenv bootargs_rpi
fdt addr ${fdt_addr}
setenv fdt_org ${fdt_addr}
fdt addr ${fdt_org}
fdt get value bootargs_rpi /chosen bootargs
setenv bootargs
@ -35,6 +36,7 @@ for BOOT_SLOT in "${BOOT_ORDER}"; do
fi
done
setenv fdt_addr
if test -n "${bootargs}"; then
saveenv
else
@ -48,4 +50,7 @@ fi
echo "Loading kernel"
run load_kernel
echo " Starting kernel"
booti ${kernel_addr_r} - ${fdt_addr}
booti ${kernel_addr_r} - ${fdt_org}
echo "Fails on boot"
reset

View File

@ -3,7 +3,7 @@ test -n "${BOOT_A_LEFT}" || setenv BOOT_A_LEFT 3
test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
# HassOS bootargs
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait"
setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait cgroup_enable=memory"
# HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"
@ -11,7 +11,8 @@ setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype
# Preserve origin bootargs
setenv bootargs_rpi
fdt addr ${fdt_addr}
setenv fdt_org ${fdt_addr}
fdt addr ${fdt_org}
fdt get value bootargs_rpi /chosen bootargs
setenv bootargs
@ -35,6 +36,7 @@ for BOOT_SLOT in "${BOOT_ORDER}"; do
fi
done
setenv fdt_addr
if test -n "${bootargs}"; then
saveenv
else
@ -48,4 +50,7 @@ fi
echo "Loading kernel"
run load_kernel
echo " Starting kernel"
bootz ${kernel_addr_r} - ${fdt_addr}
bootz ${kernel_addr_r} - ${fdt_org}
echo "Fails on boot"
reset

View File

@ -3,6 +3,6 @@
global linux.bootargs.dyn.root="root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"
mkdir -p /mnt/system
mount -t ext4 /dev/disk0.hassos-kernel0 /mnt/system
mount -t ext4 /dev/disk*.hassos-kernel0 /mnt/system
global bootm.image="/mnt/system/bzImage"

View File

@ -3,6 +3,6 @@
global linux.bootargs.dyn.root="root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro"
mkdir -p /mnt/system
mount -t ext4 /dev/disk0.hassos-kernel1 /mnt/system
mount -t ext4 /dev/disk*.hassos-kernel1 /mnt/system
global bootm.image="/mnt/system/bzImage"

View File

@ -1,3 +1,5 @@
#!/bin/sh
global linux.bootargs.bootchooser="bootchooser.active=A"
boot system0

View File

@ -1,3 +1,5 @@
#!/bin/sh
global linux.bootargs.bootchooser="bootchooser.active=B"
boot system1

View File

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

View File

@ -18,7 +18,7 @@ BR2_ROOTFS_POST_IMAGE_SCRIPT="$(BR2_EXTERNAL_HASSOS_PATH)/board/ova/post-image.s
BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/ova"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_VERSION=y
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.41"
BR2_LINUX_KERNEL_CUSTOM_VERSION_VALUE="4.14.67"
BR2_LINUX_KERNEL_DEFCONFIG="x86_64"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/ova/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
@ -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="131"
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="7"
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"

View File

@ -21,9 +21,9 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi0-
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rpi-4.14.y"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f6da082a790f857d5163ac99357beae6b59f1eb5"
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-0-w"
@ -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="131"
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="7"
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

View File

@ -21,9 +21,9 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi2"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rpi-4.14.y"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f6da082a790f857d5163ac99357beae6b59f1eb5"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2709-rpi-2-b"
@ -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="131"
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="7"
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"

View File

@ -21,9 +21,9 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3-
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rpi-4.14.y"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f6da082a790f857d5163ac99357beae6b59f1eb5"
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi3"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="broadcom/bcm2710-rpi-3-b broadcom/bcm2837-rpi-3-b broadcom/bcm2710-rpi-3-b-plus"
@ -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="131"
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="7"
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

View File

@ -21,9 +21,9 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi3"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rpi-4.14.y"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f6da082a790f857d5163ac99357beae6b59f1eb5"
BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-3-b-plus bcm2710-rpi-cm3"
@ -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="131"
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="7"
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

View File

@ -21,9 +21,9 @@ BR2_ROOTFS_POST_SCRIPT_ARGS="$(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/rpi"
BR2_LINUX_KERNEL=y
BR2_LINUX_KERNEL_CUSTOM_GIT=y
BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="rpi-4.14.y"
BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="f6da082a790f857d5163ac99357beae6b59f1eb5"
BR2_LINUX_KERNEL_DEFCONFIG="bcmrpi"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config"
BR2_LINUX_KERNEL_CONFIG_FRAGMENT_FILES="$(BR2_EXTERNAL_HASSOS_PATH)/kernel.config $(BR2_EXTERNAL_HASSOS_PATH)/board/raspberrypi/kernel.config"
BR2_LINUX_KERNEL_LZ4=y
BR2_LINUX_KERNEL_DTS_SUPPORT=y
BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2708-rpi-b bcm2708-rpi-b-plus bcm2708-rpi-cm"
@ -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="131"
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="7"
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"

View File

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

View File

@ -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,17 @@ if [ "${RAUC_SLOT_CLASS}" = "boot" ]; then
fi
fi
##
# Fixups
# timesyncd
if [ -L /var/lib/systemd/timesync ]; then
rm -f /var/lib/systemd/timesync
fi
# u-boot first stage device tree
if [ -e /usr/sbin/fw_setenv ]; then
fw_setenv fdt_addr
fi
exit 0

View 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.

View 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

View File

@ -0,0 +1,31 @@
################################################################################
#
# 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/ade2bae1aaaebede09abb8fb546f767a0e4c7804/broadcom/BCM43430A1.hcd
curl -o $(@D)/BCM4345C0.hcd https://raw.githubusercontent.com/RPi-Distro/bluez-firmware/ade2bae1aaaebede09abb8fb546f767a0e4c7804/broadcom/BCM4345C0.hcd
endef
define BLUETOOTH_BCM43XX_INSTALL_TARGET_CMDS
$(INSTALL) -d $(TARGET_DIR)/etc/systemd/system/hassos-hardware.target.wants
$(INSTALL) -m 0755 $(@D)/bluetooth-bcm43xx $(TARGET_DIR)/usr/sbin/
$(INSTALL) -m 0644 $(@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/
$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
$(INSTALL) -m 0644 $(@D)/*.hcd $(TARGET_DIR)/lib/firmware/brcm/
$(INSTALL) -d $(TARGET_DIR)/etc/udev/rules.d
$(INSTALL) -m 0644 $(@D)/bluetooth-bcm43xx.rules $(TARGET_DIR)/etc/udev/rules.d/
endef
$(eval $(generic-package))

View File

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

View File

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

View File

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

View File

@ -0,0 +1,2 @@
[Policy]
AutoEnable=true

View File

@ -1 +1 @@
/run/NetworkManager/resolv.conf
/run/resolv.conf

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

@ -1,6 +1,6 @@
[Unit]
RequiresMountsFor=/etc/dropbear
ConditionFileNotEmpty=/root/.ssh/known_hosts
ConditionFileNotEmpty=/root/.ssh/authorized_keys
[Service]
ExecStartPre=

View File

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

View File

@ -0,0 +1 @@
/usr/lib/systemd/system/root-.ssh.mount

View File

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

View File

@ -0,0 +1 @@
/usr/lib/systemd/system/var-lib-bluetooth.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

@ -0,0 +1 @@
/usr/lib/systemd/system/hassos-hardware.target

View File

@ -0,0 +1 @@
/usr/lib/systemd/system/hassos-persists-journald.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]
Requires=docker.service
After=docker.service
Wants=hassos-supervisor.service
After=hassos-supervisor.service

View File

@ -0,0 +1,2 @@
[Unit]
RequiresMountsFor=/var/lib/systemd

View File

@ -0,0 +1,2 @@
[Service]
DynamicUser=no

View File

@ -0,0 +1,4 @@
# Cleanup lease files
e /var/lib/NetworkManager/*.lease - - - 14d
C /mnt/overlay/etc/NetworkManager/system-connections - - - - /usr/share/system-connections
f /run/resolv.conf - - - -

View File

@ -1,4 +1,3 @@
#!/bin/sh
systemctl start mnt-boot.mount
systemctl reboot

View File

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

View File

@ -0,0 +1,3 @@
[Unit]
Description=HassOS hardware targets
Documentation=man:systemd.target(5)

View File

@ -0,0 +1,14 @@
[Unit]
Description=HassOS persists journald
Requires=var-log-journal.mount
After=sysinit.target systemd-journald.service
RefuseManualStart=true
RefuseManualStop=true
[Service]
Type=oneshot
ExecStart=/usr/sbin/hassos-persists-journald
RemainAfterExit=true
[Install]
WantedBy=multi-user.target

View File

@ -1,7 +1,8 @@
[Unit]
Description=HassOS supervisor
Requires=docker.service
After=docker.service dbus.socket
Wants=network-online.target
After=docker.service rauc.service dbus.socket network-online.target
RequiresMountsFor=/mnt/data
StartLimitIntervalSec=60
StartLimitBurst=5

View File

@ -2,7 +2,7 @@
Description=HassOS config partition
[Mount]
What=LABEL=hassos-config
What=LABEL=CONFIG
Where=/mnt/config
Type=auto
Options=ro

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

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

View File

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

View File

@ -6,7 +6,6 @@ CONFIG_FILE=/mnt/data/hassos.json
CLI="$(jq --raw-output '.cli' ${CONFIG_FILE})"
DOCKER_ARGS="$(jq --raw-output '.cli_args // empty' ${CONFIG_FILE})"
APPARMOR="$(jq --raw-output '.cli_apparmor // "docker-default"' ${CONFIG_FILE})"
MACHINE_ID="$(cat /etc/machine-id)"
CLI_DATA=/mnt/data/cli
mkdir -p ${CLI_DATA}
@ -16,7 +15,7 @@ docker run \
--rm -ti --init \
--security-opt apparmor="${APPARMOR}" \
-v ${CLI_DATA}:/data \
-e MACHINE_ID=${MACHINE_ID} \
-v /etc/machine-id:/etc/machine-id:ro \
$DOCKER_ARGS \
${CLI}

View File

@ -1,10 +1,15 @@
#!/bin/sh
if ! findfs LABEL="CONFIG" > /dev/null; then
echo "[Warning] No config partition found"
exit 0
fi
# Mount config folder
systemctl start mnt-config.mount
if ! systemctl -q is-active mnt-config.mount; then
echo "[Warning] No config partition found"
exit 0
echo "[Error] Can't mount config partition"
exit 1
fi
##
@ -14,6 +19,7 @@ if [ -d /mnt/config/network ]; then
rm -rf /etc/NetworkManager/system-connections/*
cp -f /mnt/config/network/* /etc/NetworkManager/system-connections/
chmod 600 /etc/NetworkManager/system-connections/*
nmcli con reload
fi
@ -29,25 +35,31 @@ fi
##
# SSH know hosts
if [ -f /mnt/config/known_hosts ]; then
echo "[Info] Update SSH known_hosts!"
if [ -f /mnt/config/authorized_keys ]; then
echo "[Info] Update SSH authorized_keys!"
cp -f /mnt/config/known_hosts /root/.ssh/known_hosts
chmod 600 /root/.ssh/known_hosts
cp -f /mnt/config/authorized_keys /root/.ssh/authorized_keys
chmod 600 /root/.ssh/authorized_keys
systemctl start dropbear
else
rm -f /root/.ssh/known_hosts
rm -f /root/.ssh/authorized_keys
systemctl stop dropbear
fi
##
# Firmware update
if ls /mnt/config/*.raucb > /dev/null; then
UPTIME=$(awk '{printf "%0.f", $1}' /proc/uptime)
if ls /mnt/config/*.raucb > /dev/null && [ ${UPTIME} -ge 180 ]; then
echo "[Info] Performe a firmware update"
rauc_filename=$(ls /mnt/config/*.raucb | head -n 1)
rauc install /mnt/config/$rauc_filename
if rauc install ${rauc_filename}; then
echo "[Info] Firmware update success"
systemctl reboot
else
echo "[Error] Firmware update fails"
fi
fi
# Cleanup config partition

View File

@ -0,0 +1,21 @@
#!/bin/sh
set -e
MACHINE_ID=$(cat /etc/machine-id)
CURRENT_LOGS=/var/log/journal/${MACHINE_ID}
# Loop all logs folder and move
for log_folder in /var/log/journal/*; do
# Not a log folder
if [ ! -d ${log_folder} ]; then
continue
fi
# Current log folder
if (echo ${log_folder} | grep ${MACHINE_ID}); then
continue
fi
rm -rf ${log_folder}
done

View File

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

View File

@ -7,7 +7,6 @@ CONFIG_FILE=/mnt/data/hassos.json
SUPERVISOR="$(jq --raw-output '.supervisor' ${CONFIG_FILE})"
DOCKER_ARGS="$(jq --raw-output '.supervisor_args // empty' ${CONFIG_FILE})"
APPARMOR="$(jq --raw-output '.supervisor_apparmor // "docker-default"' ${CONFIG_FILE})"
MACHINE_ID="$(cat /etc/machine-id)"
# Init supervisor
HASSOS_DATA=/mnt/data/supervisor
@ -25,10 +24,10 @@ runSupervisor() {
--security-opt apparmor="${APPARMOR}" \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /var/run/dbus:/var/run/dbus \
-v /etc/machine-id:/etc/machine-id:ro \
-v ${HASSOS_DATA}:/data \
-e SUPERVISOR_SHARE=${HASSOS_DATA} \
-e SUPERVISOR_NAME=hassos_supervisor \
-e MACHINE_ID=${MACHINE_ID} \
$DOCKER_ARGS \
${SUPERVISOR}
}

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() {
# 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
}

View File

@ -16,7 +16,7 @@ index 4854deae03..3a9f21e877 100644
@@ -1,2 +1,2 @@
# Locally computed
-sha256 ea451834e20136d249661e0ed7d1fdfa309249d233a387f44dd6c3b746a454c6 rpi-firmware-36f991382326907419f64917624427e59fd8e4a0.tar.gz
+sha256 f2b0f8ec8e73f8fa399f2c72c574ea5fe7fa57ab6151b139842a3ba783cd2140 rpi-firmware-a46b1f9521229ec26a1377aab7d013df1ade2791.tar.gz
+sha256 a72ddbd1a4e96ca508fc14d0c31784ec119b68edcab2929c9779ae618db15388 rpi-firmware-200c2f4dd54b2048b5dcb8661ea3f232beb7d81e.tar.gz
diff --git a/package/rpi-firmware/rpi-firmware.mk b/package/rpi-firmware/rpi-firmware.mk
index eab4c5d307..cb2e9d6cd8 100644
--- a/package/rpi-firmware/rpi-firmware.mk
@ -26,7 +26,7 @@ index eab4c5d307..cb2e9d6cd8 100644
################################################################################
-RPI_FIRMWARE_VERSION = 36f991382326907419f64917624427e59fd8e4a0
+RPI_FIRMWARE_VERSION = a46b1f9521229ec26a1377aab7d013df1ade2791
+RPI_FIRMWARE_VERSION = 200c2f4dd54b2048b5dcb8661ea3f232beb7d81e
RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION))
RPI_FIRMWARE_LICENSE = BSD-3-Clause
RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom

View File

@ -0,0 +1,43 @@
From 22a39b0058643c9aebdaf3ebc42a1ea30a33522f Mon Sep 17 00:00:00 2001
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Sat, 30 Jun 2018 21:10:14 +0000
Subject: [PATCH 1/1] NetworkManager_wpa-supplicant
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
---
package/network-manager/Config.in | 5 +++--
package/network-manager/network-manager.mk | 2 +-
2 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/package/network-manager/Config.in b/package/network-manager/Config.in
index 72658c1278..759e4a98f9 100644
--- a/package/network-manager/Config.in
+++ b/package/network-manager/Config.in
@@ -16,8 +16,9 @@ config BR2_PACKAGE_NETWORK_MANAGER
select BR2_PACKAGE_LIBGUDEV
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
- select BR2_PACKAGE_WIRELESS_TOOLS
- select BR2_PACKAGE_WIRELESS_TOOLS_LIB
+ select BR2_PACKAGE_WPA_SUPPLICANT
+ select BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW
+ select BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION
select BR2_PACKAGE_READLINE
select BR2_PACKAGE_LIBNDP
help
diff --git a/package/network-manager/network-manager.mk b/package/network-manager/network-manager.mk
index a520aad9c0..846605eb8e 100644
--- a/package/network-manager/network-manager.mk
+++ b/package/network-manager/network-manager.mk
@@ -10,7 +10,7 @@ NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz
NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR)
NETWORK_MANAGER_INSTALL_STAGING = YES
NETWORK_MANAGER_DEPENDENCIES = host-pkgconf udev dbus-glib libnl gnutls \
- libgcrypt wireless_tools util-linux host-intltool readline libndp libgudev
+ libgcrypt wpa_supplicant util-linux host-intltool readline libndp libgudev
NETWORK_MANAGER_LICENSE = GPL-2.0+ (app), LGPL-2.0+ (libnm-util)
NETWORK_MANAGER_LICENSE_FILES = COPYING libnm-util/COPYING
--
2.17.1

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

@ -0,0 +1,45 @@
From 30af519c8cc4b4c46dfb4ee42adda49a81dbc475 Mon Sep 17 00:00:00 2001
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Thu, 12 Jul 2018 21:33:50 +0000
Subject: [PATCH 1/1] rpi: use latest wifi driver
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
---
package/rpi-wifi-firmware/rpi-wifi-firmware.hash | 2 +-
package/rpi-wifi-firmware/rpi-wifi-firmware.mk | 6 +++---
2 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash
index bc0d7c8b02..946a55fac0 100644
--- a/package/rpi-wifi-firmware/rpi-wifi-firmware.hash
+++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.hash
@@ -1,3 +1,3 @@
# Locally calculated
-sha256 beade89c5c072158b6cf18cf741d2695980fd6a4533dab3897bebf90c0631a30 rpi-wifi-firmware-18d7c931aff0a8a78360b9b9eaeb15d1224fb907.tar.gz
+sha256 163fc0629d9ddcf7b729fefd3129f8d4f43b8fc912fa487b6d8bc57cf57232a7 rpi-wifi-firmware-86e88fbf0345da49555d0ec34c80b4fbae7d0cd3.tar.gz
sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx
diff --git a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
index 32dd3e519b..248b0a2621 100644
--- a/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
+++ b/package/rpi-wifi-firmware/rpi-wifi-firmware.mk
@@ -4,14 +4,14 @@
#
################################################################################
-RPI_WIFI_FIRMWARE_VERSION = 18d7c931aff0a8a78360b9b9eaeb15d1224fb907
-RPI_WIFI_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_WIFI_FIRMWARE_VERSION))
+RPI_WIFI_FIRMWARE_VERSION = 86e88fbf0345da49555d0ec34c80b4fbae7d0cd3
+RPI_WIFI_FIRMWARE_SITE = $(call github,RPi-Distro,firmware-nonfree,$(RPI_WIFI_FIRMWARE_VERSION))
RPI_WIFI_FIRMWARE_LICENSE = PROPRIETARY
RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx
define RPI_WIFI_FIRMWARE_INSTALL_TARGET_CMDS
$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
- $(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
+ $(INSTALL) -m 0644 $(@D)/brcm/brcmfmac434* $(TARGET_DIR)/lib/firmware/brcm
endef
$(eval $(generic-package))
--
2.17.1

View File

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

View File

@ -16,8 +16,9 @@ config BR2_PACKAGE_NETWORK_MANAGER
select BR2_PACKAGE_LIBGUDEV
select BR2_PACKAGE_UTIL_LINUX
select BR2_PACKAGE_UTIL_LINUX_LIBUUID
select BR2_PACKAGE_WIRELESS_TOOLS
select BR2_PACKAGE_WIRELESS_TOOLS_LIB
select BR2_PACKAGE_WPA_SUPPLICANT
select BR2_PACKAGE_WPA_SUPPLICANT_DBUS_NEW
select BR2_PACKAGE_WPA_SUPPLICANT_DBUS_INTROSPECTION
select BR2_PACKAGE_READLINE
select BR2_PACKAGE_LIBNDP
help

View File

@ -10,7 +10,7 @@ NETWORK_MANAGER_SOURCE = NetworkManager-$(NETWORK_MANAGER_VERSION).tar.xz
NETWORK_MANAGER_SITE = http://ftp.gnome.org/pub/GNOME/sources/NetworkManager/$(NETWORK_MANAGER_VERSION_MAJOR)
NETWORK_MANAGER_INSTALL_STAGING = YES
NETWORK_MANAGER_DEPENDENCIES = host-pkgconf udev dbus-glib libnl gnutls \
libgcrypt wireless_tools util-linux host-intltool readline libndp libgudev
libgcrypt wpa_supplicant util-linux host-intltool readline libndp libgudev
NETWORK_MANAGER_LICENSE = GPL-2.0+ (app), LGPL-2.0+ (libnm-util)
NETWORK_MANAGER_LICENSE_FILES = COPYING libnm-util/COPYING
@ -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

View File

@ -1,2 +1,2 @@
# Locally computed
sha256 f2b0f8ec8e73f8fa399f2c72c574ea5fe7fa57ab6151b139842a3ba783cd2140 rpi-firmware-a46b1f9521229ec26a1377aab7d013df1ade2791.tar.gz
sha256 a72ddbd1a4e96ca508fc14d0c31784ec119b68edcab2929c9779ae618db15388 rpi-firmware-200c2f4dd54b2048b5dcb8661ea3f232beb7d81e.tar.gz

View File

@ -4,7 +4,7 @@
#
################################################################################
RPI_FIRMWARE_VERSION = a46b1f9521229ec26a1377aab7d013df1ade2791
RPI_FIRMWARE_VERSION = 200c2f4dd54b2048b5dcb8661ea3f232beb7d81e
RPI_FIRMWARE_SITE = $(call github,raspberrypi,firmware,$(RPI_FIRMWARE_VERSION))
RPI_FIRMWARE_LICENSE = BSD-3-Clause
RPI_FIRMWARE_LICENSE_FILES = boot/LICENCE.broadcom

View File

@ -1,3 +1,3 @@
# Locally calculated
sha256 beade89c5c072158b6cf18cf741d2695980fd6a4533dab3897bebf90c0631a30 rpi-wifi-firmware-18d7c931aff0a8a78360b9b9eaeb15d1224fb907.tar.gz
sha256 163fc0629d9ddcf7b729fefd3129f8d4f43b8fc912fa487b6d8bc57cf57232a7 rpi-wifi-firmware-86e88fbf0345da49555d0ec34c80b4fbae7d0cd3.tar.gz
sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx

View File

@ -4,14 +4,14 @@
#
################################################################################
RPI_WIFI_FIRMWARE_VERSION = 18d7c931aff0a8a78360b9b9eaeb15d1224fb907
RPI_WIFI_FIRMWARE_SITE = $(call github,LibreELEC,brcmfmac_sdio-firmware-rpi,$(RPI_WIFI_FIRMWARE_VERSION))
RPI_WIFI_FIRMWARE_VERSION = 86e88fbf0345da49555d0ec34c80b4fbae7d0cd3
RPI_WIFI_FIRMWARE_SITE = $(call github,RPi-Distro,firmware-nonfree,$(RPI_WIFI_FIRMWARE_VERSION))
RPI_WIFI_FIRMWARE_LICENSE = PROPRIETARY
RPI_WIFI_FIRMWARE_LICENSE_FILES = LICENCE.broadcom_bcm43xx
define RPI_WIFI_FIRMWARE_INSTALL_TARGET_CMDS
$(INSTALL) -d $(TARGET_DIR)/lib/firmware/brcm
$(INSTALL) -m 0644 $(@D)/firmware/brcm/brcmfmac* $(TARGET_DIR)/lib/firmware/brcm
$(INSTALL) -m 0644 $(@D)/brcm/brcmfmac434* $(TARGET_DIR)/lib/firmware/brcm
endef
$(eval $(generic-package))

View File

@ -1,7 +1,7 @@
#!/bin/bash
set -e
mkdir -p /build/RL
mkdir -p /build/release
all_platforms=(ova rpi rpi0_w rpi2 rpi3 rpi3_64)
for platform in "${all_platforms[@]}"; do

9
scripts/update-rpi-kernel.sh Executable file
View File

@ -0,0 +1,9 @@
#!/bin/bash
set -e
if [ -z "$1" ]; then
echo "Need a version!"
exit 1
fi
sed -i "s/BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION=\".*\"/BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION=\"$1\"/g" buildroot-external/configs/rpi*

43
scripts/upload-rel.sh Executable file
View File

@ -0,0 +1,43 @@
#!/bin/bash
set -e
if [ -z "${1}" ] || [ -z "${2}" ]; then
echo "[Error] Parameter error"
exit 1
fi
# Define variables.
GH_API="https://api.github.com"
GH_REPO="$GH_API/repos/home-assistant/hassos"
GH_TAGS="$GH_REPO/releases/tags/${2}"
AUTH="Authorization: token ${1}"
# Validate token.
if ! curl -o /dev/null -sH "$AUTH" $GH_REPO; then
echo "[Error] Invalid repo, token or network issue!"
exit 1
fi
# Read asset tags.
id=$(curl -sH "$AUTH" $GH_TAGS | jq -e ".id // empty")
# Get ID of the asset based on given filename.
if [ -z "$id" ]; then
echo "[Error] Failed to get release id for tag: ${2}"
exit 1
fi
# Upload asset
echo "[Info] Start Uploading asset... "
for filename in release/*; do
echo "[Info] Start upload ${filename}"
# Construct url
GH_ASSET="https://uploads.github.com/repos/home-assistant/hassos/releases/$id/assets?name=$(basename $filename)"
curl "$GITHUB_OAUTH_BASIC" --data-binary @"$filename" -H "${AUTH}" -H "Content-Type: application/octet-stream" $GH_ASSET
echo "[Info] Upload ${filename} done"
done