integ/ostree/initramfs-ostree/debian/patches/0005-init-ostree-install.sh-break-hardlinks-in-var.patch
Robert Church 95a9d2d699 Make root and var filesystems LVM based
Add two patches to update the init and lat-installer scripts to
- fully parameterize ostree boot and root devices for A and B locations
  so that devices can be specified
- add support for specifying an ostree var device that will be used for
  the dynamic R/W data. This was previously specified by a hard coded
  'LABEL=fluxdata' partition.

Rename patches 0003-0008 as former patch 0002 was removed with a
previous commit.

Test Plan:
- PASS: BIOS AIO-SX
- PASS: UEFI AIO-SX
- PASS: BIOS 2+2+2
- SKIP: secure boot, not ready for Stx8.0
- PASS: AIO-SX upgrade
- PASS: duplex upgrade
- PASS: DC subcloud install (virtual test)

Change-Id: I9fbe3fc89b05743b9c6090c05d3d011e2ba48eda
Story: 2010444
Task: 46883
Signed-off-by: Robert Church <robert.church@windriver.com>
2022-11-22 12:51:47 +02:00

40 lines
1.7 KiB
Diff

From: Zhang Xiao <xiao.zhang@windriver.com>
Date: Sat, 6 Aug 2022 12:39:16 +0000
Subject: init-ostree-install.sh: break hardlinks in /var
Here the root filesystem is managed by OSTree. OSTree is designed to
manage/deploy read-only filesystem. For read-only filesystem, hardlink
all files with same content is safe and can save disk space. It is a
good principle for readonly folders like /bin, /lib and so on. While
"/var" is somehow special that it is designed to store variable data
files, it can not be read-only, it must be read-write. Files in
"/var" should not be hardlinked together like other folders, break
them to make it.
Do the same for /usr/homedirs/home as it gets mounted at /var/home
at runtime.
Signed-off-by: Zhang Xiao <xiao.zhang@windriver.com>
---
init-ostree-install.sh | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/init-ostree-install.sh b/init-ostree-install.sh
index befeac7..46a0c08 100644
--- a/init-ostree-install.sh
+++ b/init-ostree-install.sh
@@ -1480,11 +1480,11 @@ else
mount -o $mount_flags LABEL=fluxdata /var1
fi
if [ -d ${PHYS_SYSROOT}/ostree/1/var ] ; then
- tar -C ${PHYS_SYSROOT}/ostree/1/var/ --xattrs --xattrs-include='*' -cf - . | \
+ tar -C ${PHYS_SYSROOT}/ostree/1/var/ --hard-dereference --xattrs --xattrs-include='*' -cf - . | \
tar --xattrs --xattrs-include='*' -xf - -C /var1 2> /dev/null
fi
if [ -d ${PHYS_SYSROOT}/ostree/1/usr/homedirs/home ] ; then
- tar -C ${PHYS_SYSROOT}/ostree/1/usr/homedirs/home --xattrs --xattrs-include='*' -cf - . | \
+ tar -C ${PHYS_SYSROOT}/ostree/1/usr/homedirs/home --hard-dereference --xattrs --xattrs-include='*' -cf - . | \
tar --xattrs --xattrs-include='*' -xf - -C /var1/home 2> /dev/null
fi