mirror of
https://github.com/home-assistant/operating-system.git
synced 2025-07-28 15:36:29 +00:00
automatically fsck to repair issues after an unclean shutdown (#938)
* automatically fsck to repair partitions * add fsck.fat so rpi boot partition can be repaired * Use Wants= instead of Requires= Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch> * add dosfstools to all images * run hassos-data and hassos-expand after fsck Co-authored-by: Pascal Vizeli <pascal.vizeli@syshack.ch>
This commit is contained in:
parent
481a79eb28
commit
a8bad54efc
@ -106,3 +106,5 @@ BR2_PACKAGE_HASSIO=y
|
|||||||
BR2_PACKAGE_HASSIO_ARCH="amd64"
|
BR2_PACKAGE_HASSIO_ARCH="amd64"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_INTEL_E1000E=y
|
BR2_PACKAGE_INTEL_E1000E=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -100,3 +100,5 @@ BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
|||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_HARDKERNEL_BOOT=y
|
BR2_PACKAGE_HARDKERNEL_BOOT=y
|
||||||
BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C2=y
|
BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_C2=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -100,3 +100,5 @@ BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
|||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_HARDKERNEL_BOOT=y
|
BR2_PACKAGE_HARDKERNEL_BOOT=y
|
||||||
BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_N2=y
|
BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_N2=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -104,3 +104,5 @@ BR2_PACKAGE_HASSIO_ARCH="armv7"
|
|||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_HARDKERNEL_BOOT=y
|
BR2_PACKAGE_HARDKERNEL_BOOT=y
|
||||||
BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_XU4=y
|
BR2_PACKAGE_HARDKERNEL_BOOT_ODROID_XU4=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -96,3 +96,5 @@ BR2_PACKAGE_HOST_RAUC=y
|
|||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="amd64"
|
BR2_PACKAGE_HASSIO_ARCH="amd64"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -102,3 +102,5 @@ BR2_PACKAGE_HASSIO=y
|
|||||||
BR2_PACKAGE_HASSIO_ARCH="armhf"
|
BR2_PACKAGE_HASSIO_ARCH="armhf"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -100,3 +100,5 @@ BR2_PACKAGE_HOST_RAUC=y
|
|||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -102,3 +102,5 @@ BR2_PACKAGE_HASSIO=y
|
|||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -102,3 +102,5 @@ BR2_PACKAGE_HASSIO=y
|
|||||||
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -103,3 +103,5 @@ BR2_PACKAGE_HASSIO=y
|
|||||||
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
BR2_PACKAGE_HASSIO_ARCH="aarch64"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -103,3 +103,5 @@ BR2_PACKAGE_HASSIO=y
|
|||||||
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
BR2_PACKAGE_BLUETOOTH_BCM43XX=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -100,3 +100,5 @@ BR2_PACKAGE_HOST_RAUC=y
|
|||||||
BR2_PACKAGE_HASSIO=y
|
BR2_PACKAGE_HASSIO=y
|
||||||
BR2_PACKAGE_HASSIO_ARCH="armhf"
|
BR2_PACKAGE_HASSIO_ARCH="armhf"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -108,3 +108,5 @@ BR2_PACKAGE_HASSIO=y
|
|||||||
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
BR2_PACKAGE_HASSIO_ARCH="armv7"
|
||||||
BR2_PACKAGE_APPARMOR=y
|
BR2_PACKAGE_APPARMOR=y
|
||||||
BR2_PACKAGE_BLUETOOTH_RTL8723=y
|
BR2_PACKAGE_BLUETOOTH_RTL8723=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS=y
|
||||||
|
BR2_PACKAGE_DOSFSTOOLS_FSCK_FAT=y
|
||||||
|
@ -5,7 +5,7 @@ RefuseManualStart=true
|
|||||||
RefuseManualStop=true
|
RefuseManualStop=true
|
||||||
Requires=mnt-overlay.mount dev-disk-by\x2dlabel-hassos\x2ddata.device
|
Requires=mnt-overlay.mount dev-disk-by\x2dlabel-hassos\x2ddata.device
|
||||||
Wants=hassos-expand.service
|
Wants=hassos-expand.service
|
||||||
After=mnt-overlay.mount dev-disk-by\x2dlabel-hassos\x2ddata.device
|
After=mnt-overlay.mount dev-disk-by\x2dlabel-hassos\x2ddata.device systemd-fsck@dev-disk-by\x2dlabel-hassos\x2ddata.service
|
||||||
Before=hassos-expand.service
|
Before=hassos-expand.service
|
||||||
ConditionPathExists=/mnt/overlay/data.opt
|
ConditionPathExists=/mnt/overlay/data.opt
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ Before=mnt-data.mount
|
|||||||
RefuseManualStart=true
|
RefuseManualStart=true
|
||||||
RefuseManualStop=true
|
RefuseManualStop=true
|
||||||
Requires=dev-disk-by\x2dlabel-hassos\x2ddata.device
|
Requires=dev-disk-by\x2dlabel-hassos\x2ddata.device
|
||||||
After=dev-disk-by\x2dlabel-hassos\x2ddata.device
|
After=dev-disk-by\x2dlabel-hassos\x2ddata.device systemd-fsck@dev-disk-by\x2dlabel-hassos\x2ddata.service
|
||||||
|
|
||||||
[Service]
|
[Service]
|
||||||
Type=oneshot
|
Type=oneshot
|
||||||
|
@ -3,6 +3,8 @@ Description=HassOS boot partition
|
|||||||
DefaultDependencies=no
|
DefaultDependencies=no
|
||||||
Before=umount.target local-fs.target
|
Before=umount.target local-fs.target
|
||||||
Conflicts=umount.target
|
Conflicts=umount.target
|
||||||
|
After=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2dboot.service
|
||||||
|
Wants=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2dboot.service
|
||||||
|
|
||||||
[Mount]
|
[Mount]
|
||||||
What=/dev/disk/by-label/hassos-boot
|
What=/dev/disk/by-label/hassos-boot
|
||||||
|
@ -5,6 +5,8 @@ DefaultDependencies=no
|
|||||||
After=hassos-expand.service
|
After=hassos-expand.service
|
||||||
Before=umount.target local-fs.target
|
Before=umount.target local-fs.target
|
||||||
Conflicts=umount.target
|
Conflicts=umount.target
|
||||||
|
After=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2ddata.service
|
||||||
|
Wants=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2ddata.service
|
||||||
|
|
||||||
[Mount]
|
[Mount]
|
||||||
What=/dev/disk/by-label/hassos-data
|
What=/dev/disk/by-label/hassos-data
|
||||||
|
@ -3,6 +3,8 @@ Description=HassOS overlay partition
|
|||||||
DefaultDependencies=no
|
DefaultDependencies=no
|
||||||
Before=umount.target local-fs.target
|
Before=umount.target local-fs.target
|
||||||
Conflicts=umount.target
|
Conflicts=umount.target
|
||||||
|
After=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2doverlay.service
|
||||||
|
Wants=systemd-fsck@dev-disk-by\x2dlabel-hassos\x2doverlay.service
|
||||||
|
|
||||||
[Mount]
|
[Mount]
|
||||||
What=/dev/disk/by-label/hassos-overlay
|
What=/dev/disk/by-label/hassos-overlay
|
||||||
|
Loading…
x
Reference in New Issue
Block a user