mirror of
				https://github.com/home-assistant/operating-system.git
				synced 2025-10-28 13:08:32 +00:00 
			
		
		
		
	Compare commits
	
		
			69 Commits
		
	
	
		
			containerd
			...
			1.10
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|   | 115dbd0491 | ||
|   | 6fdd9afe74 | ||
|   | 523996658b | ||
|   | 6800ee84dc | ||
|   | d36d3557cb | ||
|   | b87b4f240a | ||
|   | 51882ad715 | ||
|   | 20004ca451 | ||
|   | ac0d1ed9af | ||
|   | 2e9f5d04e2 | ||
|   | 0ecf4cb293 | ||
|   | 02126e0236 | ||
|   | 59cb3b4844 | ||
|   | ee6399a8ba | ||
|   | 1541fcab8d | ||
|   | 93dcc4a152 | ||
|   | 54dd3e3219 | ||
|   | dca52c3026 | ||
|   | bfcbe120b4 | ||
|   | 38a3af6a8d | ||
|   | ed8f2489e0 | ||
|   | fa05217ef2 | ||
|   | f85402d781 | ||
|   | 7e3f9d53b0 | ||
|   | e8f80669d7 | ||
|   | 9113d711f2 | ||
|   | ac2cd55e37 | ||
|   | 0002d570d7 | ||
|   | 0a018c6c45 | ||
|   | 173596eec5 | ||
|   | bf69f2e974 | ||
|   | 6ddf29045e | ||
|   | 2d8aba9b37 | ||
|   | aa7858ae44 | ||
|   | 0b05afb194 | ||
|   | ab60a8bc55 | ||
|   | 450826b6bd | ||
|   | 14f406ad6a | ||
|   | 1d74fcb91d | ||
|   | 13d0aaac0e | ||
|   | 1e1f36f275 | ||
|   | 36251114d8 | ||
|   | 5e10559144 | ||
|   | 0e7f516730 | ||
|   | b75fc91f8b | ||
|   | 1b4d33d37d | ||
|   | 6fdd892aaf | ||
|   | 90dc5b54c0 | ||
|   | 5b68cf097a | ||
|   | b50df06358 | ||
|   | 84500a88d1 | ||
|   | 854202a1b8 | ||
|   | e51a0811a1 | ||
|   | 15fc1f447e | ||
|   | 26b5f910b5 | ||
|   | 5cc352bb44 | ||
|   | 3315f6d9c4 | ||
|   | 0f1c8dbf56 | ||
|   | f5df6e18a8 | ||
|   | ba78c80b97 | ||
|   | 38bc2b4f91 | ||
|   | 69af4b3819 | ||
|   | 14de047663 | ||
|   | a310232e2c | ||
|   | 93ea56d0ea | ||
|   | 83dabb2842 | ||
|   | bf05e66ae8 | ||
|   | e1fb61e8a8 | ||
|   | 480c11535d | 
							
								
								
									
										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 | ||||
| ``` | ||||
							
								
								
									
										16
									
								
								Documentation/boards/ova.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								Documentation/boards/ova.md
									
									
									
									
									
										Normal 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 | ||||
| @@ -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`. | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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
									
								
							
							
						
						
									
										7
									
								
								Documentation/kernel.md
									
									
									
									
									
										Normal 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
									
								
							
							
						
						
									
										97
									
								
								Documentation/network.md
									
									
									
									
									
										Normal 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/ | ||||
| @@ -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" | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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="127" | ||||
| 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" | ||||
|   | ||||
| @@ -21,7 +21,7 @@ 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_LZ4=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="127" | ||||
| 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 | ||||
|   | ||||
| @@ -21,7 +21,7 @@ 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_LZ4=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="127" | ||||
| 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" | ||||
|   | ||||
| @@ -21,7 +21,7 @@ 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_LZ4=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/aarch64-hassio-supervisor" | ||||
| BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="109" | ||||
| BR2_PACKAGE_HASSOS_SUPERVISOR_VERSION="127" | ||||
| 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 | ||||
|   | ||||
| @@ -21,7 +21,7 @@ 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_LZ4=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="127" | ||||
| 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 | ||||
|   | ||||
| @@ -21,7 +21,7 @@ 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_LZ4=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="127" | ||||
| 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=0 | ||||
| VERSION_BUILD=7 | ||||
| VERSION_MAJOR=1 | ||||
| VERSION_BUILD=10 | ||||
|  | ||||
| HASSOS_NAME="HassOS" | ||||
| HASSOS_ID="hassos" | ||||
|  | ||||
| DEPLOYMENT="development" | ||||
| 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,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 | ||||
|   | ||||
							
								
								
									
										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,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)) | ||||
