Compare commits

..

9 Commits
1.1 ... 1.2

Author SHA1 Message Date
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
9 changed files with 45 additions and 9 deletions

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 test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
# HassOS bootargs # 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 # HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro" setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"

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 test -n "${BOOT_B_LEFT}" || setenv BOOT_B_LEFT 3
# HassOS bootargs # 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 # HassOS system A/B
setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro" setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro"

View File

@@ -1,5 +1,5 @@
VERSION_MAJOR=1 VERSION_MAJOR=1
VERSION_BUILD=1 VERSION_BUILD=2
HASSOS_NAME="HassOS" HASSOS_NAME="HassOS"
HASSOS_ID="hassos" HASSOS_ID="hassos"

View File

@@ -0,0 +1 @@
/usr/lib/systemd/system/hassos-persists-journald.service

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

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

View File

@@ -1,6 +1,6 @@
#!/bin/sh #!/bin/sh
if ! findfs LABEL="config" > /dev/null; then if ! findfs LABEL="CONFIG" > /dev/null; then
echo "[Warning] No config partition found" echo "[Warning] No config partition found"
exit 0 exit 0
fi fi
@@ -19,6 +19,7 @@ if [ -d /mnt/config/network ]; then
rm -rf /etc/NetworkManager/system-connections/* rm -rf /etc/NetworkManager/system-connections/*
cp -f /mnt/config/network/* /etc/NetworkManager/system-connections/ cp -f /mnt/config/network/* /etc/NetworkManager/system-connections/
chmod 600 /etc/NetworkManager/system-connections/*
nmcli con reload nmcli con reload
fi fi
@@ -48,7 +49,8 @@ fi
## ##
# Firmware update # 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" echo "[Info] Performe a firmware update"
rauc_filename=$(ls /mnt/config/*.raucb | head -n 1) rauc_filename=$(ls /mnt/config/*.raucb | head -n 1)

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

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