From db184bf5d320b1bfd4afef65e654078df9a6dfbb Mon Sep 17 00:00:00 2001 From: Pascal Vizeli Date: Mon, 4 May 2020 15:11:43 +0200 Subject: [PATCH] Make machine-id persist (#649) * Make machine-id persist * update * Adjustments * cleanup * fix cleanups * small cleanup --- .../board/asus/tinker/uboot-boot.ush | 8 ++--- .../board/hardkernel/odroid-c2/uboot-boot.ush | 4 +-- .../board/hardkernel/odroid-n2/uboot-boot.ush | 4 +-- .../hardkernel/odroid-xu4/uboot-boot.ush | 4 +-- .../board/intel/nuc/hassos-hook.sh | 2 +- .../board/intel/ova/hassos-hook.sh | 2 +- .../board/raspberrypi/uboot-boot.ush | 4 +-- .../board/raspberrypi/uboot-boot64.ush | 4 +-- .../barebox-state-efi.dtb | Bin 1169 -> 1249 bytes .../barebox-state-efi.dts | 19 ++++++++--- .../bootloader/barebox/init/global_bootargs | 1 + .../{misc => bootloader}/mbr-part.rules | 0 .../{misc => bootloader}/mbr-spl.img | Bin .../{misc => bootloader}/mbr.img | Bin buildroot-external/ota/rauc-hook | 3 -- .../rootfs-overlay/etc/systemd/journald.conf | 2 -- .../hassos-persists-journald.service | 1 - .../hassos-persists.service | 1 + .../rootfs-overlay/etc/tmpfiles.d/data.conf | 4 +-- .../rootfs-overlay/etc/tmpfiles.d/nm.conf | 2 +- .../etc/tmpfiles.d/overlay.conf | 1 + .../system/hassos-persists-journald.service | 14 -------- .../systemd/system/hassos-persists.service | 13 ++++++++ .../lib/systemd/system/var-log-journal.mount | 6 ++-- .../usr/libexec/hassos-persists | 30 ++++++++++++++++++ .../usr/libexec/hassos-persists-journald | 19 ----------- buildroot-external/scripts/hdd-image.sh | 4 +-- buildroot-external/scripts/rauc.sh | 4 +-- scripts/update-dtb.sh | 2 +- 29 files changed, 87 insertions(+), 71 deletions(-) rename buildroot-external/{misc => bootloader}/barebox-state-efi.dtb (56%) rename buildroot-external/{misc => bootloader}/barebox-state-efi.dts (80%) rename buildroot-external/{misc => bootloader}/mbr-part.rules (100%) rename buildroot-external/{misc => bootloader}/mbr-spl.img (100%) rename buildroot-external/{misc => bootloader}/mbr.img (100%) delete mode 120000 buildroot-external/rootfs-overlay/etc/systemd/system/multi-user.target.wants/hassos-persists-journald.service create mode 120000 buildroot-external/rootfs-overlay/etc/systemd/system/multi-user.target.wants/hassos-persists.service create mode 100644 buildroot-external/rootfs-overlay/etc/tmpfiles.d/overlay.conf delete mode 100644 buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists-journald.service create mode 100644 buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists.service create mode 100755 buildroot-external/rootfs-overlay/usr/libexec/hassos-persists delete mode 100755 buildroot-external/rootfs-overlay/usr/libexec/hassos-persists-journald diff --git a/buildroot-external/board/asus/tinker/uboot-boot.ush b/buildroot-external/board/asus/tinker/uboot-boot.ush index e882f60ff..c693c0e74 100644 --- a/buildroot-external/board/asus/tinker/uboot-boot.ush +++ b/buildroot-external/board/asus/tinker/uboot-boot.ush @@ -8,7 +8,7 @@ setenv loadbootstate " \ setenv storebootstate " \ echo 'storing env...'; \ - env export -c -s 0x8000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \ + env export -c -s 0x8000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \ mmc write ${ramdisk_addr_r} ${mmc_env} 0x40;" run loadbootstate @@ -17,11 +17,11 @@ 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 systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" # HassOS system A/B -setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro" -setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro" +setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro rootwait" +setenv bootargs_b "root=PARTUUID=a3ec664e-32ce-4665-95ea-7ae90ce9aa20 rootfstype=squashfs ro rootwait" # Load extraargs fileenv mmc ${devnum}:1 ${ramdisk_addr_r} cmdline.txt cmdline diff --git a/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush b/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush index 2a71bc289..d993c522e 100644 --- a/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush +++ b/buildroot-external/board/hardkernel/odroid-c2/uboot-boot.ush @@ -10,7 +10,7 @@ setenv loadbootstate " \ setenv storebootstate " \ echo 'storing env...'; \ - env export -c -s 0x2000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \ + env export -c -s 0x2000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \ mmc write ${ramdisk_addr_r} ${mmc_env} 0x10;" run loadbootstate @@ -27,7 +27,7 @@ if test "${m}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; fi setenv bootargs_odroidc2 "no_console_suspend hdmimode=${m} ${cmode} m_bpp=${m_bpp} vout=${vout} net.ifnames=0 elevator=noop disablehpd=${hpd} max_freq=${max_freq} maxcpus=${maxcpus} monitor_onoff=${monitor_onoff} disableuhs=${disableuhs} mmc_removable=${mmc_removable} usbmulticam=${usbmulticam}" # HassOS bootargs -setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" # HassOS system A/B setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait" diff --git a/buildroot-external/board/hardkernel/odroid-n2/uboot-boot.ush b/buildroot-external/board/hardkernel/odroid-n2/uboot-boot.ush index e5ddb09b5..c044733d7 100644 --- a/buildroot-external/board/hardkernel/odroid-n2/uboot-boot.ush +++ b/buildroot-external/board/hardkernel/odroid-n2/uboot-boot.ush @@ -10,7 +10,7 @@ setenv loadbootstate " \ setenv storebootstate " \ echo 'storing env...'; \ - env export -c -s 0x2000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \ + env export -c -s 0x2000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \ mmc write ${ramdisk_addr_r} ${mmc_env} 0x10;" run loadbootstate @@ -29,7 +29,7 @@ if test "${hdmimode}" = "custombuilt"; then setenv cmode "modeline=${modeline}"; setenv bootargs_odroidn2 "clk_ignore_unused hdmimode=${hdmimode} cvbsmode=576cvbs max_freq_a53=${max_freq_a53} max_freq_a73=${max_freq_a73} maxcpus=${maxcpus} ${cmode} voutmode=${voutmode} disablehpd=${disablehpd} overscan=${overscan}" # HassOS bootargs -setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" # HassOS system A/B setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait" diff --git a/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush b/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush index 03459ece1..79727b7ad 100644 --- a/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush +++ b/buildroot-external/board/hardkernel/odroid-xu4/uboot-boot.ush @@ -12,7 +12,7 @@ setenv loadbootstate " \ setenv storebootstate " \ echo 'storing env...'; \ - env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \ + env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \ mmc write ${ramdisk_addr_r} ${mmc_env} 0x20;" run loadbootstate @@ -33,7 +33,7 @@ if test "${external_watchdog}" = "true"; then setenv external_watchdog "external setenv bootargs_odroidxu4 "${videoconfig} ${hdmi_phy_control} ${hid_quirks} smsc95xx.macaddr=${macaddr} ${external_watchdog}" # HassOS bootargs -setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" # HassOS system A/B setenv bootargs_a "root=PARTUUID=48617373-06 rootfstype=squashfs ro rootwait" diff --git a/buildroot-external/board/intel/nuc/hassos-hook.sh b/buildroot-external/board/intel/nuc/hassos-hook.sh index e1a22cdbe..9042beacf 100755 --- a/buildroot-external/board/intel/nuc/hassos-hook.sh +++ b/buildroot-external/board/intel/nuc/hassos-hook.sh @@ -8,7 +8,7 @@ function hassos_pre_image() { mkdir -p "${BOOT_DATA}/EFI/barebox" cp "${BINARIES_DIR}/barebox.bin" "${BOOT_DATA}/EFI/BOOT/BOOTx64.EFI" - cp "${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb" "${BOOT_DATA}/EFI/barebox/state.dtb" + cp "${BR2_EXTERNAL_HASSOS_PATH}/bootloader/barebox-state-efi.dtb" "${BOOT_DATA}/EFI/barebox/state.dtb" echo "console=tty1" > "${BOOT_DATA}/cmdline.txt" } diff --git a/buildroot-external/board/intel/ova/hassos-hook.sh b/buildroot-external/board/intel/ova/hassos-hook.sh index 532ad6130..07976f1ec 100755 --- a/buildroot-external/board/intel/ova/hassos-hook.sh +++ b/buildroot-external/board/intel/ova/hassos-hook.sh @@ -8,7 +8,7 @@ function hassos_pre_image() { mkdir -p "${BOOT_DATA}/EFI/barebox" cp "${BINARIES_DIR}/barebox.bin" "${BOOT_DATA}/EFI/BOOT/BOOTx64.EFI" - cp "${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb" "${BOOT_DATA}/EFI/barebox/state.dtb" + cp "${BR2_EXTERNAL_HASSOS_PATH}/bootloader/barebox-state-efi.dtb" "${BOOT_DATA}/EFI/barebox/state.dtb" echo "console=tty1" > "${BOOT_DATA}/cmdline.txt" } diff --git a/buildroot-external/board/raspberrypi/uboot-boot.ush b/buildroot-external/board/raspberrypi/uboot-boot.ush index 5abdcd47e..750940d43 100644 --- a/buildroot-external/board/raspberrypi/uboot-boot.ush +++ b/buildroot-external/board/raspberrypi/uboot-boot.ush @@ -9,7 +9,7 @@ setenv loadbootstate " \ setenv storebootstate " \ echo 'storing env...'; \ - env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \ + env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \ ${devtype} write ${ramdisk_addr_r} ${dev_env} 0x20;" run loadbootstate @@ -18,7 +18,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 cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" # HassOS system A/B setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro" diff --git a/buildroot-external/board/raspberrypi/uboot-boot64.ush b/buildroot-external/board/raspberrypi/uboot-boot64.ush index 255229e80..2adacf3b8 100644 --- a/buildroot-external/board/raspberrypi/uboot-boot64.ush +++ b/buildroot-external/board/raspberrypi/uboot-boot64.ush @@ -9,7 +9,7 @@ setenv loadbootstate " \ setenv storebootstate " \ echo 'storing env...'; \ - env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT; \ + env export -c -s 0x4000 ${ramdisk_addr_r} BOOT_ORDER BOOT_A_LEFT BOOT_B_LEFT MACHINE_ID; \ ${devtype} write ${ramdisk_addr_r} ${dev_env} 0x20;" run loadbootstate @@ -18,7 +18,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 cgroup_enable=memory" +setenv bootargs_hassos "zram.enabled=1 zram.num_devices=3 apparmor=1 security=apparmor rootwait systemd.machine_id=${MACHINE_ID} cgroup_enable=memory" # HassOS system A/B setenv bootargs_a "root=PARTUUID=8d3d53e3-6d49-4c38-8349-aff6859e82fd rootfstype=squashfs ro" diff --git a/buildroot-external/misc/barebox-state-efi.dtb b/buildroot-external/bootloader/barebox-state-efi.dtb similarity index 56% rename from buildroot-external/misc/barebox-state-efi.dtb rename to buildroot-external/bootloader/barebox-state-efi.dtb index 7fcc3137cc276b0b0f2515f1075ef5c6a8d450fb..58d2cf9ec85f2886f0ce3e127484d723e2d91ec8 100644 GIT binary patch delta 110 zcmbQp`H)lK0`I@K3=Av}85kHWfOO160Wl^Pm5my&nLHVD6O%JC^HSq8QydIUfC_+s q8HhQ6I0=YFfLH~HL1OGc>{MJ*l$n; #size-cells = <1>; - magic = <0xef98423f>; - compatible = "barebox,state"; - backend = <&backend_state>; - backend-type = "raw"; - backend-stridesize = <4048>; + + magic = <0xef98423f>; + compatible = "barebox,state"; + backend = <&backend_state>; + backend-type = "raw"; + backend-stridesize = <4048>; bootstate { #address-cells = <1>; @@ -32,6 +33,7 @@ default = <20>; }; }; + B { #address-cells = <1>; #size-cells = <1>; @@ -46,11 +48,18 @@ default = <10>; }; }; + last_chosen@10 { reg = <0x10 0x4>; type = "uint32"; }; }; + + machine_id@14 { + reg = <0x14 0x24>; + type = "string"; + default = ""; + }; }; partitions { diff --git a/buildroot-external/bootloader/barebox/init/global_bootargs b/buildroot-external/bootloader/barebox/init/global_bootargs index f2cf669cb..183814bb7 100644 --- a/buildroot-external/bootloader/barebox/init/global_bootargs +++ b/buildroot-external/bootloader/barebox/init/global_bootargs @@ -3,3 +3,4 @@ global linux.bootargs.zram="zram.enabled=1 zram.num_devices=3" global linux.bootargs.apparmor="apparmor=1 security=apparmor" global linux.bootargs.misc="rootwait" +global linux.bootargs.systemd="systemd.machine_id=${state.machine_id}" diff --git a/buildroot-external/misc/mbr-part.rules b/buildroot-external/bootloader/mbr-part.rules similarity index 100% rename from buildroot-external/misc/mbr-part.rules rename to buildroot-external/bootloader/mbr-part.rules diff --git a/buildroot-external/misc/mbr-spl.img b/buildroot-external/bootloader/mbr-spl.img similarity index 100% rename from buildroot-external/misc/mbr-spl.img rename to buildroot-external/bootloader/mbr-spl.img diff --git a/buildroot-external/misc/mbr.img b/buildroot-external/bootloader/mbr.img similarity index 100% rename from buildroot-external/misc/mbr.img rename to buildroot-external/bootloader/mbr.img diff --git a/buildroot-external/ota/rauc-hook b/buildroot-external/ota/rauc-hook index 73b2e0e3a..de24bf499 100755 --- a/buildroot-external/ota/rauc-hook +++ b/buildroot-external/ota/rauc-hook @@ -31,8 +31,5 @@ fi ## # Fixups -# Rename CLI Hass.io -sed -i "s/hassio:172.30.32.2/supervisor:172.30.32.2/g" /mnt/data/hassos.json - exit 0 diff --git a/buildroot-external/rootfs-overlay/etc/systemd/journald.conf b/buildroot-external/rootfs-overlay/etc/systemd/journald.conf index 76991c0c7..979f7e0fc 100644 --- a/buildroot-external/rootfs-overlay/etc/systemd/journald.conf +++ b/buildroot-external/rootfs-overlay/etc/systemd/journald.conf @@ -1,5 +1,3 @@ [Journal] Storage=auto Compress=yes -SystemMaxUse=12M -RuntimeMaxUse=10M diff --git a/buildroot-external/rootfs-overlay/etc/systemd/system/multi-user.target.wants/hassos-persists-journald.service b/buildroot-external/rootfs-overlay/etc/systemd/system/multi-user.target.wants/hassos-persists-journald.service deleted file mode 120000 index fdc4db7b8..000000000 --- a/buildroot-external/rootfs-overlay/etc/systemd/system/multi-user.target.wants/hassos-persists-journald.service +++ /dev/null @@ -1 +0,0 @@ -/usr/lib/systemd/system/hassos-persists-journald.service \ No newline at end of file diff --git a/buildroot-external/rootfs-overlay/etc/systemd/system/multi-user.target.wants/hassos-persists.service b/buildroot-external/rootfs-overlay/etc/systemd/system/multi-user.target.wants/hassos-persists.service new file mode 120000 index 000000000..fae7b5b9c --- /dev/null +++ b/buildroot-external/rootfs-overlay/etc/systemd/system/multi-user.target.wants/hassos-persists.service @@ -0,0 +1 @@ +/usr/lib/systemd/system/hassos-persists.service \ No newline at end of file diff --git a/buildroot-external/rootfs-overlay/etc/tmpfiles.d/data.conf b/buildroot-external/rootfs-overlay/etc/tmpfiles.d/data.conf index 1e8e1e876..4ae2fceef 100644 --- a/buildroot-external/rootfs-overlay/etc/tmpfiles.d/data.conf +++ b/buildroot-external/rootfs-overlay/etc/tmpfiles.d/data.conf @@ -1,2 +1,2 @@ -d /mnt/data/supervisor -d /mnt/data/cli +d /mnt/data/supervisor - root root - +R /mnt/data/cli - - - - diff --git a/buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf b/buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf index 08720f923..85031800c 100644 --- a/buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf +++ b/buildroot-external/rootfs-overlay/etc/tmpfiles.d/nm.conf @@ -1,3 +1,3 @@ # Cleanup lease files e /var/lib/NetworkManager/*.lease - - - 14d -f /run/resolv.conf - - - - +f /run/resolv.conf - root root - diff --git a/buildroot-external/rootfs-overlay/etc/tmpfiles.d/overlay.conf b/buildroot-external/rootfs-overlay/etc/tmpfiles.d/overlay.conf new file mode 100644 index 000000000..7620e927b --- /dev/null +++ b/buildroot-external/rootfs-overlay/etc/tmpfiles.d/overlay.conf @@ -0,0 +1 @@ +R /mnt/overlay/var/log/journal - - - - \ No newline at end of file diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists-journald.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists-journald.service deleted file mode 100644 index 1a19fa6b0..000000000 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists-journald.service +++ /dev/null @@ -1,14 +0,0 @@ -[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/libexec/hassos-persists-journald -RemainAfterExit=true - -[Install] -WantedBy=multi-user.target diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists.service b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists.service new file mode 100644 index 000000000..33d0cee1c --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/hassos-persists.service @@ -0,0 +1,13 @@ +[Unit] +Description=HassOS persists data on bootstate +After=sysinit.target +RefuseManualStart=true +RefuseManualStop=true + +[Service] +Type=oneshot +ExecStart=/usr/libexec/hassos-persists +RemainAfterExit=true + +[Install] +WantedBy=multi-user.target diff --git a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/var-log-journal.mount b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/var-log-journal.mount index d665df131..83d87b76c 100644 --- a/buildroot-external/rootfs-overlay/usr/lib/systemd/system/var-log-journal.mount +++ b/buildroot-external/rootfs-overlay/usr/lib/systemd/system/var-log-journal.mount @@ -1,11 +1,11 @@ [Unit] Description=Systemd persistent logging -Requires=mnt-overlay.mount -After=mnt-overlay.mount +Requires=mnt-data.mount +After=mnt-data.mount Before=systemd-journal-flush.service [Mount] -What=/mnt/overlay/var/log/journal +What=/mnt/data/logs Where=/var/log/journal Type=None Options=bind diff --git a/buildroot-external/rootfs-overlay/usr/libexec/hassos-persists b/buildroot-external/rootfs-overlay/usr/libexec/hassos-persists new file mode 100755 index 000000000..3b71b09ba --- /dev/null +++ b/buildroot-external/rootfs-overlay/usr/libexec/hassos-persists @@ -0,0 +1,30 @@ +#!/bin/sh +set -e + +MACHINE_ID=$(cat /etc/machine-id) + +### +# u-boot +if [ -e /usr/sbin/fw_setenv ]; then + + # machine-id + if [ "$(fw_printenv -n MACHINE_ID)" != "${MACHINE_ID}" ]; then + echo "[info] set machine-id to ${MACHINE_ID}" + fw_setenv MACHINE_ID "${MACHINE_ID}" + else + echo "[info] machine-id is okay" + fi + +### +# Barebox +else + + # machine-id + if [ "$(barebox-state -g state.machine_id -i /etc/barebox-state.dtb)" != "${MACHINE_ID}" ]; then + echo "[info] set machine-id to ${MACHINE_ID}" + barebox-state -s "state.machine_id=${MACHINE_ID}" -i /etc/barebox-state.dtb + else + echo "[info] machine-id is okay" + fi + +fi diff --git a/buildroot-external/rootfs-overlay/usr/libexec/hassos-persists-journald b/buildroot-external/rootfs-overlay/usr/libexec/hassos-persists-journald deleted file mode 100755 index c85c5812f..000000000 --- a/buildroot-external/rootfs-overlay/usr/libexec/hassos-persists-journald +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/sh -set -e - -MACHINE_ID=$(cat /etc/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 diff --git a/buildroot-external/scripts/hdd-image.sh b/buildroot-external/scripts/hdd-image.sh index 626562604..7b3416276 100755 --- a/buildroot-external/scripts/hdd-image.sh +++ b/buildroot-external/scripts/hdd-image.sh @@ -269,7 +269,7 @@ function _fix_disk_hyprid() { local hdd_img="$(hassos_image_name img)" sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" "${hdd_img}" - dd if="${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr.img" of="${hdd_img}" conv=notrunc bs=512 count=1 + dd if="${BR2_EXTERNAL_HASSOS_PATH}/bootloader/mbr.img" of="${hdd_img}" conv=notrunc bs=512 count=1 } @@ -278,7 +278,7 @@ function _fix_disk_spl_gpt() { local spl_img="$(path_spl_img)" sgdisk -t 1:"E3C9E316-0B5C-4DB8-817D-F92DF00215AE" "${hdd_img}" - dd if="${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-spl.img" of="${hdd_img}" conv=notrunc bs=512 count=1 + dd if="${BR2_EXTERNAL_HASSOS_PATH}/bootloader/mbr-spl.img" of="${hdd_img}" conv=notrunc bs=512 count=1 dd if="${spl_img}" of="${hdd_img}" conv=notrunc bs=512 seek=2 skip=2 } diff --git a/buildroot-external/scripts/rauc.sh b/buildroot-external/scripts/rauc.sh index 197dbfede..0fadf6554 100755 --- a/buildroot-external/scripts/rauc.sh +++ b/buildroot-external/scripts/rauc.sh @@ -81,12 +81,12 @@ function install_bootloader_config() { # shellcheck disable=SC1117 echo -e "/dev/disk/by-partlabel/hassos-bootstate\t0x0000\t${BOOT_ENV_SIZE}" > "${TARGET_DIR}/etc/fw_env.config" else - cp -f "${BR2_EXTERNAL_HASSOS_PATH}/misc/barebox-state-efi.dtb" "${TARGET_DIR}/etc/barebox-state.dtb" + cp -f "${BR2_EXTERNAL_HASSOS_PATH}/bootloader/barebox-state-efi.dtb" "${TARGET_DIR}/etc/barebox-state.dtb" fi # Fix MBR if [ "${BOOT_SYS}" == "mbr" ]; then mkdir -p "${TARGET_DIR}/usr/lib/udev/rules.d" - cp -f "${BR2_EXTERNAL_HASSOS_PATH}/misc/mbr-part.rules" "${TARGET_DIR}/usr/lib/udev/rules.d/" + cp -f "${BR2_EXTERNAL_HASSOS_PATH}/bootloader/mbr-part.rules" "${TARGET_DIR}/usr/lib/udev/rules.d/" fi } diff --git a/scripts/update-dtb.sh b/scripts/update-dtb.sh index b4eaeacbd..8e91e5cb8 100755 --- a/scripts/update-dtb.sh +++ b/scripts/update-dtb.sh @@ -1,5 +1,5 @@ #!/bin/sh ## OVA -dtc -@ -I dts -O dtb -o buildroot-external/misc/barebox-state-efi.dtb buildroot-external/misc/barebox-state-efi.dts +dtc -@ -I dts -O dtb -o buildroot-external/bootloader/barebox-state-efi.dtb buildroot-external/bootloader/barebox-state-efi.dts