| @@ -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 | ||||
| @@ -1 +1 @@ | ||||
| /run/NetworkManager/resolv.conf | ||||
| /run/resolv.conf | ||||
| @@ -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 | ||||
| @@ -1,6 +1,6 @@ | ||||
| [Unit] | ||||
| RequiresMountsFor=/etc/dropbear | ||||
| ConditionFileNotEmpty=/root/.ssh/known_hosts | ||||
| ConditionFileNotEmpty=/root/.ssh/authorized_keys | ||||
|  | ||||
| [Service] | ||||
| ExecStartPre= | ||||
|   | ||||
| @@ -0,0 +1,3 @@ | ||||
| [Unit] | ||||
| Wants=hassos-supervisor.service | ||||
| After=hassos-supervisor.service | ||||
| @@ -0,0 +1 @@ | ||||
| /usr/lib/systemd/system/root-.ssh.mount | ||||
| @@ -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 | ||||
| @@ -0,0 +1 @@ | ||||
| /usr/lib/systemd/system/hassos-persists-journald.service | ||||
| @@ -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 | ||||
							
								
								
									
										4
									
								
								buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf
									
									
									
									
									
										Normal 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 - - - - | ||||
| @@ -1,4 +1,3 @@ | ||||
| #!/bin/sh | ||||
|  | ||||
| systemctl start mnt-boot.mount | ||||
| systemctl reboot | ||||
|   | ||||
| @@ -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) | ||||
| @@ -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 | ||||
| @@ -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 | ||||
|   | ||||
| @@ -2,7 +2,7 @@ | ||||
| Description=HassOS config partition | ||||
|  | ||||
| [Mount] | ||||
| What=LABEL=hassos-config | ||||
| What=LABEL=CONFIG | ||||
| Where=/mnt/config | ||||
| Type=auto | ||||
| Options=ro | ||||
|   | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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} | ||||
|  | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
							
								
								
									
										21
									
								
								buildroot-external/rootfs-overlay/usr/sbin/hassos-persists-journald
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										21
									
								
								buildroot-external/rootfs-overlay/usr/sbin/hassos-persists-journald
									
									
									
									
									
										Executable 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 | ||||
|  | ||||
| @@ -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 | ||||
|  | ||||
|   | ||||
| @@ -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} | ||||
| } | ||||
|   | ||||
| @@ -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 | ||||
| } | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
							
								
								
									
										43
									
								
								buildroot-patches/0007-NetworkManager_wpa-supplicant.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								buildroot-patches/0007-NetworkManager_wpa-supplicant.patch
									
									
									
									
									
										Normal 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 | ||||
|  | ||||
							
								
								
									
										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 | ||||
							
								
								
									
										45
									
								
								buildroot-patches/0010-rpi-use-latest-wifi-driver.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										45
									
								
								buildroot-patches/0010-rpi-use-latest-wifi-driver.patch
									
									
									
									
									
										Normal 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 | ||||
|  | ||||
| @@ -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 \ | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -1,2 +1,2 @@ | ||||
| # Locally computed | ||||
| sha256 f2b0f8ec8e73f8fa399f2c72c574ea5fe7fa57ab6151b139842a3ba783cd2140 rpi-firmware-a46b1f9521229ec26a1377aab7d013df1ade2791.tar.gz | ||||
| sha256 a72ddbd1a4e96ca508fc14d0c31784ec119b68edcab2929c9779ae618db15388 rpi-firmware-200c2f4dd54b2048b5dcb8661ea3f232beb7d81e.tar.gz | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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 | ||||
|   | ||||
| @@ -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)) | ||||
|   | ||||
| @@ -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
									
								
							
							
						
						
									
										9
									
								
								scripts/update-rpi-kernel.sh
									
									
									
									
									
										Executable 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
									
								
							
							
						
						
									
										43
									
								
								scripts/upload-rel.sh
									
									
									
									
									
										Executable 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 | ||||
|  | ||||
		Reference in New Issue
	
	Block a user