mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-27 06:56:29 +00:00
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
This commit is contained in:
parent
5e10559144
commit
36251114d8
@ -40,6 +40,8 @@ BR2_PACKAGE_AVAHI=y
|
|||||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||||
|
BR2_PACKAGE_DHCP=y
|
||||||
|
BR2_PACKAGE_DHCP_CLIENT=y
|
||||||
BR2_PACKAGE_DROPBEAR=y
|
BR2_PACKAGE_DROPBEAR=y
|
||||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||||
|
@ -48,6 +48,8 @@ BR2_PACKAGE_AVAHI=y
|
|||||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||||
|
BR2_PACKAGE_DHCP=y
|
||||||
|
BR2_PACKAGE_DHCP_CLIENT=y
|
||||||
BR2_PACKAGE_DROPBEAR=y
|
BR2_PACKAGE_DROPBEAR=y
|
||||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||||
|
@ -47,6 +47,8 @@ BR2_PACKAGE_AVAHI=y
|
|||||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||||
|
BR2_PACKAGE_DHCP=y
|
||||||
|
BR2_PACKAGE_DHCP_CLIENT=y
|
||||||
BR2_PACKAGE_DROPBEAR=y
|
BR2_PACKAGE_DROPBEAR=y
|
||||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||||
|
@ -48,6 +48,8 @@ BR2_PACKAGE_AVAHI=y
|
|||||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||||
|
BR2_PACKAGE_DHCP=y
|
||||||
|
BR2_PACKAGE_DHCP_CLIENT=y
|
||||||
BR2_PACKAGE_DROPBEAR=y
|
BR2_PACKAGE_DROPBEAR=y
|
||||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||||
|
@ -48,6 +48,8 @@ BR2_PACKAGE_AVAHI=y
|
|||||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||||
|
BR2_PACKAGE_DHCP=y
|
||||||
|
BR2_PACKAGE_DHCP_CLIENT=y
|
||||||
BR2_PACKAGE_DROPBEAR=y
|
BR2_PACKAGE_DROPBEAR=y
|
||||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||||
|
@ -47,6 +47,8 @@ BR2_PACKAGE_AVAHI=y
|
|||||||
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
# BR2_PACKAGE_AVAHI_AUTOIPD is not set
|
||||||
BR2_PACKAGE_AVAHI_DAEMON=y
|
BR2_PACKAGE_AVAHI_DAEMON=y
|
||||||
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
BR2_PACKAGE_AVAHI_LIBDNSSD_COMPATIBILITY=y
|
||||||
|
BR2_PACKAGE_DHCP=y
|
||||||
|
BR2_PACKAGE_DHCP_CLIENT=y
|
||||||
BR2_PACKAGE_DROPBEAR=y
|
BR2_PACKAGE_DROPBEAR=y
|
||||||
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
# BR2_PACKAGE_DROPBEAR_CLIENT is not set
|
||||||
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
# BR2_PACKAGE_IFUPDOWN_SCRIPTS is not set
|
||||||
|
@ -6,3 +6,6 @@ rc-manager=file
|
|||||||
|
|
||||||
[keyfile]
|
[keyfile]
|
||||||
unmanaged-devices=type:bridge;type:tun;type:veth
|
unmanaged-devices=type:bridge;type:tun;type:veth
|
||||||
|
|
||||||
|
[logging]
|
||||||
|
backend=journal
|
||||||
|
@ -0,0 +1,2 @@
|
|||||||
|
[Unit]
|
||||||
|
After=NetworkManager.service
|
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/systemd/system/var-lib-NetworkManager.mount
|
3
buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf
Normal file
3
buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# Cleanup lease files
|
||||||
|
e /var/lib/NetworkManager/*.lease - - - 14d
|
||||||
|
C /mnt/overlay/etc/NetworkManager/system-connections - - - - /usr/share/system-connections
|
@ -1,7 +1,7 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=NetworkManager persistent system connections
|
Description=NetworkManager persistent system connections
|
||||||
Requires=mnt-overlay.mount
|
Requires=mnt-overlay.mount
|
||||||
After=mnt-overlay.mount
|
After=mnt-overlay.mount systemd-tmpfiles-setup.service
|
||||||
Before=NetworkManager.service hassos-config.service
|
Before=NetworkManager.service hassos-config.service
|
||||||
|
|
||||||
[Mount]
|
[Mount]
|
||||||
|
@ -1,7 +1,7 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=HassOS supervisor
|
Description=HassOS supervisor
|
||||||
Requires=docker.service
|
Requires=docker.service
|
||||||
After=docker.service rauc.service dbus.socket
|
After=docker.service rauc.service dbus.socket NetworkManager.service
|
||||||
RequiresMountsFor=/mnt/data
|
RequiresMountsFor=/mnt/data
|
||||||
StartLimitIntervalSec=60
|
StartLimitIntervalSec=60
|
||||||
StartLimitBurst=5
|
StartLimitBurst=5
|
||||||
|
@ -0,0 +1,14 @@
|
|||||||
|
[Unit]
|
||||||
|
Description=NetworkManager persistent data
|
||||||
|
Requires=mnt-data.mount
|
||||||
|
After=mnt-data.mount
|
||||||
|
Before=NetworkManager.service
|
||||||
|
|
||||||
|
[Mount]
|
||||||
|
What=/mnt/overlay/var/lib/NetworkManager
|
||||||
|
Where=/var/lib/NetworkManager
|
||||||
|
Type=none
|
||||||
|
Options=bind
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=hassos-bind.target
|
@ -1,6 +1,6 @@
|
|||||||
[Unit]
|
[Unit]
|
||||||
Description=Docker persistent data
|
Description=Docker persistent data
|
||||||
Requires=mnt-data.mount docker.service
|
Requires=mnt-data.mount
|
||||||
After=mnt-data.mount
|
After=mnt-data.mount
|
||||||
Before=docker.service
|
Before=docker.service
|
||||||
|
|
||||||
|
@ -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() {
|
function fix_rootfs() {
|
||||||
|
|
||||||
# Cleanup DHCP service, we don't need this with NetworkManager
|
|
||||||
rm -rf ${TARGET_DIR}/etc/systemd/system/multi-user.target.wants/dhcpcd.service
|
|
||||||
rm -rf ${TARGET_DIR}/usr/lib/systemd/system/dhcpcd.service
|
|
||||||
|
|
||||||
# Cleanup etc
|
# Cleanup etc
|
||||||
rm -rf ${TARGET_DIR}/etc/init.d
|
rm -rf ${TARGET_DIR}/etc/init.d
|
||||||
rm -rf ${TARGET_DIR}/etc/network
|
rm -rf ${TARGET_DIR}/etc/network
|
||||||
@ -20,6 +16,9 @@ function fix_rootfs() {
|
|||||||
# Cleanup miscs
|
# Cleanup miscs
|
||||||
rm -rf ${TARGET_DIR}/usr/lib/modules-load.d
|
rm -rf ${TARGET_DIR}/usr/lib/modules-load.d
|
||||||
|
|
||||||
|
# Fix: permission for system connection files
|
||||||
|
chmod 600 ${TARGET_DIR}/usr/share/system-connections/*
|
||||||
|
|
||||||
# Fix: tempfs with /srv
|
# Fix: tempfs with /srv
|
||||||
sed -i "/srv/d" ${TARGET_DIR}/usr/lib/tmpfiles.d/home.conf
|
sed -i "/srv/d" ${TARGET_DIR}/usr/lib/tmpfiles.d/home.conf
|
||||||
|
|
||||||
|
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
|
||||||
|
|
@ -75,8 +75,7 @@ endif
|
|||||||
|
|
||||||
ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
|
ifeq ($(BR2_PACKAGE_DHCP_CLIENT),y)
|
||||||
define DHCP_INSTALL_CLIENT
|
define DHCP_INSTALL_CLIENT
|
||||||
mkdir -p $(TARGET_DIR)/var/lib
|
mkdir -p $(TARGET_DIR)/var/lib/dhcp
|
||||||
(cd $(TARGET_DIR)/var/lib; ln -snf /tmp dhcp)
|
|
||||||
$(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \
|
$(INSTALL) -m 0755 -D $(DHCP_DIR)/client/dhclient \
|
||||||
$(TARGET_DIR)/sbin/dhclient
|
$(TARGET_DIR)/sbin/dhclient
|
||||||
$(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
|
$(INSTALL) -m 0644 -D package/dhcp/dhclient.conf \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user